• Under Portuguese tax law, when selling services:
    1) All Portuguese clients must pay VAT
    2) B2B EU clients are VAT exempt
    3) Other EU clients must pay VAT
    4) Clients from outside the EU that don’t provide a VAT number must pay VAT
    5) Clients from outside the EU that DO provide a VAT number are VAT exempt (never mind the validation if the number is correct or not)

    From 1) to 3) this plugin nails it perfectly.
    Anyone knows how to achieve 4) and 5)?

Viewing 5 replies - 1 through 5 (of 5 total)
  • Plugin Author Diego

    (@daigo75)

    Points #4 and #5 are outside the scope of the EU VAT Assistant, as the VAT MOSS regime only applies to EU consumers. Also, the validation of VAT numbers, which also applies an exemption, is only performed for EU countries.

    If you need to apply VAT to extra-EU countries, you can enter the appropriate VAT rate in WooCommerce > Settings > Tax page. That should cover your point #4, as customers will be charged the configured VAT. You can then write your custom logic to make a customer “VAT exempt” by writing filters for the following events:
    * woocommerce_checkout_update_order_review
    * woocommerce_checkout_process

    In the events, you can check if customer’s country is outside the EU (call WC()->customer->get_billing_country()) and if the VAT number field has been filled (field vat_number, from the POSTed data). If the check is positive, you can make the customer exempt by calling WC()->customer->set_is_vat_exempt(true).

    Please note that the above applies to the checkout page. For orders entered manually, you will have to set the order as VAT exempt (see https://www.ads-software.com/support/topic/how-to-disable-vat-when-recalculate-is-clicked/#post-11312354).

    If you need assistance implementing the above customisation, please feel free to contact us. We can gather all your requirements and prepare an estimate for you.

    Thread Starter Marco Almeida | Webdados

    (@webdados)

    @daigo75

    Thank you very much! This information is going to help me a lot.

    Thread Starter Marco Almeida | Webdados

    (@webdados)

    One more question: is it possible to keep your VAT field visible on the checkout for all countries? It’s being hidden for non-EU countries.

    Plugin Author Diego

    (@daigo75)

    The VAT Number is supposed to be used only for EU countries, therefore it’s always hidden for non-EU countries. There isn’t a setting to change this behaviour.

    If you need to prevent the field from being hidden, you could try assigning a display: block !important; style to the #vat_number_field element, on the checkout page. That should take priority over the style applied dynamically to hide the field.

    the third point ( 3 – Other EU clients must pay VAT ) doesn’t work for me, any ideas?

Viewing 5 replies - 1 through 5 (of 5 total)
  • The topic ‘Exempt VAT for countries outside EU if VAT field is not empty’ is closed to new replies.