WooCommerce EU VAT Number

WooCommerce EU VAT Number

Collect and validate EU VAT numbers on WooCommerce checkout. Automatically exempt VAT for valid numbers. Add all EU countries VAT standard rates to WooCommerce

Description

When enabled, WooCommerce EU VAT Number module lets you collect and validate EU VAT numbers on WooCommerce checkout and automatically (if necessary) exempt VAT for valid numbers. You can also add predefined set of 28 European Union countries standard VAT rates to WooCommerce.

Collecting and Validating EU VAT Numbers

You should start by visiting module’s settings at WooCommerce > Settings > Booster > Emails & Misc. > EU VAT Number

WooCommerce EU VAT Number Module Options

Field Label
Field label on shop’s checkout (frontend).

Default: EU VAT Number
Placeholder
Field placeholder on shop’s checkout.

Default: EU VAT Number
Required
Should the field be required for customer to fill on checkout?

Default: No
Clear
CSS clear after the field.

Default: Yes
Class
CSS class.

Default: Wide
Validate
Should the VAT be validated? VAT is validated through “VAT Information Exchange System (VIES)”.

Default: Yes
Message on Not Valid
Message to the customer if VAT is not valid.

Default: EU VAT Number is not valid.
Disable VAT for Valid Numbers
Subtract VAT from order for validated numbers.

Default: Yes
Preserve VAT in Base Country
This will prevent from subtracting the VAT for validated customers with billing country same as shop’s base country.

Default: No
Check for IP Location Country
Allow only customers located in country to enter that country’s VAT code. Customer is located by IP.

Default: No

Adding customer’s EU VAT Number to PDF Invoices

This can be done with wcj_order_checkout_field shortcode


EU Countries VAT Rates Tool

List of EU VAT rates to be added

Country Rate
AT – Austria 20%
BE – Belgium 21%
BG – Bulgaria 20%
CY – Cyprus 19%
CZ – Czech Republic 21%
DE – Germany 19%
DK – Denmark 25%
EE – Estonia 20%
ES – Spain 21%
10 FI – Finland 24%
11 FR – France 20%
12 GB – United Kingdom (UK) 20%
13 GR – Greece 23%
14 HU – Hungary 27%
15 HR – Croatia 25%
16 IE – Republic of Ireland 23%
17 IT – Italy 22%
18 LT – Lithuania 21%
19 LU – Luxembourg 17%
20 LV – Latvia 21%
21 MT – Malta 18%
22 NL – Netherlands 21%
23 PL – Poland 23%
24 PT – Portugal 23%
25 RO – Romania 19%
26 SE – Sweden 25%
27 SI – Slovenia 22%
28 SK – Slovakia 20%

Accessible through:

  • WooCommerce > Settings > Booster > Emails & Misc. > EU VAT Number

Tested on WooCommerce 4.0.0 and WordPress 5.3.2Plugin can be downloaded here. If there are any locked fields in the module, you will need to get Booster Plus to unlock them.

WooCommerce Booster ModulesWooCommerce EU VAT Number

#comment>

#comment>

#comment>#comment>#comment>

Leave a Reply Click here to cancel reply.

#comment>

Comments

