Reference

VAT numbers in Europe, country by country

Twenty-seven member states, twenty-seven formats, twenty-seven registers. These pages explain each one: how the number is built, which national identifier it hides, and what it takes to reach the company behind it.

What an intra-community VAT number is

A VAT identification number is issued by a member state's tax administration to a business that trades across EU borders. It is what makes a reverse-charge invoice possible: supply a valid number and your supplier invoices you without VAT, which is why checking a customer's number is not paperwork but the condition of the exemption.

Every number starts with a two-letter prefix. Twenty-six of them are the ISO country code; Greece is the exception, written EL rather than GR. Northern Ireland keeps its own prefix, XI, since Brexit.

The VAT number is rarely the company number. In Belgium and Denmark they are the same digits; in France the VAT number is derived from the SIREN; in Germany, Ireland and Spain the tax administration assigns something entirely separate. That single fact is what makes cross-border company lookup hard.

Format by member state

Intra-community VAT number format in each EU member state
CountryPrefixFormat
AustriaATATU + 8 digits
BelgiumBEBE + 10 digits
BulgariaBGBG + 9 or 10 digits
CroatiaHRHR + 11 digits
CyprusCYCY + 8 digits + 1 letter
CzechiaCZCZ + 8 to 10 digits
DenmarkDKDK + 8 digits
EstoniaEEEE + 9 digits
FinlandFIFI + 8 digits
FranceFRFR + 2 characters + 9 digits
GermanyDEDE + 9 digits
GreeceELEL + 9 digits
HungaryHUHU + 8 digits
IrelandIEIE + 8 or 9 characters
ItalyITIT + 11 digits
LatviaLVLV + 11 digits
LithuaniaLTLT + 9 or 12 digits
LuxembourgLULU + 8 digits
MaltaMTMT + 8 digits
NetherlandsNLNL + 9 digits + B + 2 digits
PolandPLPL + 10 digits
PortugalPTPT + 9 digits
RomaniaRORO + 2 to 10 digits
SlovakiaSKSK + 10 digits
SloveniaSISI + 8 digits
SpainESES + 9 characters
SwedenSESE + 12 digits
Northern IrelandXIXI + 9 or 12 digits

The format is the syntax only. A well-formed number is not necessarily an assigned one, and an assigned one is not necessarily registered for intra-community trade.

Where the data comes from

There are three kinds of source, and the difference matters more than it looks:

  • National open data. France, Estonia, Latvia, Finland and Belgium publish their whole register for free. The catch is never the licence — it is whether a row can be reached by a VAT number. Ireland publishes its entire company register daily and it is useless here, because the Irish VAT number is assigned by Revenue and cannot be derived from the CRO number.
  • A national API. Poland, Czechia, Romania and Greece answer one number at a time, for free — each with its own protocol, its own rate limit and, sometimes, its own account.
  • VIES. The European Commission's service covers every member state and answers the one question no register does: is this number registered for intra-community trade right now? It is also slow, tightly rate-limited, and two states — Germany and Spain — disclose nothing but validity at all.

One API instead of twenty-seven

Vatlas resolves a VAT number from any member state to a company record: legal name, national identifier, legal form, status and address. Which register answered is a detail in meta, not something your code has to branch on.

curl "https://api.vatlas.dev/v1/vat/IT00743110157" \
  -H "Authorization: Bearer $VATLAS_KEY"

Response:

200 OK

{
  "data": {
    "vatNumber": "IT00743110157",
    "countryCode": "IT",
    "nationalNumber": "00743110157",
    "nationalId": null,
    "name": "MOTOROLA SOLUTIONS ITALIA SRL",
    "legalForm": null,
    "status": "active",
    "address": {
      "line1": "LARGO FRANCESCO RICHINI 6",
      "line2": null,
      "postalCode": "20122",
      "city": "MILANO MI",
      "country": "IT"
    }
  },
  "meta": {
    "origin": "vies",
    "source": "VIES",
    "sourceUpdatedAt": "2026-08-28T09:43:39.522Z",
    "checked": ["database", "VIES"]
  }
}

Free to try. An email address creates an account — no credit card, no sales call — with 100 requests a month and a working key in about a minute.

Get a free key Read the documentation

Last updated 28 August 2026.

Ready to wire this up in ten minutes?

100 requests a month for free, no card required. 10,000 a month for 14 € excl. VAT when you outgrow it.