EU VAT ID Number Formats by Country for ERP Customer and Supplier Validation
Every cross-border B2B invoice in the EU depends on a valid VAT ID in the customer master. This reference shows the structure and length of the VAT number for each member state, so you can build validation rules that catch typing errors at the time of entry rather than at the VAT audit.
| Country | Prefix | Structure after prefix | Digits/characters | Pattern example |
|---|---|---|---|---|
Austria | ATU | 8 digits | 8 | ATU12345678 |
Belgium | BE | 10 digits starting 0 or 1 | 10 | BE0123456789 |
Bulgaria | BG | 9 or 10 digits | 9-10 | BG123456789 |
Croatia | HR | 11 digits | 11 | HR12345678901 |
Cyprus | CY | 8 digits then 1 letter | 9 | CY12345678X |
Czechia | CZ | 8, 9 or 10 digits | 8-10 | CZ12345678 |
Denmark | DK | 8 digits | 8 | DK12345678 |
Estonia | EE | 9 digits | 9 | EE123456789 |
Finland | FI | 8 digits | 8 | FI12345678 |
France | FR | 2 check characters then 9 digit SIREN | 11 | FR12345678901 |
Germany | DE | 9 digits | 9 | DE123456789 |
Greece | EL | 9 digits | 9 | EL123456789 |
Hungary | HU | 8 digits | 8 | HU12345678 |
Ireland | IE | 8 or 9 characters with letters | 8-9 | IE1234567X |
Italy | IT | 11 digits | 11 | IT12345678901 |
Latvia | LV | 11 digits | 11 | LV12345678901 |
Lithuania | LT | 9 or 12 digits | 9 or 12 | LT123456789 |
Luxembourg | LU | 8 digits | 8 | LU12345678 |
Malta | MT | 8 digits | 8 | MT12345678 |
Netherlands | NL | 9 digits, letter B, 2 digits | 12 | NL123456789B01 |
Poland | PL | 10 digits (NIP) | 10 | PL1234567890 |
Portugal | PT | 9 digits | 9 | PT123456789 |
Romania | RO | 2 to 10 digits | 2-10 | RO1234567890 |
Slovakia | SK | 10 digits | 10 | SK1234567890 |
Slovenia | SI | 8 digits | 8 | SI12345678 |
Spain | ES | 9 characters, letter or digit at start and end | 9 | ESX1234567X |
Sweden | SE | 10 digits then 01 | 12 | SE123456789001 |
Patterns are formal length and character rules only. A number that matches the pattern can still be invalid or unregistered. Always confirm the status in the EU VIES service before you apply a zero rate on an intra-community supply. Examples are fictitious. Northern Ireland uses prefix XI for goods; check the current rules before using it.
Customer master VAT ID cleanup
Optional: have us review a read-only extract of your customer master for malformed VAT IDs.
Optional. The tool and every export work without this. No spam.
How to use the table
Filter by country, then copy the structure into your validation rule. A simple rule has three parts: the prefix must equal the country of the address, the remaining characters must match the length and character class, and the number must pass a VIES lookup before the first zero rated order is released. Export the table to Excel to keep it next to your data cleansing plan when you migrate customers from an old system into abas, proALPHA, Exact, Visma, IFS or Priority.
Pattern check versus real validation
A pattern check only proves that the number looks plausible. VIES, the European Commission lookup service, confirms that the number is registered for intra-community transactions at the time of the query. Some national systems also check a modulus control digit, which you can add as a second layer. For audit purposes, store the VIES consultation result with the date and the request identifier, because tax authorities in several countries expect proof that you checked.
Country specific traps
Germany has both a USt-IdNr, which starts with DE, and a national tax number, which looks different and must not be used for intra-community supplies. The Netherlands has a separate BTW-nummer ending in B and a two digit suffix, which differs from a company registration number. France builds the VAT number from a check key and the nine digit SIREN. Spain and Ireland allow letters inside the number, so a numeric-only rule will reject valid customers.
- Do not mix tax numbers and VAT IDs in the same field.
- Allow letters for Spain, Ireland and Cyprus.
- Handle Greece as EL, not GR.
- Strip spaces and dots before validation, then store a clean value.
Common mistakes
Frequent errors include storing the VAT ID without its prefix, validating only the length, and relying on a one time check at customer creation. A customer can lose its registration later, so schedule periodic revalidation for active customers, and always revalidate before a large zero rated shipment. Keep the result of each check on the customer record.
Frequently Asked Questions
Can I rely on the pattern alone for a zero rated sale?
No. The pattern only confirms the format. For an intra-community supply you should confirm the number in VIES on or near the invoice date and keep the evidence. Authorities in many countries can deny the exemption if the customer number was invalid.
Why do Spanish and Irish numbers contain letters?
Both countries use alphanumeric identifiers. Spanish numbers typically begin or end with a letter, and Irish numbers include one or two letters in the structure. A rule that allows digits only will wrongly reject valid customers.
Does the prefix count as part of the number?
In invoicing and VIES queries the country prefix is part of the displayed VAT ID. Many ERPs store the prefix and the number in separate fields, which is fine as long as the invoice prints them together.
How do I handle UK and Swiss customers?
They are outside the EU VAT system and VIES does not cover them. Use their national registration formats and treat sales as exports, with the documentation your customs and tax advisers require.
If your customer master has thousands of unchecked VAT numbers, Netray can run a read-only validation pass over a data extract and give you an exception list to clean up before migration.
Related Tools
EU VAT Standard Rates Reference for ERP Setup
Search the standard VAT rate of every EU member state, with ISO codes and the VAT prefix, before you build tax codes in your ERP.
Country & TaxEuropean E-Invoicing Formats by Country Reference
Which e-invoice format or network applies in each European country, with the syntax behind it, for ERP output planning.
Compliance & ContractsGDPR ERP Data Migration Checklist
A practical checklist for handling personal data safely when you migrate to or implement a new ERP in the EU.
ERP Migration & SelectionERP Localization Gap Register Worksheet
Log each country requirement, how the ERP covers it, the effort in days and the cost, and see the total gap cost at a glance.
More Country & Tax tools
See all- EU Intrastat Threshold Monitoring Worksheet
- EU ViDA E-Invoicing Readiness Checklist
- Intrastat Nature of Transaction and Transport Mode Codes Reference
- Tally Prime Manufacturing Journal Checklist
- Tally Stock Item Import Template (Excel)
- Busy Accounting GST Setup Checklist
- GST Tax Invoice Format Template for Indian Manufacturers
- Delivery Challan Format Template for Goods Movement in India
- Purchase Order Format Template for Indian Manufacturers