Sale! Tested Updated Trending Bestseller Documented

EU VAT for WooCommerce

(20 customer reviews)

From: $29.99 / year

Manage EU VAT in WooCommerce. Beautifully.

$29.99 Single site1 year of updates and support30-day money-back guaranteeBuy
$49.99 Unlimited sites1 year of updates and support30-day money-back guaranteeBuy
$99.99 $79.99Unlimited sitesLifetime updates and support30-day money-back guaranteeBuy


With EU VAT for WooCommerce Pro plugin you can collect and validate EU VAT numbers on WooCommerce checkout. Optionally you can automatically disable VAT (i.e. exempt) for valid numbers.

Main Features

  • Multiple frontend options: field label, placeholder, description, position, country and user role visibility and more.
  • Multiple validation options: customizable frontend messages, option to validate but preserve VAT in selected countries, check matching customer’s country by IP, check matching company, allow VAT number input without country code etc.
  • Includes EU VAT report.
  • Plugin is WPML/Polylang compatible.
  • Includes EU country VAT rates tool – a tool to add all EU country VAT standard rates to WooCommerce.
  • VAT is automatically validated through service.

EU VAT for WooCommerce Plugin Options

Main plugin settings are located in “WooCommerce > Settings > EU VAT”.

Frontend Options

EU VAT for WooCommerce - Frontend Options

Field label
Label visible to the customer.
Default: EU VAT Number
Placeholder visible to the customer.
Default: EU VAT Number
Description visible to the customer.
Default: None
Sets if EU VAT field is required on checkout.
Default: no
Confirmation notice
Will add an additional confirmation notice on the checkout on empty VAT ID. For example you can enable this if EU VAT field is not required, but you still want to display a confirmation notice to the customer when no VAT ID was entered.
Default: no
Confirmation notice text
“Confirmation notice” must be enabled.
You didn't set your VAT ID. Are you sure you want to continue?
Priority (i.e. position)
Sets EU VAT field’s position in the billing section of the checkout page. Here are the default fields priorities: First name – 10, Last name – 20, Company – 30, Country – 40, Address 1 – 50, Address 2 – 60, City – 70, State – 80, Postcode – 90, Phone – 100, Email – 110.
Default: 200
Max length
Specifies the maximum number of characters allowed in the field. Ignored if set to zero.
Default: 0
CSS clear option.
Default: yes
CSS class
CSS class option. Possible values: Wide; First; Last.
Default: Wide
Label CSS class
Label CSS class option.
Default: None
Always show zero VAT
Will always show zero VAT amount in order review on checkout.
Default: no
Show field for selected countries only
Ignored if empty (i.e. field is shown for all countries). Enter country codes as comma separated list, e.g. to show field for EU VAT countries only enter:


Default: None
Show field for selected user roles only
Ignored if empty (i.e. field is shown for all user roles). Compatible with all (i.e. custom) WordPress user roles.
Default: None

Display Options

EU VAT for WooCommerce - Display Options

If empty – will display after order table. Possible values: After order table; In billing address.
Default: After order table

Validation Options

EU VAT for WooCommerce - Validation Options - v1.6.1

