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 VAT (Value Added Tax), if necessary
- Collect and validate user location in B2C transactions
- Handle EU Tax requirements for digital goods
This documentation is meant to help with setting up tax rates in the WooCommerce settings and how the platform handles taxes/VAT/GST based on these settings, but not when or what to charge.
We’re not tax professionals so our advice is how to use our software. For specific advice when it comes to what or when to charge tax/VAT/GST etc, we recommend consulting with a tax professional or an accountant on what may be your best options.
Each business is unique, and there’s no way we can cover every possibility.
Requirements
↑ Back to top- WooCommerce version 8.5 or higher
- WordPress version 6.3 or higher
- PHP version 7.2 or higher
Installation
↑ Back to top- Purchase the product from WooCommerce.com
- Download the ZIP file from your WooCommerce.com dashboard
- Go to Plugins > Add New > Upload and select the ZIP file you just downloaded
- Click Install Now and then Activate.
- Read on to learn how to set up and configure the product.
More information at: Install and Activate Plugins/Extensions.
Setup and Configuration
↑ Back to top- Go 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 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.
EU VAT Digital Goods Handling
↑ Back to topEU 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. We have a guide for this at: Setting up EU VAT Rates for Digital Products.
Manage VAT number
↑ Back to topCustomers can add their VAT number on their My account page. The number will populate on Checkout page if the Checkout shortcode is used but not with 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, a VAT exemption is done automatically. If it fails to validate, the user sees an error:
For UK based numbers: if you get the “invalid VAT number” error, please add the prefix GB and try again (example: GB00000000190).
EU Based B2C Transactions
↑ Back to topIf 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.
This is required to place the order. Failure to confirm returns an error:
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 topCollected data displays in several locations in Admin.
Order list – viewing collected data
↑ Back to topIn the order list, it shows an overview of the collected data:
Individual order view metabox – viewing collected data
↑ Back to topIn the order view, it shows a meta box with the information:
Individual order view customer billing details – viewing collected data
↑ Back to topIn the order addresses, VAT Numbers are automatically appended to the end of formatted addresses:
Reports
↑ Back to topEU 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 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.
For UK based numbers: if you get the “invalid VAT number” error, you may need to add the prefix GB and try again (example: GB00000000190).
EU VAT July 2021 changes, eCommerce, and WooCommerce
↑ Back to topThe European Union (EU) introduced new regulations related to Value Added Tax (VAT) on July 1, 2021. Merchants selling across borders within the EU or importing to the EU need to comply with the new 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(sometimes specific countries are down).
- Confirm there isn’t a theme or plugin 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 from under WP Admin > WooCommerce > Status > Tools.
Customization
↑ Back to topVAT 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 what countries will see the VAT number field
↑ Back to topYou 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:
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:
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 see the tutorial linked to for a walkthrough of how to do so.
Questions and Support
↑ Back to topSomething missing from this documentation? Do you still have questions and need assistance?
- Have a question about a specific extension or theme you’d like to purchase? Click here.
- Already purchased and need some assistance? Get in touch with a Happiness Engineer via the WooCommerce.com Support page and choose this extension name from the “I need help with” dropdown.