Structure, check digit and VIES disclosure rules for the VAT number of all 27 EU member states plus Northern Ireland. A developer reference.
| Member state | Prefix | Structure | Name via VIES | Check digit enforced |
|---|---|---|---|---|
| Austria | AT | U followed by 8 digits | Yes | — |
| Belgium | BE | 10 digits, first digit 0 (older series) or 1 (newer series) | Yes | — |
| Bulgaria | BG | 9 or 10 digits | Yes | — |
| Croatia | HR | 11 digits (the national OIB) | Yes | — |
| Cyprus | CY | 8 digits then 1 letter | Yes | — |
| Czechia | CZ | 8 to 10 digits | Yes | — |
| Denmark | DK | 8 digits | Yes | — |
| Estonia | EE | 9 digits | Yes | — |
| Finland | FI | 8 digits | Yes | — |
| France | FR | 11 digits: 2-digit check key then the 9-digit SIREN | Yes | Yes |
| Germany | DE | 9 digits | No | — |
| Greece | EL | 9 digits | Yes | — |
| Hungary | HU | 8 digits | Yes | — |
| Ireland | IE | Old format: 7 digits + 1-2 letters. New format (since 2013): digit 1, then 1 letter, then 5 digits, then 1-2 letters | Yes | — |
| Italy | IT | 11 digits | Yes | Yes |
| Latvia | LV | 11 digits | Yes | — |
| Lithuania | LT | 9 or 12 digits | Yes | — |
| Luxembourg | LU | 8 digits | Yes | — |
| Malta | MT | 8 digits | Yes | — |
| Netherlands | NL | 9 digits, then the literal letter B, then 2 branch digits | Yes | — |
| Northern Ireland | XI | 9 digits, or 12 digits for a branch/establishment | Yes | — |
| Poland | PL | 10 digits | Yes | — |
| Portugal | PT | 9 digits | Yes | — |
| Romania | RO | 2 to 10 digits | Yes | — |
| Slovakia | SK | 10 digits | Yes | — |
| Slovenia | SI | 8 digits | Yes | — |
| Spain | ES | One letter/digit, 7 digits, then one check character | No | Yes |
| Sweden | SE | 10 or 12 digits (the 12-digit form ends in a branch suffix, usually 01) | Yes | — |
Greece is the classic trap. VIES expects the prefix EL, not the ISO code GR. Any integration that builds the prefix from the ISO country code breaks silently on Greek numbers.
27 of the 28 entries carry an example number we confirmed valid against VIES ourselves. The rest are published without one rather than with a plausible-looking number we could not verify. The structures and check rules are authoritative either way.