Enabled/disables EU VAT validation.
Default: yes
Message on not valid
Message will be displayed, when customer tries to checkout with invalid VAT number (“Validate” option must be enabled). Replaced value: %eu_vat_number%.
<strong>EU VAT Number</strong> is not valid.
First validation method
Change this if you are having issues when validating VAT. This only selects first method to try – if not succeeded, remaining methods will be used for validation. Possible values: SOAP; cURL; Simple.
Default: SOAP
Exempt VAT for valid numbers
Enables/disabled VAT exemption.
Default: yes
Preserve VAT in selected countries
This will validate the VAT, but won’t exempt VAT for selected countries. Country for “Base (i.e. store) country” option is set in “WooCommerce > Settings > General > Store Address”. Possible values: Base (i.e. store) country; Comma separated list; Disable.
Default: Disable
Preserve VAT in selected countries: Comma separated list
Enter country codes as comma separated list, e.g. IT,NL. Ignored unless “Comma separated list” option is selected above.
Default: None
Check country by IP
This will check if customer’s country (located by customer’s IP) matches the country in entered VAT number.
Default: no
Check company name
This will check if company name matches the VAT number.
Default: no
Check for matching billing country code
This will check if country code in VAT number matches billing country code.
Default: no
Allow VAT number input without country code
This will allow customers to enter VAT number without leading country code letters and still get VAT validated. In this case, country will be automatically retrieved from billing country input.
Default: no
Always exempt VAT for selected user roles
Ignored if empty.
Default: None
Always not exempt VAT for selected user roles
Ignored if empty.
Default: None
Skip VAT validation for selected countries
List all countries you want VAT validation to be skipped for (i.e. VAT always valid). Ignored if empty. Enter country codes as comma separated list, e.g. IT,NL.
Default: None

Progress Messages

EU VAT for WooCommerce - Progress Messages

Add progress messages
Enabled/disables progress messages on checkout.
Default: no
Message when validation is in progress.
Default: Validating VAT. Please wait...
Message on valid VAT.
Default: VAT is valid.
Not valid
Message on invalid VAT.
Default: VAT is not valid.
Validation failed
Message on VAT validation server timeout etc.
Default: Validation failed. Please try again.

Admin Options

EU VAT for WooCommerce - Admin Options

Meta box
Adds EU VAT number summary meta box to admin order edit page.
Default: no
Adds EU VAT number column to admin orders list.
Default: no

Advanced Options

EU VAT for WooCommerce - Advanced Options

Log will be added to “WooCommerce > Status > Logs”.
Default: no
Session type
Possible values: Standard PHP session; WC session.
Default: Standard PHP session

WPML/Polylang Compatibility

To translate field label, placeholder, description, all messages options etc. you can use [alg_wc_eu_vat_translate] shortcode by entering it directly in settings, e.g.:

[alg_wc_eu_vat_translate lang="DE,NL" lang_text="EU-Steuernummer" not_lang_text="EU VAT Number"]

or in more complex form:

[alg_wc_eu_vat_translate lang="DE"]EU-Steuernummer[/alg_wc_eu_vat_translate][alg_wc_eu_vat_translate lang="NL"]BTW nummer van de EU[/alg_wc_eu_vat_translate][alg_wc_eu_vat_translate not_lang="DE,NL"]EU VAT Number[/alg_wc_eu_vat_translate]

EU VAT Report

EU VAT report can be accessed via “WooCommerce > Reports > Taxes > EU VAT”.

EU VAT for WooCommerce - EU VAT report

EU country VAT Rates Tool

EU country VAT rates tool can be accessed via “Tools > EU country VAT Rates”.

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

