How to Validate EU VAT Numbers (Formats & VIES Guide)
Learn how to validate EU VAT identification numbers. Covers country-specific formats, the VIES verification system, reverse charge rules, and post-Brexit UK rules.
If your business sells goods or services across European borders, VAT number validation isn’t optional — it’s a legal requirement. Getting it wrong means rejected invoices, incorrect tax charges, failed audits, and potential fines from tax authorities.
A VAT (Value Added Tax) identification number is assigned to every business registered for VAT in the European Union. It appears on invoices, purchase orders, and customs declarations. Each of the 27 EU member states has its own format: different lengths, different character patterns, and different prefixes. The VAT Number Validator checks any VAT number against these country-specific rules instantly, and your data stays completely private — nothing is stored or shared.
This guide covers what VAT numbers look like, how to validate them, when validation matters most, and what changed after Brexit.
What a VAT Number Looks Like
Every EU VAT number starts with a two-letter country code (or three letters for Austria), followed by a sequence of digits and sometimes letters. The total length ranges from 8 characters (Austria: ATU + 8 digits) to 14 characters (Netherlands: NL + 9 digits + B + 2 digits).
Here are the formats for the most commonly traded countries:
| Country | Prefix | Format | Example |
|---|---|---|---|
| Germany | DE | 9 digits | DE123456789 |
| France | FR | 2 alphanumeric + 9 digits | FRAB123456789 |
| Netherlands | NL | 9 digits + B + 2 digits | NL123456789B01 |
| Italy | IT | 11 digits | IT12345678901 |
| Spain | ES | letter/digit + 7 digits + letter/digit | ESA12345678 |
| Belgium | BE | 0 or 1 + 9 digits | BE0123456789 |
| Poland | PL | 10 digits | PL1234567890 |
| Ireland | IE | 7 digits + 1-2 letters | IE1234567A |
| Austria | ATU | 8 digits | ATU12345678 |
| United Kingdom | GB | 9 or 12 digits | GB123456789 |
Each format has strict rules. The Netherlands always includes the letter “B” at a fixed position. Cyprus ends with exactly one letter. France allows both letters and digits in the two characters after the FR prefix. Romania has the widest range, accepting anywhere from 2 to 10 digits after the RO prefix.
The VAT Number Validator checks all 27 EU member states plus the UK, auto-detects the country from the prefix, and shows the expected format alongside your input so you can spot mismatches instantly.
Two-Step Validation: Format Check Then VIES
Validating a VAT number properly involves two distinct steps:
Step 1: Format Validation (Structural Check)
This confirms that the number follows the correct pattern for its country. Does it have the right prefix? The right length? The right mix of letters and digits? Format validation catches typos, missing prefixes, and structural errors before you make any external calls. This is what the VAT Number Validator does.
Step 2: VIES Verification (Registration Check)
VIES (VAT Information Exchange System) is a free service operated by the European Commission at ec.europa.eu/taxation_customs/vies/. It queries the national tax database of the relevant member state and confirms whether the VAT number is currently registered and active. VIES also returns the business name and address associated with the number.
Why do you need both steps? VIES is an online service that can be slow, unavailable during maintenance windows, or rate-limited during peak periods. Running format validation first filters out obviously incorrect numbers, reducing unnecessary VIES queries and giving users instant feedback on typos. A number that fails format validation will always fail VIES verification, so there’s no point in querying the API for a structurally invalid input.
When VAT Validation Matters
B2B Cross-Border Invoicing
When a business in Germany sells to a business in France, VAT isn’t charged on the invoice if both parties have valid VAT numbers. Instead, the buyer accounts for the VAT under the reverse charge mechanism — they self-assess the VAT in their own country. For the reverse charge to apply, the seller must verify that the buyer’s VAT number is valid. If the number turns out to be invalid after the fact, the seller becomes liable for the uncollected VAT.
This makes VAT validation a financial risk management step, not just a bureaucratic formality.
Marketplace Seller Compliance
Online marketplaces (Amazon, eBay, Etsy) operating in the EU require sellers to provide valid VAT numbers. The marketplace may withhold payouts or suspend accounts if the VAT number fails validation. Sellers registering on these platforms should verify their own number before submitting it.
Accounts Payable and Procurement
Procurement departments routinely validate VAT numbers when onboarding new suppliers. An invalid VAT number on a supplier’s invoice can delay payment processing, trigger compliance flags during audits, and create mismatches in VAT return filings.
Annual VAT Returns and Audits
Tax authorities cross-check the VAT numbers reported on your returns against their databases. If you claimed a reverse charge based on a VAT number that was never valid, the tax authority may disallow the deduction and assess penalties. Validating numbers at the time of transaction — not at year-end — prevents this.
Common Format Mistakes
Missing the Country Prefix
Many businesses store VAT numbers internally without the country prefix. A German company might record their number as 123456789 instead of DE123456789. When this is used on an invoice or submitted to VIES, it fails because the prefix is part of the official number.
Confusing Greece’s EL Prefix with GR
Greece’s ISO 3166-1 country code is GR, but the VAT prefix is EL (from “Ellada,” the Greek name for Greece). This inconsistency trips up many accounting systems. A Greek VAT number must start with EL, not GR. Writing GR123456789 will fail validation.
Including Spaces, Dots, or Dashes
Some invoice systems insert spaces or dots for readability (e.g., “DE 123 456 789” or “NL123456789.B01”). These separators must be stripped before validation. The VAT Number Validator handles this automatically, removing all whitespace, dashes, dots, and periods before checking the format.
Using Domestic Tax IDs Instead of VAT Numbers
In several countries, the domestic tax identification number differs from the EU VAT number. Germany’s domestic Steuernummer (e.g., 12/345/67890) isn’t the same as its Umsatzsteuer-Identifikationsnummer (DE123456789). Only the latter is valid for EU trade.
Old Austrian Format Without U
Austria’s VAT prefix is ATU (not just AT). The “U” stands for Umsatzsteuer (turnover tax). Writing AT12345678 instead of ATU12345678 will fail format validation.
UK VAT Numbers After Brexit
Since January 1, 2021, the United Kingdom is no longer part of the EU single market. This affects VAT numbers in several ways:
GB-prefixed numbers are no longer in VIES. The European Commission removed UK VAT numbers from the VIES database. You can’t verify a GB number through VIES anymore. HMRC (Her Majesty’s Revenue and Customs) provides its own verification service at www.gov.uk/check-uk-vat-number.
GB numbers still exist for UK domestic use. UK-registered businesses continue to use their GB VAT numbers for domestic transactions and for UK customs declarations.
UK businesses selling to the EU may need an EU VAT registration. Depending on the trade scenario, a UK business might need to register for VAT in an EU member state and obtain a local VAT number (e.g., DE, FR, NL prefix) to handle EU sales correctly.
Northern Ireland exception. For goods (not services), Northern Ireland continues to follow EU VAT rules under the Windsor Framework. Northern Irish businesses use the prefix XI instead of GB for intra-community goods trade.
The VAT Number Validator includes the GB format for structural validation, but remember that VIES won’t confirm GB numbers.
Automating VAT Validation in Your Systems
For businesses processing high volumes of invoices, manual validation isn’t practical. Here’s a recommended approach:
-
Instant format check: When a user enters a VAT number in a form, validate the format immediately (similar to what the VAT Number Validator does). Reject obviously wrong inputs before submission.
-
Server-side VIES query: On form submission, send the VAT number to the VIES SOAP or REST API for registration verification. Cache successful results for a reasonable period (e.g., 30 days) to reduce API calls.
-
Periodic re-validation: VAT registrations can be revoked. Run a batch re-validation of your supplier and customer VAT numbers quarterly to catch deregistered businesses.
-
Store the validation evidence. If your tax authority asks why you applied the reverse charge, you need to show that you verified the buyer’s VAT number at the time of the transaction. Store the VIES response (including timestamp) alongside the invoice.
International Tax Identification Beyond the EU
While this guide focuses on EU VAT numbers, similar identification systems exist worldwide. Switzerland uses CHE + 9 digits (e.g., CHE-123.456.789). Norway uses 9 digits followed by MVA. India uses a 15-character GSTIN. Each system has its own format rules and validation services.
For validating other financial identifiers, the IBAN Validator handles international bank account numbers, and the Invoice Generator can produce compliant invoices that include the validated VAT number in the correct format.
Frequently Asked Questions
Does format validation guarantee the VAT number is real?
No. Format validation only confirms that the number follows the correct structural pattern for its country. A number like DE000000000 passes format validation (9 digits after DE) but isn’t a real registered number. Use the VIES database for registration verification.
How often should I re-validate supplier VAT numbers?
At minimum, quarterly. VAT registrations can be revoked if a business closes, is deregistered for non-compliance, or changes legal structure. Stale validation data can expose you to liability during audits.
What happens if I charge VAT to a customer with a valid VAT number?
If both parties are VAT-registered businesses in different EU countries, the reverse charge should apply. If you charge VAT instead, the customer must reclaim it from their own tax authority, which creates administrative burden and potential cash flow delays.
Can I use the VIES API in production?
Yes. The European Commission provides a SOAP API and a REST-based service for automated queries. There are no official rate limits published, but best practice is to cache results, batch queries during off-peak hours, and implement retry logic for when member state databases are temporarily unavailable.
Why does Romania accept 2 to 10 digits?
Romania assigns VAT numbers of variable length depending on the size and type of the business. Small entities receive shorter numbers, while larger companies may have longer ones. All are valid as long as they fall within the 2-10 digit range after the RO prefix.
Related Calculators
Related Articles
- How to Calculate Break-Even Point: The Ultimate Guide
Master break-even analysis with our complete guide. Learn the formula, calculate your margin of safety, and use our free calculator to plan your business profits.
- How to Create a Winning Project Quote That Converts
Master the art of writing professional project quotes that win clients. Learn pricing psychology, optimal quote structure, and the common mistakes to avoid.
- How to Pay Off Credit Card Debt (5 Proven Strategies)
Escape the minimum payment trap with the avalanche method, snowball method, balance transfers, and payoff timeline math. Includes worked examples and 0% APR tips.
- How to Plan for Retirement (Step-by-Step Guide)
Learn how to plan for retirement using the 4% rule, compound growth, 401k vs IRA accounts, employer matching, and Social Security. Includes worked examples.
Share this article
Have suggestions for this article?