EU VAT Number

EU VAT Number for WooCommerce allows you to:

  • Collect and validate EU VAT numbers at Checkout.
  • Exempt businesses from paying VAT, if necessary.
  • Collect and validate user location in B2C transactions.
  • Handle EU Tax requirements for digital goods.

Installation ↑ Back to top

To install:

  1. Download the .zip file from your WooCommerce account.
  2. Go to: WordPress Admin > Plugins > Add New and Upload Plugin using the file you downloaded with Choose File.
  3. Activate the extension.

More information at: Installing and Managing Plugins.

Setup and Configuration ↑ Back to top

To configure settings:

  1. Go to WooCommerce > Settings > Tax and scroll down the page.
WooCommerce > Settings > Tax > Tax options settings with EU VAT Number extension active

2. EU VAT Number Handling

  • VAT Number Field Label – Shown to users at checkout. The default is VAT Number.
  • VAT Number Field Description – Shown below Label at checkout. The default is blank.
  • Remove VAT for Businesses in Your Base Country – If enabled, businesses with a valid number in your base country will be VAT exempt.
  • Failed Validation Handling – Tell the plugin what to do if a VAT number fails validation.
    • Reject the order and show an error
    • Accept the order without removing VAT
    • Accept the order and remove VAT as normal
  • Enable B2B Transactions –  This will force users to check out with a VAT Number, useful for sites that transact purely from B2B.

3. EU VAT Digital Goods Handling

EU VAT laws for digital goods changed on January 1, 2015, affecting B2C transactions only. VAT on digital goods must be calculated based on customer location, and store owners need to collect evidence of this via IP address and Billing Address.

There are two settings:

  • Tax Classes for Digital Goods – Select which of your Tax Classes is specifically for digital goods. This ensures the user is charged tax based on their Billing Address and not the base or shipping address that physical good taxes are often calculated with.
  • Collect and Validate Evidence – Tick the box to validate the user’s IP address against their billing country. If they mismatch, the user is required to confirm their address is correct (self-declaration). Data is stored in the order.

4. Save changes.

Set up EU VAT rates for digital goods ↑ Back to top

For EU VAT on digital goods, you need to input VAT rates into WooCommerce. We have a guide for this at: Setting up EU VAT Rates for Digital Products.

Checkout Process ↑ Back to top

The checkout process varies depending on the type of customer.

*Customers located outside the EU will see no fields because they are out of scope for EU VAT.

EU Based B2B Transactions ↑ Back to top

Businesses fill out the VAT Number field that appears in the billing section of checkout:

Standard WooCommerce checkout fields showing the EU VAT Number added VAT field at the bottom of the Billing details. The label and placeholder can be edited in the settings

The system then validates the number via our EU VAT Number Validation API, which takes data from VIES.

If it matches, a VAT exemption is done automatically. If it fails to validate, the user sees an error:

An error message is shown when Failed Validation Handling is set to Reject

EU Based B2C Transactions ↑ Back to top

If you configured the plugin to handle EU VAT Digital Goods for rules implemented in January 2015, the checkout process differs slightly if the cart contains a digital (non-shippable, virtual) product.

First, the IP address is validated against the billing country behind the scenes.

  • If this matches, it is stored as evidence of the user’s location.
  • If it doesn’t match, a checkbox to confirm location appears.
WooCommerce checkout showing IP address validation checkbox

This is required to place the order. Failure to confirm returns an error:

An error message is shown when the self-declare box isn’t checked

Customers can view and modify their VAT number on their My Accounts page. The VAT number country must match the country in the billing address.

Viewing Collected Data ↑ Back to top

Collected data displays in several locations in Admin.

  • In the order list, it shows an overview of the collected data:
Order view showing a Processing order with a validated EU VAT number
  • In the order view, it shows a meta box with the information:
Order view widget showing Non-B2B validated customer order
Order view widget showing B2B validated customer order
  • In the order addresses, VAT Numbers are automatically appended to the end of formatted addresses:
Billing address in the order view showing the VAT Number.
The label is defined in the “VAT Number Field Label” setting

Note for developers: VAT Numbers are stored in a meta field named _vat_number (and VAT Number for backward compatibility).

Reports ↑ Back to top

EU VAT Number adds two reports to the reporting section at WooCommerce > Reports that may be useful.

  • Reports > Taxes > EC Sales List – Lists countries and order amounts from EU-based B2B customers grouped by VAT number.
  • Reports > Taxes > EU VAT by State – Shows taxes collected and order amounts grouped by Country.

Each report has pre-set ranges to view data by quarter.

Brexit ↑ Back to top

The United Kingdom left the European Union on 31st January 2020. Although, the UK hasn’t left the EU VAT area –

Under the terms of the WA, the UK will have an exit transition period until 31 December 2020. Until this time, the UK will remain within the EU VAT regime, Single Market and Customs Union.

So until that date, there are no changes needed.

Customization ↑ Back to top

Note: We are unable to provide support for customizations under our Support Policy. If you are unfamiliar with code/templates and resolving potential conflicts, select a WooExpert or Developer for assistance.

Choosing what countries will see the VAT number field ↑ Back to top

You can use the woocommerce_eu_vat_number_country_codes filter to choose what countries the VAT number field should be shown for
— here’s a working example in which the field will only be shown to customers with a billing address in Belgium:

Questions & Support

Something missing from this documentation? Do you still have questions and need assistance?

  • Have a question before you buy this extension? Please fill out this pre-sales form – please include the name of this extension in your query.
  • Already purchased and need some assistance? Get in touch with a Happiness Engineer via the Support page and choose this extension name from the “I need help with” dropdown


WooCommerce - the most customizable eCommerce platform for building your online business.

Back to the top