20 reviews for EU VAT for WooCommerce

  1. Sander H (verified owner)

    Excellent plugin, perfect customer service!!

  2. Tomer Aharon

    The plugin works as expected and have many options.

    I had to use support for some specific customization. The response was quick and kind.

    Thank you

  3. A Bull

    Excellent plugin plus fast, friendly support if you need it. I would absolutely recommend this as an easy-to-use but powerful solution for UK & EU VAT validation. Definitely 5 stars :o)

  4. Rafael (verified owner)

    Great plugin and superb support! Thanks for everything and keep doing the good work

  5. Anthony PAJOT (verified owner)

    Great plugin, very usefull. Support team is really efficient; he helped me with a particular function. I highly recommend this plugin and the team.

  6. mathias

    The plugin works great. I had a problems and almost got help immediately. Now everything works perfectly. Thank you!

  7. Simon (verified owner)

    This developer is actually interested in implementing feature suggestions from customers. Rare! Well done and thank you!

  8. cedric (verified owner)

    Great plugin and outstanding support!

  9. Johan Gantois (verified owner)

    Omar, thank you for helping me with the settings. Great support.
    Plugin works 100% and is fantastic.
    Happy that I bought it for unlimited sites with unlimited updates and support.
    Thank you !

  10. Natasa (verified owner)

    The plugin works as expected, and the support team is there to help! Highly recommended!

  11. Jesper Nissen (verified owner)

    5 star review! Excellent support, he helped me in a sunday evening! I had a problem with setting up the plugin in my shop, but he logged into my WordPress backend and helped me to complete the setup. That is what I call excellent support!

  12. plunisher

    Fast, high quality. Great support.

  13. Marko Lampret

    Excellent support.

  14. Andres (verified owner)

    es muy buenos y la atencion tecnica maravillosa

  15. Karima (verified owner)

    Support was very helpful. We were thinking about an error causing by our hosting but we managed to fix it.
    We used a different plugin for our clients but that function seemed to be broken. Now i’m only using EU VAT Number for all of our clients!

  16. Giovanni Crippa (verified owner)

    Great plugin and great Support!
    The developer help us to solve a problem with a customization in a couple of days!


  17. Robert Durmaz (verified owner)

    Really great plugin. Works exactly as intended. Had some small issues and Omar from the support was quick and helpful and resolved the problem for us. Thanks!

  18. roberto coletti

    Great plugin, really useful. Support is really fast.

  19. Barry Roosloot (verified owner)

    Great plugin, easy to use. But i run in a (for me) big problem. Omar once again, thank you for the quick respons and never stoped helping me till it was fixed. Thumb up for you and your plugin!


  20. Vera

    It is great! And support is very helpful even with free version. 5 stars!

Add a review

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


2.5 – 06/11/2021

  • Fixed a bug in showing EU VAT label if not filled.
  • Verified compatibility with WooCommerce 5.8

2.4.5 – 10/10/2021

  • Enhanced EU VAT appearance in billing section so it’s easily identified
  • UK VAT numbers are space-tolerated so plugin will read VAT numbers with/without spaces
  • Verified compatibility with WooCommerce 5.7

2.4.4 – 20/09/2021

  • NEW: The plugin now validates UK VAT numbers as well
  • Verified compatibility with WooCommerce 5.6

2.4.3 – 06/08/2021

  • Fixed a warning message regarding AJAX being broken

2.4.2 – 26/07/2021

  • Added an option to hide validation messages in preserved countries
  • Fixed a bug in removing VAT if shipping address is a forwarding address
  • Verified compatibility with WordPress 5.8

2.4.1 – 13/07/2021

  • Added an option to validate VAT based on final destination (if order is sent to a forwarding address)
  • Fixed undefined index & order ID warning messages
  • Verified compatibilty with WooCommerce 5.5

2.4 – 24/06/2021

  • Added a popup section to open official VIES website in orders backend (to verify VAT info on order)
  • Verified compatibilty with WooCommerce 5.4

2.3.3 – 16/05/2021

  • Fixed a bug was showing “Undefined index” errors when connecting through SSH
  • Verified compatibilty with WooCommerce 5.3

2.3.2 – 03/05/2021

  • Fixed a bug in session not firing in store
  • Added tolerance for dash (-) in case VAT number was entered with a dash

2.3.1 – 30/04/2021

  • Enhanced session configuration
  • Added a feature to preserve tax if valid VAT number holders are not exempted (useful in Belgium)
  • Tested compatibility with WooCommerce 5.2

2.3 – 20/04/2021

  • Added new option to allow user to select VAT option
  • Added banners on the sidebar
  • Added a filter to control changes updates
  • Checked compatibility with WC 5.1 & WP 5.7

2.2.5 – 28/02/2021

  • Tested compatibilty with WC 5.0

2.2.4 – 27/01/2020

  • Tested compatibility with WC 4.9

2.2.3 – 30/12/2020

  • Tested compatibility with WC 4.8 & WP 5.6
  • Changed default session type to WooCommerce session

2.2.2 – 21/11/2020

  • Tested compatibility with WC 4.7
  • Plugin name updated

