How to collect and validate EU VAT numbers in WooCommerce
WooCommerce core can calculate tax, but it does not provide a VAT number field, VIES validation, or automatic reverse-charge handling. For a complete setup, configure your tax rates and use a VIES-capable extension, then test valid, invalid and unavailable-number cases before going live.
- 01Configure your WooCommerce tax rules
- 02Understand the manual route
- 03Add a VIES-capable VAT field
- 04Choose failure behaviour carefully
- 05Test the checkout and order record
- 06Handle VIES failures before launch
What you need
- A WooCommerce store with tax settings configured
- Administrator access to WordPress
- Your business tax rules confirmed by an accountant
- A staging site or test order method
Configure your WooCommerce tax rules
Go to WooCommerce > Settings > Tax and configure the standard rates and any digital-goods tax classes your business needs. VAT validation does not decide which tax rate applies; it only provides information that can be used when applying an exemption.
Do not assume that every valid EU VAT number means every order should be zero-rated. The customer type, supply location, goods or services, and your own registration obligations still matter, so confirm the rules with a tax professional.
Understand the manual route
WooCommerce core does not include a VAT number field or a connection to VIES. A developer can add a checkout field, send the country and number to a VAT validation service, save the result to the order, and adjust the tax status when the legal conditions are met.
A simple text field or regular expression is not enough: EU countries use different VAT formats, and a number can have the right shape but not be registered for intra-EU transactions. The manual route is reasonable for a developer maintaining a custom integration, but it is not a quick dashboard-only setup.
Add a VIES-capable VAT field
For the practical route, install and activate a WooCommerce extension that adds a VAT number field and validates it through VIES. The field should appear in the billing section at checkout, use the customer’s billing country, and save the submitted number and validation result with the order. VIES checks national VAT databases and can return invalid when a number is not activated for cross-border EU trade.
Make the field optional if you sell to both consumers and businesses. If your shop is strictly B2B, use the extension’s B2B option only after confirming that every customer must provide a VAT number.
Choose failure behaviour carefully
In the VAT settings, decide what happens when validation fails: reject the order, accept it while keeping VAT, or accept it and remove VAT. The safest general choice is to reject an invalid number or accept the order with VAT still charged. Removing VAT after a failed validation can create an avoidable tax problem.
Also decide whether a valid VAT number from your own base country should remove VAT. A valid number alone does not settle the tax treatment of a domestic transaction.
Test the checkout and order record
Place test orders with a valid EU number, an invalid number, a blank field, a number from the store’s country, and a number whose country does not match the billing country. Confirm the checkout message, tax total, order notes or VAT details, customer account data, invoices, refunds, and emails.
Test both the classic shortcode checkout and the Cart and Checkout blocks if your site uses them. A VAT field that works in one checkout type may need separate support in the other.
Handle VIES failures before launch
VIES is an online search service rather than a permanent database, and national systems can be unavailable. A valid customer number may therefore fail temporarily.
If every number fails, check the VIES result directly, clear WooCommerce transients if your extension recommends it, and inspect firewall, security-plugin and outbound HTTPS restrictions. On some servers, an outdated PHP or OpenSSL CA certificate bundle prevents a secure connection to the validation service.
Fast way: install WooCommerce EU VAT Number, enable its checkout field and VIES validation, select the failed-validation behaviour that matches your tax policy, and verify that validated details are recorded on orders. It is the quicker option because the field, validation and exemption workflow are already provided.
Let WooCommerce EU VAT Number do it
Collects checkout VAT numbers and validates them through VIES, ideal for EU tax-exempt business customers.
Sources
- woocommerce.com /document/eu-vat-number/?utm_source=openai
- wpfactory.com /docs/intro-how-to-use-woocommerce-eu-uk-vat-numbers-validat…
- europa.eu /youreurope/business/finance-and-tax/vat/check-vat-number-vi…
- ec.europa.eu /taxation_customs/vies?locale=en&utm_source=openai
Questions
- Can WooCommerce validate EU VAT numbers without a plugin?
- Not with WooCommerce core alone. Core tax settings can calculate VAT, but they do not provide a VAT field, connect to VIES, or automatically apply a business exemption. You can build that functionality in custom code or a site-specific plugin, but you must maintain the checkout field, server-side validation, tax logic, error handling and order records yourself.
- Does a valid VIES result always mean VAT should be removed?
- No. A valid VIES result confirms that the number is recognised for EU VAT purposes, but the correct tax treatment depends on the customer, transaction, goods or services, destination and your registrations. Configure WooCommerce tax rates separately and have an accountant confirm when reverse charge or another exemption applies.
- Why does a customer’s valid VAT number fail validation?
- A number can fail because it is mistyped, entered with the wrong country, not activated for intra-EU transactions, or temporarily unavailable in a national tax database. Check the number directly in VIES first. If all customers fail, investigate server certificates, outbound HTTPS access, firewall rules and conflicts with security or checkout plugins.
- Should the VAT number field be required at checkout?
- Make it optional when consumers can buy from your store, because private customers generally do not have an EU VAT number. Make it required only when your shop is genuinely B2B and your tax process requires every buyer to provide a number. A required field can otherwise block legitimate consumer orders and customers whose numbers are temporarily unavailable in VIES.
- Can VIES validate UK VAT numbers?
- VIES does not provide the former GB VAT validation service. The European Commission’s VIES service supports EU Member State numbers and Northern Ireland numbers using the XI prefix, while GB numbers must be checked through the UK tax authority or a suitable separate service. Do not promise GB validation merely because an extension validates EU numbers.