Why EU VAT Number Formats Matter
EU VAT numbers are not just administrative identifiers — they are the gateway to zero-rating B2B cross-border supplies and applying the reverse charge mechanism. If your customer provides an invalid or incorrectly formatted VAT number and you zero-rate the sale, you may be held liable for the VAT by your own tax authority.
Format validation is the first step. It checks that a number follows the correct pattern for its claimed country. But format validation alone is not sufficient — a number can be correctly formatted but not actually active. Full validation requires checking the VIES (VAT Information Exchange System) database maintained by the European Commission.
EU VAT Number Formats — All 27 Countries
Each EU country uses a two-letter country code prefix followed by a country-specific numeric or alphanumeric pattern:
- →Austria (AT): ATU + 8 digits. Example: ATU12345678
- →Belgium (BE): BE + 0 + 9 digits. Example: BE0123456789
- →Bulgaria (BG): BG + 9–10 digits. Example: BG123456789
- →Croatia (HR): HR + 11 digits. Example: HR12345678901
- →Cyprus (CY): CY + 8 digits + 1 letter. Example: CY12345678A
- →Czech Republic (CZ): CZ + 8–10 digits. Example: CZ12345678
- →Denmark (DK): DK + 8 digits. Example: DK12345678
- →Estonia (EE): EE + 9 digits. Example: EE123456789
- →Finland (FI): FI + 8 digits. Example: FI12345678
- →France (FR): FR + 2 alphanumeric characters + 9 digits. Example: FRAA123456789
- →Germany (DE): DE + 9 digits. Example: DE123456789
- →Greece (EL): EL + 9 digits. Example: EL123456789 (note: uses EL not GR)
- →Hungary (HU): HU + 8 digits. Example: HU12345678
- →Ireland (IE): IE + 1 digit + 1 alphanumeric + 5 digits + 1–2 letters. Example: IE1A12345B
- →Italy (IT): IT + 11 digits. Example: IT12345678901
- →Latvia (LV): LV + 11 digits. Example: LV12345678901
- →Lithuania (LT): LT + 9 or 12 digits. Example: LT123456789
- →Luxembourg (LU): LU + 8 digits. Example: LU12345678
- →Malta (MT): MT + 8 digits. Example: MT12345678
- →Netherlands (NL): NL + 9 digits + B + 2 digits. Example: NL123456789B01
- →Poland (PL): PL + 10 digits. Example: PL1234567890
- →Portugal (PT): PT + 9 digits. Example: PT123456789
- →Romania (RO): RO + 2–10 digits. Example: RO12345678
- →Slovakia (SK): SK + 10 digits. Example: SK1234567890
- →Slovenia (SI): SI + 8 digits. Example: SI12345678
- →Spain (ES): ES + 1 alphanumeric + 7 digits + 1 alphanumeric. Example: ESA1234567A
- →Sweden (SE): SE + 12 digits. Example: SE123456789012
Common Format Errors to Watch For
Greece uses EL not GR: Greek VAT numbers use the prefix EL, not GR (the ISO country code). A number starting with GR will fail format validation even if otherwise correct.
Netherlands includes a B: Dutch VAT numbers always contain the letter B followed by two digits in the middle: NL123456789B01. The B is often missed when manually transcribing numbers.
Austria uses ATU not AT: Austrian VAT numbers always begin with ATU (three characters), not just AT. ATU12345678 is correct; AT12345678 is wrong.
France allows letters: French VAT numbers can contain letters in the first two positions after FR. FRAA123456789 is a valid format. This surprises people who expect all-numeric formats.
Romania has variable length: Romanian VAT numbers can be anywhere from 2 to 10 digits after the RO prefix, making them one of the harder formats to validate by pattern alone.
How to Validate EU VAT Numbers Using VIES
Format checking confirms the number looks right. VIES validation confirms the number is actually registered and active. The European Commission provides the VIES (VAT Information Exchange System) at ec.europa.eu/taxation_customs/vies/.
To validate: 1. Go to the VIES portal 2. Select the member state from the dropdown 3. Enter the VAT number without the country prefix 4. Click Verify
VIES will return one of three responses: "Yes, valid VAT number" with the registered business name and address; "No, invalid VAT number" if the number is not registered; or "VAT number cannot currently be verified" if the member state's system is temporarily unavailable.
Always save a record of the VIES validation result (screenshot or PDF) at the time of the transaction. This provides evidence that you carried out due diligence if a customer's VAT number is later found to be fraudulent.
What Happens if You Zero-Rate Based on an Invalid VAT Number?
If you zero-rate a B2B supply (applying reverse charge or intra-EU zero-rating) and the customer's VAT number turns out to be invalid, you may be held jointly liable for the VAT that should have been charged. Tax authorities can assess you for the output VAT, plus interest and penalties.
The defence against this is to show you acted in good faith and took reasonable steps to verify the number. A contemporaneous VIES check record is the most robust evidence. Some countries also allow reliance on a customer declaration of VAT-registered status, but VIES is the safest approach.