Overview
โ Back to topIn this support document for the EU VAT Number extension, the abbreviation EU means European Union.
EU VAT Number for WooCommerce allows you to:
- Collect and validate EU VAT numbers at checkout.
- Exempt businesses from paying value-added tax (VAT, if necessary.
- Collect and validate user location in B2C transactions.
- Handle EU tax requirements for digital goods.
This documentation covers how to set up tax rates in WooCommerce, as well as how the platform handles taxes/VAT/GST based on these settings โ not when or what to charge.
We are not tax professionals; our advice only applies to how to use our software. For advice on what โย or when โ to charge tax/VAT/GST etc., we recommend consulting a tax professional or accountant.
Every business is unique, and we are unable to cover all possibilities here.
Requirements
โ Back to top- WooCommerce version 9.8 or higher
- WordPress version 6.6 or higher
- PHP version 7.4 or higher
Installation
โ Back to topTo start using a product from WooCommerce.com, you can use the โAdd to storeโ functionality on the order confirmation page or the My subscriptions section in your account.
- Navigate to My subscriptions.
- Find the Add to store button next to the product youโre planning to install.
- Follow the instructions on the screen, and the product will be automatically added to your store.
Alternative options and more information at:
Managing WooCommerce.com subscriptions.
Setup and configuration
โ Back to top- From your store’s WP Admin dashboard, navigate to WooCommerce > Settings > Taxย and scroll down the page.

EU VAT number handling
โ Back to top
- VAT Number Field Label: Shown to customers at checkout. The default is VAT NUMBER.
- VAT Number Field Description: Shown belowย the VAT field on the checkout page when the field is in focus. The default is blank.
- Remove VAT for Businesses in Your Base Country: If activated, businesses with a valid number in your base country will be VAT exempt.
- Failed Validation Handling: Tell the extension what to do if a VAT number fails validation:
- Reject the order and show an error
- Accept the order without removing VAT, or
- 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.
EU VAT digital goods handling
โ Back to top
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 topFor EU VAT onย digital goods, you need to input VAT rates into WooCommerce. Review our guide toย set up EU VAT tates for digital products.
Manage VAT number
โ Back to topCustomers can add their VAT number on their My account page. The number will populate on the Checkout page if the Checkout shortcode. The is not supported in the Checkout block at this time.

Checkout process
โ Back to topThe checkout process varies depending on the type of customer. Customers located outside the EU will not see any VATย fields becauseย they are out of scope for EU VAT.
EU-based B2B transactions
โ Back to topBusinesses fill out the VAT Number field thatย appears in the billing section of checkout:

The standard WooCommerce checkout fields now has the EU VAT Number added field at the bottom of the billing details. The field label and description can be edited in the settings. The description becomes visible when the field is focused.
The system thenย validates the number viaย our EU VAT Number Validation API, which takes data from VIES. If it matches, VAT exemptionย is done automatically. If it fails to validate, the user sees the following error:

For UK based numbers: if you get the “invalid VAT number” error, please add the prefix GB and try again (example: GB00000000190).
For UK-based numbers: If you encounter an “invalid VAT number” error, you may need to add the GB prefix and try again (example: GB00000000190).
EU-based B2C transactions
โ Back to topIf you configured the extension to handle EU VAT digital goods for rules implemented from 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 they match, it is stored as evidence of the user’s location.
- If they do not match, a checkbox asking them to confirm their location appears.

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

Customers can view and modify their VAT number on their My account page. The VAT number country must match the country in the billing address.
Viewing collected data
โ Back to topCollected data displays in several locations in your WP Admin dashboard:
Orders list
โ Back to topIn the Orders list, it shows an overview of the collected data:

Individual order view metabox
โ Back to topIn the order view, it shows a meta box withย the information:


Individual order view customer billing details
โ Back to topIn order addresses, VAT numbers are automatically appended toย the end of formatted addresses:

The label is defined in the “VAT Number Field Label” setting.
Reports
โ Back to topEU VAT Numberย adds two reports to the reporting section in WP Admin 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 topNow that the United Kingdom (UK) has officially left the European Union (EU), weโve assembled some resources for businesses using WooCommerce and trading into or out of the UK, to help navigate some of the changes that youโll encounter from now on.
Read our Brexit guide for store owners.
For UK-based numbers: If you encounter an “invalid VAT number” error, you may need to add the GB prefix and try again (example: GB00000000190).
EU VAT July 2021 changes, ecommerce, and WooCommerce
โ Back to topOn July 1, 2021, the EU introduced additional VAT regulations. Merchants selling across borders within the EU (or importing to the EU) need to comply with these regulations.
Troubleshooting
โ Back to top- Ensure the latest version is installed.
- If you are seeing an error message saying that you have entered an invalid VAT number, enter it and the country it is from on the VIES database to confirm it is valid.
- If VAT numbers from a specific country are not working, check the VIES Self Monitoring tool.
- Confirm that there is not a theme orย plugin/extension conflict.
- Check for any other security or firewall plugins that may be blocking the extension from validating the VAT number with VIES.
- If only one number fails while others validate, try clearing transients by navigating to WooCommerce > Status > Tools in your store’s WP Admin dashboard.
Customization
โ Back to topScope of support:
We are unable to provide support for customizations under ourย Support Policy. If you need to customize a snippet or extend its functionality, we recommend working with a Woo Agency Partner or a WooCommerce developer on Codeable.
VAT numbers meta field
โ Back to topVAT numbers are stored in a meta field named _billing_vat_number (and _vat_number for backward compatibility). The functionย wc_eu_vat_get_vat_from_order($order)ย takes care of retrieving the VAT, regardless of how it is stored.
Choosing which countries see the VAT number field
โ Back to topUse the woocommerce_eu_vat_number_country_codes filter to choose which countries the VAT number field should be shown to.
Here’s a working example in which the field will only be shown to customers with a billing address in Belgium:
wc-eu-vat-one-country.php content:
add_filter( 'woocommerce_eu_vat_number_country_codes', 'woo_custom_eu_vat_number_country_codes' );
function woo_custom_eu_vat_number_country_codes( $vat_countries ) {
// only show field for users in BE
return array( 'BE' );
}
This can also be used for the reverse, to remove select countries from the list. Here’s a working example for removing Sweden and United Kingdom:
wc-eu-vat-remove-some-countries.php content:
add_filter( 'woocommerce_eu_vat_number_country_codes', 'woo_custom_eu_vat_number_country_codes' );
function woo_custom_eu_vat_number_country_codes( $vat_countries ) {
$display_vat = array_diff($vat_countries, ['SE', 'GB']); // remove countries in second array
return array_values($display_vat); // reindex array
}
Reorder EU VAT field on checkout page
โ Back to topBy default, the EU VAT field is placed at the bottom of the normal billing fields. If you’d prefer to move it to a new location, review this tutorial on how to do so.
Questions and support
โ Back to topSomething missing from this documentation? Still have questions and need assistance?
- If you have a question about a specific extension or theme youโd like to purchase, contact us to get answers.
- If you already purchased this product and need some assistance, get in touch with a Happiness Engineer via our support page and select this product’s name from the Product dropdown.
