EU VAT Number
A unique identifier issued by a national EU tax authority to businesses registered for value added tax. It enables zero-rate treatment on cross-border B2B transactions and is the basis for all EU VAT compliance.
An EU VAT number (officially: VAT identification number) is a unique ID issued by a national tax authority to a business that is registered to collect and remit value added tax. It consists of a two-letter country prefix followed by up to 12 alphanumeric characters — the exact format is defined by each member state independently, which makes EU VAT validation significantly more complex than validating a single uniform pattern.
Format by country (top 10 EU markets)
| Country | Prefix | Format | Example | Developer notes |
|---|---|---|---|---|
| Germany | DE | DE + 9 digits | DE123456789 | Most straightforward format |
| France | FR | FR + 2 alphanumeric + 9 digits | FR12345678901 | First 2 chars can be letters or digits — not purely numeric |
| Spain | ES | ES + char + 7 digits + char | ESX1234567X | First and last can be letter or digit — regex gets complex |
| Italy | IT | IT + 11 digits | IT12345678901 | All numeric after prefix — simpler to validate |
| Netherlands | NL | NL + 9 digits + B + 2 digits | NL123456789B01 | B is mandatory, not an optional separator — a common mistake |
| Poland | PL | PL + 10 digits | PL1234567890 | 10 digits (not 9 like Germany) |
| Belgium | BE | BE + 10 digits | BE0123456789 | Starts with 0 or 1 |
| Sweden | SE | SE + 12 digits | SE123456789001 | 12 digits, ends with 01 for most companies |
| Greece | EL | EL + 9 digits | EL123456789 | Uses EL prefix — not GR. Using GR causes silent VIES failures |
| Austria | AT | AT + U + 8 digits | ATU12345678 | The U is part of the format, not a separator |
Common format mistakes
- →Using GR instead of EL for Greek VAT numbers — ISO 3166 country code differs from VIES prefix
- →Omitting the mandatory B in Dutch VAT numbers (NL123456789B01 — the B is not optional)
- →Treating the Austrian U as optional (ATU12345678 — U is always present)
- →Not stripping spaces and hyphens before validation — users often type VAT numbers with separators
- →Accepting numbers that pass regex but fail VIES — format validity does not equal registration validity
Why format validation alone is not enough
A VAT number that passes format validation (correct prefix, correct length, valid checksum) still might not be registered in VIES. A business may have deregistered, had its registration revoked, or the number may be well-formatted but completely fabricated. For B2B zero-rate treatment, EU regulations require that you validate the number against VIES — not just check its format.
Tip
Always validate format before calling VIES. Format validation is instant and free; VIES calls take 200–2000ms and count toward rate limits. Reject obviously malformed numbers before spending a VIES call on them.
What a valid VIES response proves
A VIES `valid: true` response proves three things: (1) a business with that VAT number exists in the national tax authority's database, (2) the registration is currently active as of the query date, and (3) the EU Commission can retrieve the record. It does not prove that the business name the customer provided matches the registered name — that additional check is your responsibility.
Frequently asked questions
What is the format of an EU VAT number?
Each EU VAT number starts with a two-letter country prefix followed by up to 12 alphanumeric characters. The exact format varies by country — Germany uses 9 digits, France uses 2 alphanumeric chars + 9 digits, the Netherlands uses 9 digits + mandatory 'B' + 2 digits. There is no single EU-wide format.
How do I programmatically validate an EU VAT number?
Two steps: first, validate the format using a country-specific regex (strip spaces and hyphens first). Second, call VIES with the country code and number to confirm the registration is active. Format validation is instant; VIES confirmation takes 200–2000ms. Use the TaxID API to handle both steps with a single REST call and built-in downtime handling.
Why does Greece use EL instead of GR?
VIES uses the Greek VAT prefix EL, which predates the ISO 3166 standard that assigned GR as Greece's country code. The VIES system was not updated to match. If you use GR in a VIES lookup for a Greek VAT number, the call will fail silently or return invalid — always use EL for Greek VAT numbers.
Can a VAT number change for an existing business?
VAT numbers are generally permanent for the life of a business entity. However, a business may receive a new VAT number after a restructuring, merger, or change in legal form. It's good practice to re-validate stored VAT numbers periodically (monthly or quarterly) rather than assuming a once-validated number remains valid indefinitely.
Validate EU VAT numbers via API
100 free validations/month. No credit card. Sub-10ms cached responses.
Related resources
Related terms
VIES (VAT Information Exchange System)
The EU Commission's official real-time system for validating VAT numbers across all 27 member states. It queries national tax databases and returns the registration status, company name, and address of any EU-registered business.
Reverse Charge VAT
A VAT accounting mechanism where the buyer — not the seller — accounts for VAT on a cross-border B2B supply. The seller invoices at zero-rate; the buyer self-assesses VAT in their own country. EU law requires VAT number validation before applying it.
B2B VAT Exemption
Zero-rate treatment applied to cross-border EU B2B supplies where the buyer holds a valid VAT number in a different member state. Not a true exemption — the transaction is still VAT-applicable; the buyer self-accounts via the reverse charge mechanism.