2.2.1 – 14/10/2020

  • Fixed a warning message that was appearing the Site Health Check

2.2 – 02/10/2020

  • Added more strings to be translatable using multi-language sites
  • Tested compatibility with WC 4.5

2.1 – 20/08/2020

  • Fixed a bug that wasn’t exempting VAT on manual orders (WP backend)

2.0.1 – 15/08/2020

  • Tested compatibility with WP 5.5
  • Tested compatibility with WC 4.3

2.0 – 25/06/2020

  • Fixed a bug that prevented showing the correct message (valid successful) for compatibility with some themes JS
  • Enhanced the SOAP method via using better communication method with EU VAT servers

1.9 – 17/06/2020

  • Stopped calling the main JS file on all pages and keep it only on checkout for better performance
  • Removed the string from a deprecated argument to get list of countries
  • Fixed a minor issue that was causing error (failed to load external entity ) in communicating with VIES servers in some cases

1.8.1 – 25/03/2020

  • Checked all plugin features compatibility with WC 4

1.8.0 – 23/12/2019

  • Dev – Plugin author updated.

1.7.2 – 12/12/2019

  • Dev – General – Frontend Options – “Max length” option added.
  • Dev – Validation – “Skip VAT validation for selected countries” option moved from to “Advanced” section.
  • Dev – Code refactoring.

1.7.1 – 05/12/2019

  • Fix – Validation – Check for matching billing country code – Fixed for Greece (EL is replaced with GR when comparing country codes).
  • Dev – Admin & Advanced – “Force VAT recheck on checkout” option added.
  • Dev – Debug – “Error: VAT is not valid” message added to the log.
  • Dev – Code refactoring.
  • Tested up to: 5.3.

1.7.0 – 08/11/2019

  • Dev – Validation – “Always exempt VAT for selected user roles” and “Always not exempt VAT for selected user roles” options added.
  • Dev – Admin & Advanced – Debug – “Country code does not match” message added to the log.
  • Dev – Admin & Advanced – Session type – “WC session” option marked as “recommended”.
  • Dev – Code refactoring.
  • WC tested up to: 3.8.

1.6.1 – 16/10/2019

  • Dev – Validation – Check company name – Now converting all values to uppercase before comparing.
  • Dev – JavaScript – Better event for company validation.

1.6.0 – 15/10/2019

  • Dev – General – Frontend Options – “Show field for selected user roles only” option added.
  • Dev – Validation – “Check company name” option added.
  • Dev – Admin & Advanced – Advanced Options – “Debug” option added.
  • Dev – Code refactoring.

1.5.0 – 13/08/2019

  • Dev – Admin – Order List – “EU VAT” column added.
  • Dev – Admin – Reports – Taxes – “EU VAT” report added.
  • Dev – Admin – EU country VAT Rates Tool – Duplicates are no longer added for the country.
  • Dev – Admin settings split into sections.
  • Dev – Allow VAT number input without country code – Additional country fallback added.
  • Dev – Functions – General – alg_wc_eu_vat_session_start() – Additional headers_sent() check added.
  • WC tested up to: 3.7.
  • Tested up to: 5.2.

1.4.1 – 04/05/2019

  • Fix – Preserve VAT in selected countries – Bug (when “Allow VAT number input without country code” is enabled) fixed.
  • Fix – Show field for selected countries only – Bug (when “Required” is enabled) fixed.
  • Dev – Frontend Options – “Confirmation notice” options added.
  • Dev – Code refactoring.
  • Dev – “WC tested up to” updated.

1.4.0 – 06/03/2019

  • Fix – “Preserve VAT in selected countries” fixed when “Allow VAT number input without country code” is enabled.
  • Dev – Frontend Options – “Always show zero VAT” option added.
  • Dev – [alg_wc_eu_vat_translate] shortcode added.
  • Dev – Shortcodes are now also processed in field label, placeholder, description and validation message options.
  • Dev – Validation – Preserve VAT in selected countries – “Comma separated list” option added.
  • Dev – Frontend Options – “Show field for selected countries only” option added.