46 Comments

  1. Casper January 3, 2020 at 9:25 am#comment>

    Hi,
    I’m a happy user of your Booster Plus plugin.

    Now I want to hide the VAT field (and accompanying labels and text) from the checkout page when the cart value is zero.
    Also the VAT validation process should be disabled in this case.

    Can you help me with a code snippet to get this done ?

    PS : I’m also using your invoice feature. In the same case – when cart value is zero – no invoice should be created.

    Reply to thread

    #comment>#comment>#comment>Avatar#comment>

    • RokasJ January 8, 2020 at 6:29 pm#comment>

      Hi Casper,

      Unfortunately it’s not currently possible to hide the VAT field when the cart total is zero but we have added it to our todo list. To not generate invoices please enable “Do not create if order total equals zero” option in module settings.

      Best regards,
      Rokas – Support Team

      #comment>#comment>Avatar#comment>

    • #comment>

    #comment>

  2. #comment>

  3. Javier December 7, 2019 at 9:27 am#comment>

    Hi! We were thinking in buying the unlimited/lifetime version of Booster Plus, and we wonder if you could add the following features:

    1. When enabling “WooCommerce EU VAT Number” this field could appear in the customer profile, so the admin can change it if necessary.

    2. At least in Spain, we need to invoice all of our customers, so they need to input personal (ID card number) or business (NIF/VAT) identification number. If the same field could be used to input any type of this data, would be great, as less fields would appear in the Billing address. The field could still validate if any VAT number is correct, but keep the data even if it is not validated (a little text should appear to notice the customer).

    3. This field should appear in the invoice.

    Thank you!

    Reply to thread

    #comment>#comment>#comment>Avatar#comment>

  4. #comment>

  5. Mike September 28, 2019 at 12:28 am#comment>

    Is there a way to remove the VAT field for non-EU countries during checkout?

    Reply to thread

    #comment>#comment>#comment>Avatar#comment>

    • RokasJ September 28, 2019 at 9:38 am#comment>

      Hi Mike,

      Unfortunately that is not possible yet but it’s in our to-do list.

      Best regards,
      Rokas – Support Team

      #comment>#comment>Avatar#comment>

    • #comment>

    #comment>

  6. #comment>

  7. Chantal September 26, 2019 at 9:07 am#comment>

    Hi,

    EU VAT number validation is done at checkout. Is it possible to call the function after submitting a form? We are working on a project where resellers have to register and they enter their VAT number at registration using GravityForms.

    Reply to thread

    #comment>#comment>#comment>Avatar#comment>

  8. #comment>

  9. Stefan July 9, 2019 at 12:20 pm#comment>

    Hi,

    The “Preserve VAT in Base Country” is not working correctly when lowercase is used in VAT.
    Example: When NL001234567B01 is used it works correctly and the VAT is preserved but when this is used nl001234567B01 the VAT is not being preserved.
    This is when the Base country is set to NL/Nederlands

    Reply to thread

    #comment>#comment>#comment>Avatar#comment>

  10. #comment>

  11. Robert June 20, 2019 at 6:47 am#comment>

    At present the VAT rate and/or VAT exemption is calculated on the basis of the invoice address. This is incorrect in my opinion; this should be based on the delivery address.

    Example:
    – a French company with valid French VAT nr buys something on our website, but has it delivered to a Dutch address
    – We are a Dutch shop, and if we deliver to a Dutch address, we should be applying 21% Dutch VAT
    – At present the Booster-module still calculates this as 0% VAT

    Can you comment or help with this?

    Reply to thread

    #comment>#comment>#comment>Avatar#comment>

    • RokasJ June 20, 2019 at 6:00 pm#comment>

      Hi Robert,

      Unfortunately this is not possible yet but we have added it to our todo list. You could also enable “Check for IP Location Country” option that would check if the company in your example is really purchasing from France.

      Best regards,
      Rokas – Support Team

      #comment>#comment>Avatar#comment>

    • #comment>

    • Robert June 21, 2019 at 8:21 am#comment>

      Hi Rokas,

      Thank you for your reply. It is nice to hear that you added this feature to you todo-list. Unfortunately the other suggestion (IP-location) would not be a solution to the issue which I addressed.

      Kind regards,
      Robert

      #comment>#comment>Avatar#comment>

    • #comment>

    #comment>

  12. #comment>

  13. Jan-Willem van Soest June 9, 2019 at 5:22 pm#comment>

    I have recently bought your plugin,

    However for the EU vat numbers i am missing to save the VAT number along other account details for returning customers.
    Can this feature be added, as all other billing info is saved.

    Would truly appreciate this, Thanks

    Reply to thread

    #comment>#comment>#comment>Avatar#comment>

    • RokasJ June 9, 2019 at 6:50 pm#comment>

      Hi,

      Thank you for your suggestion. We have added that to our to-do list.

      Best regards,
      Rokas – Support Team

      #comment>#comment>Avatar#comment>

    • #comment>

    #comment>

  14. #comment>

  15. Michael March 27, 2019 at 12:15 pm#comment>

    Hi,
    How do I move this field to the bottom of the checkuot page? Right now it is second last so it splits the account and password fields. I would like this to be just at the very bottom.

    Thanks.

    Reply to thread

    #comment>#comment>#comment>Avatar#comment>

    • RokasJ March 27, 2019 at 9:12 pm#comment>

      Hi Michael,

      Unfortunately it’s not currently possible to set priority of this field but we have added it to our todo list.

      Best regards,
      Rokas – Support Team

      #comment>#comment>Avatar#comment>

    • #comment>

    #comment>

  16. #comment>

  17. Jan Pieter January 15, 2019 at 10:42 pm#comment>

    Hi
    A customer of mine tells me that the VAT validation does not work. I checked the number he tried (a Spanish VAT number) in the VIES database and it shows to be valid. I checked the number therefore myself on the site and indeed is does not validate. I also checked other VAT numbers from clients.
    I deactivated all other plugin to check a conflict. But this has no effect. Only disabling the validation works but this is not what I want. So in fact the validation does not work anymore??
    Any advice?

    Thanks, Jan Pieter

    Reply to thread

    #comment>#comment>#comment>Avatar#comment>

    • RokasJ January 16, 2019 at 6:19 pm#comment>

      Hi,

      Could you contact us directly at support@booster.io? Thank you.

      Best regards,
      Rokas – Support Team

      #comment>#comment>Avatar#comment>

    • #comment>

    • vanderlugt February 26, 2019 at 11:39 pm#comment>

      Hi Rokas

      I still have some issues with this plugin but you do not respond on my emails? What is happening?

      Thanks JP

      #comment>#comment>Avatar#comment>

    • #comment>

    #comment>

  18. #comment>

  19. Thibault November 6, 2018 at 7:13 pm#comment>

    Hi, for an unexpected reason, changing class doesn’t change the VAT field position.

    It’s always placed on top of the form while I need it at the bottom.

    Do you use the Woocommerce priority values or another one. For information I moved both cart & checkout on the same page, but this shouldn’t affect the class behavior.

    Reply to thread

    #comment>#comment>#comment>Avatar#comment>

  20. #comment>

  21. matrix9 October 30, 2018 at 3:21 pm#comment>

    A curl error is present when this module of the booster plugin is active. I’ve tried changing the validation method to SOAP, cURL & Simple, but there is still a curl error in the WordPress environment. The error is “Background tasks: No – cURL error 28: Operation timed out after 2001 milliseconds with 0 bytes received.

    This error disappears when the module is inactive.

    Please advise.

    Reply to thread

    #comment>#comment>#comment>Avatar#comment>

    • RokasJ October 30, 2018 at 10:21 pm#comment>

      Hi,

      Can you contact us at support@booster.io

      Best regards,
      Rokas – Support Team

      #comment>#comment>Avatar#comment>

    • #comment>

    #comment>

  22. #comment>

  23. Steve InDzine August 23, 2018 at 9:41 am#comment>

    When running performance scans on my website, which has this module installed, I am getting a very slow post to admin-ajax with action=wcj_validate_eu_vat_number. It’s adding 1.4 seconds on to my page load time.

    Is there a way to make this only call admin-ajax when it is on a WooCommerce page?

    Reply to thread

    #comment>#comment>#comment>Avatar#comment>

    • Steve InDzine August 23, 2018 at 10:27 am#comment>

      For anyone looking to do this, I have used the following:

      add_action( ‘wp_enqueue_scripts’, ‘dequeue_woocommerce_styles_scripts’, 99 );
      function dequeue_woocommerce_styles_scripts() {
      if ( function_exists( ‘is_woocommerce’ ) ) {
      if ( ! is_woocommerce() && ! is_cart() && ! is_checkout() ) {
      wp_dequeue_script( ‘wcj-eu-vat-number’ );
      }
      }
      }

      #comment>#comment>Avatar#comment>

    • #comment>

    #comment>

  24. #comment>

  25. andrew June 1, 2018 at 10:43 am#comment>

    oh dear . . its Andrew again – all was working fine before – but now all is a big problem- i got a new order from Italy and same thing – the vat is not being validated and charged – and i can not remove it…

    so i change back to ccurl – and now still after purging cashes – nothing is removing the vat.

    Please help – urgently as my customers are compaling its a big hassle and putting them off.

    thanks – andrew

    Reply to thread

    #comment>#comment>#comment>Avatar#comment>

    • andrew farrugia September 5, 2018 at 3:38 pm#comment>

      hi my name is Andrew – i have booster installed – and VAT module activated – with settings exactly as above – but it is not working – please help

      #comment>#comment>Avatar#comment>

    • #comment>

    • Booster Support Team September 11, 2018 at 4:14 pm#comment>

      In case anyone else is having similar issues – as we figured out in private emails, VAT is not validating because “WooCommerce PayPal Powered by Braintree Payment Gateway” plugin is outputting some JS errors on checkout. As soon as we disabled “WooCommerce PayPal Powered by Braintree Payment Gateway” plugin – VAT validation started to work normally.

      #comment>#comment>Booster Support Team#comment>

    • #comment>

    • andrew September 12, 2018 at 4:34 pm#comment>

      hello – this is my update since my last thread – so my problem was – braintree – and booster ( vat validation ) – were not working side by side . . Not after contacting booster for woocommce help and supporrt – i have a situation where both plugins are now on . . . and vat validation works . . .but – t o make a payment by VISA using braintree ( linked to my gateway ) – the boxes all show up . . ( to enter cc details ) – but the site does not allow the user to enter the details . ( i spoke to brainree help and they say to come here for help ) =so im still stuck for VISA paymnts

      thanks andrew

      #comment>#comment>Avatar#comment>

    • #comment>

    #comment>

  26. #comment>

  27. andrew farrugia June 1, 2018 at 7:25 am#comment>

    hi i have a customer from Spain – and their vat number is validated on eures website – but it does not work my site – so i even tried making an order myself – with all their details and same thing . . then i tried changing the number from the admin panel – and click validate and remove taxes – and again nothing works – can you please help me as this is an important customer – and i need to get the system to validate their number – :} thanks –

    ES75962048V – this the vat number that is not getting validated –

    Reply to thread

    #comment>#comment>#comment>Avatar#comment>

    • andrwe June 1, 2018 at 7:40 am#comment>

      hi i think i found the fix – i changed Ccul to soap – in the first validation method – ( i think it works ) – so hope it helps others :}}

      #comment>#comment>Avatar#comment>

    • #comment>

    #comment>

  28. #comment>

  29. Kamil February 1, 2018 at 9:53 am#comment>

    Hello,
    How to change position of EU VAT number in emails? I add this code to the child theme in function.php:

    ###################### code ######################
    add_action(‘woocommerce_email_customer_details’,’add_custom_checkout_field_to_emails_notifications’, 25, 4 );
    function add_custom_checkout_field_to_emails_notifications( $order, $sent_to_admin, $plain_text, $email ) {

    $output = ”;
    $billing_eu_vat_number = get_post_meta( $order->id, ‘_billing_eu_vat_number’, true );

    if ( !empty($billing_eu_vat_number) )
    $output .= ‘‘ . __( “NIP:”, “woocommerce” ) . ‘‘ . $billing_eu_vat_number . ‘‘;

    echo $output;
    }
    ###################### code ######################

    but after add this code, there appears double info EU VAT number in e-mails. It display before billing section and after billing section.
    How to hide EU VAT number before billing section that Booster add automaticaly?

    Thank you for support!

    Reply to thread

    #comment>#comment>#comment>Avatar#comment>

  30. #comment>

  31. Kamil January 25, 2018 at 8:54 am#comment>

    Hello Tom,
    How do I display VAT number field in ‘My account’ pages so it can be edited by the customer? – It is possible? If customer can’t edit it is possible to only display VAT number in “My account”? Also how to change position of VAT number field in email that customer received right after make purchuase in shop like on this print screen prntscr.com/i5b43o ?

    Thank you for support.

    Reply to thread

    #comment>#comment>#comment>Avatar#comment>

    • Kamil January 26, 2018 at 5:47 pm#comment>

      Hello Tom,
      can you help?

      Regards
      Kamil

      #comment>#comment>Avatar#comment>

    • #comment>

    #comment>

  32. #comment>

  33. Wez September 11, 2017 at 10:17 am#comment>

    Do you plan to have a tax toggle feature so that trade customers view the trade price excluding the VAT.

    Reply to thread

    #comment>#comment>#comment>Avatar#comment>

  34. #comment>

  35. andrew May 24, 2017 at 4:58 pm#comment>

    hello from Malta – MT :]]] i love this booster – it will be a big help.. and i installed on my xtheme – with woocommerce..
    however on testing ( with valid vat numbers from my clients in Italy – none of them are being validated. – i made sure its CCXXXXXXX – no spaces – please help :]( my shop is still offline at the moment ) – im testing – but its all set up and im stuck with this :]]

    Reply to thread

    #comment>#comment>#comment>Avatar#comment>

    • Booster Support Team May 24, 2017 at 9:01 pm#comment>

      Hi Andrew,

      Is there any possibility for me login to your server and check it? If it’s offline – maybe we can do a Teamviewer session? My email is tom@booster.io

      Best regards,
      Tom

      #comment>#comment>Booster Support Team#comment>

    • #comment>

    #comment>

  36. #comment>

  37. Nathalie April 21, 2017 at 9:21 am#comment>

    Hi!

    Due to regulations in the Netherlands we are required to print a statement on the invoice when EU VAT redemption is applied. If EU VAT redemption is not applied, the statement must not be shown.
    How can I do this?

    Kind regards, Nathalie

    Reply to thread

    #comment>#comment>#comment>Avatar#comment>

  38. #comment>

  39. Neale March 30, 2017 at 11:21 am#comment>

    Hi…
    Is there a way I can have a toggle/switch which enables prices on the site to be shown with or without VAT added on products.
    I want our customers to be able to switch VAT prices on or off as they need it.

    Thanks, Neale

    Reply to thread

    #comment>#comment>#comment>Avatar#comment>

  40. #comment>

  41. Robin March 7, 2017 at 8:50 am#comment>

    Thanks but I tried to change the rates directly in WooCommerce> Settings> Tax> Standard Rates. Nothing change.

    The wrong rate is that of “la Reunion” (RE). This is a special case, the rate must be zero. The people of “la Reunion” pay a special tax called “octroi de mer”.

    Reply to thread

    #comment>#comment>#comment>Avatar#comment>

  42. #comment>

  43. Robin March 7, 2017 at 8:33 am#comment>

    Hello,

    How do I change the list of VAT rates by country? Indeed, some are false, they must be corrected.

    Reply to thread

    #comment>#comment>#comment>Avatar#comment>

    • Booster Support Team March 7, 2017 at 8:37 am#comment>

      Hi Robin,

      You can set/change VAT rates directly in WooCommerce > Settings > Tax > Standard Rates. Could you please let us know which VAT rates are wrong, so we could fix it in plugin?

      Best regards,
      Tom

      #comment>#comment>Booster Support Team#comment>

    • #comment>

    #comment>

  44. #comment>

  45. Bob March 2, 2017 at 2:06 pm#comment>

    How do I display this field in ‘My account’ pages so it can be edited by the customer?

    Reply to thread

    #comment>#comment>#comment>Avatar#comment>

  46. #comment>

  47. December 12, 2016 at 4:38 pm#comment>

    Hi, right now, we are using this “EU VAT Number” Plugin: https://woocommerce.com/products/eu-vat-number/

    To comply with tax laws, we need to disable Subtract VAT from order for validated numbers for events that are sold trough our online shop.

    Is it possible to make an exception (like “do not Subtract VAT from order even for validated numbers.”) with your plugin for specific products?

    Thanks for help!

    Reply to thread

    #comment>#comment>#comment>Avatar#comment>

  48. #comment>

  49. Paul July 2, 2016 at 9:08 am#comment>

    Hi,

    I ahve eanbled the EU-vat check but my vat number is always wrong 🙂
    What can be the problem?

    Reply to thread

    #comment>#comment>#comment>Avatar#comment>

    • Booster Support Team July 6, 2016 at 3:05 pm#comment>

      Hi,

      Please make sure that you are entering VAT number in CCXXXXXXX format, where CC is country code, XXXXXXX is the number and without spaces between them. If that is not the case please contact me at tom@booster.io for further support.

      Best regards,
      Tom

      #comment>#comment>Booster Support Team#comment>

    • #comment>

    #comment>

  50. #comment>

  51. Raul April 19, 2016 at 8:06 am#comment>

    How can I had the VAT Number to the new order email alert? Thank you.

    Reply to thread

    #comment>#comment>#comment>Avatar#comment>

    • Booster Support Team April 19, 2016 at 3:59 pm#comment>

      Hi,

      We’ve added EU VAT number to emails in our development version, please download it from here – http://booster.io/dev/. Please let me know if that works as expected.

      P.S. You will need to uninstall the old version first (don’t worry your saved settings won’t disappear).

      Best regards,
      Tom

      #comment>#comment>Booster Support Team#comment>

    • #comment>

    #comment>

  52. #comment>

  53. Gufix January 17, 2016 at 1:04 pm#comment>

    From 01.012016, in RO-Romania, the VAT value in 20%. Please make the undate.

    Reply to thread

    #comment>#comment>#comment>Avatar#comment>

  54. #comment>

#comment>#comment>#comment>#comment>

Leave a Reply

Your email address will not be published. Required fields are marked *

Fill out this field
Fill out this field
Please enter a valid email address.

This site uses Akismet to reduce spam. Learn how your comment data is processed.