1.3.0 – 31/01/2019

  • Fix – Default field value on the checkout fixed.
  • Dev – Display Options – Display – Multiple positions are now allowed (i.e. multiselect).
  • Dev – Display Options – Display – In billing address – Field is now editable (“My Account > Addresses”).
  • Dev – Frontend Options – “Label CSS class” option added.
  • Dev – Code refactoring.

1.2.1 – 30/01/2019

  • Dev – Advanced Options – “Session type” option added.
  • Dev – Admin settings – “Your settings have been reset” notice added.

1.2.0 – 12/11/2018

  • Fix – AJAX – Possible “undefined index” PHP notice fixed.
  • Dev – General – “Priority (i.e. position)” option added.
  • Dev – General – “Raw” input is now allowed in textarea admin settings.
  • Dev – Code refactoring.
  • Dev – Plugin URI updated.

1.1.0 – 07/06/2018

  • Dev – General – “Check for matching billing country code” option added.
  • Dev – General – “Allow VAT number input without country code” option added.

1.0.1 – 05/06/2018

  • Dev – %eu_vat_number% replaced value added to “Message on not valid” option. “Message on not valid” now doesn’t check for required (i.e. empty) field.

1.0.0 – 24/05/2018

  • Initial Release.

Free vs Pro

This plugin is a premium version of free "EU VAT for WooCommerce" plugin.

Free VersionPro Version
Frontend: Field labelyesyes
Frontend: Placeholderyesyes
Frontend: Descriptionyesyes
Frontend: Required/Optionalyesyes
Frontend: Confirmation noticeyesyes
Frontend: Priority (i.e. position)yesyes
Frontend: Field and label CSS classyesyes
Frontend: Always show zero VATyesyes
Frontend: Show field for selected countries onlynoyes
Frontend: Show field for selected user roles onlynoyes
Display Optionsyesyes
Validation: Validate VAT IDyesyes
Validation: Customizable "EU VAT Number is not valid" frontend messageyesyes
Validation: Validation methodyesyes
Validation: Exempt VAT for valid numbersyesyes
Validation: Preserve VAT in selected countriesnoyes
Validation: Check country by IPnoyes
Validation: Check company namenoyes
Validation: Check for matching billing country codeyesyes
Validation: Allow VAT number input without country codeyesyes
Validation: Always exempt / not exempt VAT for selected user rolesyesyes
Validation: Skip VAT validation for selected countriesyesyes
Customizable optional validation progress messagesyesyes
Admin Options: Order summary meta boxyesyes
Admin Options: Order list columnyesyes
Advanced Options (debug, session type etc.)yesyes


Field ID used for storing EU VAT is _billing_eu_vat_number. To retrieve saved EU VAT number from WooCommerce order in PHP, use this snippet:

if ( '' != ( $billing_eu_vat_number = get_post_meta( $order->get_id(), '_billing_eu_vat_number', true ) ) ) {
    echo esc_html( $billing_eu_vat_number );

To retrieve saved EU VAT number from WooCommerce customer meta in PHP, use the snippet below. Note that there is no underscore in field ID (differently from order meta):

if ( '' != ( $billing_eu_vat_number = get_user_meta( get_current_user_id(), 'billing_eu_vat_number', true ) ) ) {
    echo esc_html( $billing_eu_vat_number );

Installation and Updates

  • Buy the plugin 🙂
  • Download plugin’s zip to your computer (you will receive an email with download link, or you can always download the plugin from your account).
  • Go to “Admin Dashboard > Plugins > Add New > Upload Plugin” and browse for downloaded zip file.
  • If plugin is successfully installed – you should see it added to the Plugins list.
  • To keep WPFactory items up to date, please install WPFactory Helper plugin and enter your site key.


We want to ensure that you are 100% happy with your purchase, so if you feel the product(s) you purchased are not the best fit for your requirements and you attempted to resolve issues with product's author, we are offering 30 day money back guarantee refund policy.