Reference dataset

VAT and GST number formats by country

Prefix, format pattern, regex, and verification service for VAT and GST registration numbers across jurisdictions. Built for developers writing invoice validators and B2B sellers verifying buyer tax IDs. Downloadable as CSV and JSON.

How VAT and GST registration numbers are structured in each country. The country prefix used on invoices (with one notable exception, Greece uses EL rather than GR), the format pattern, a regex you can drop into a validator, an example number, and the verification service that confirms whether a given number is currently valid. Each row cites the national tax authority that publishes the format.

41 rows · Last verified: 2026-05-27
CountryPrefixFormatExampleRegexVerificationSource
AustriaATAT + U + 8 digitsATU12345678^ATU[0-9]{8}$FinanzOnline UID-Bestätigung; EU VIES Bundesministerium für Finanzen (BMF)
BelgiumBEBE + 10 digits (leading 0 or 1)BE0123456789^BE[01][0-9]{9}$EU VIES; FOD Financiën KBO/BCE lookup FOD Financiën / SPF Finances
BulgariaBGBG + 9 or 10 digitsBG123456789^BG[0-9]{9,10}$EU VIES; NRA (НАП) portal Национална агенция за приходите (NRA)
CyprusCYCY + 8 digits + 1 letterCY12345678L^CY[0-9]{8}[A-Z]$EU VIES; Cyprus Tax Department Cyprus Tax Department
Czech RepublicCZCZ + 8, 9, or 10 digitsCZ12345678^CZ[0-9]{8,10}$EU VIES; ADIS register (Finanční správa) Finanční správa České republiky
GermanyDEDE + 9 digitsDE123456789^DE[0-9]{9}$BZSt qualified confirmation; EU VIES Bundeszentralamt für Steuern (BZSt)
DenmarkDKDK + 8 digitsDK12345678^DK[0-9]{8}$EU VIES; CVR register (Erhvervsstyrelsen) Skattestyrelsen (Danish Tax Agency)
EstoniaEEEE + 9 digitsEE123456789^EE[0-9]{9}$EU VIES; EMTA e-services Maksu- ja Tolliamet (EMTA)
GreeceELEL + 9 digitsEL123456789^EL[0-9]{9}$EU VIES; AADE TAXISnet Independent Authority for Public Revenue (AADE)
SpainESES + 9 characters; first and/or last position may be a letter depending on entity typeESA1234567B^ES(?:[A-Z][0-9]{7}[A-Z]|[A-Z][0-9]{8}|[0-9]{8}[A-Z])$EU VIES; Agencia Tributaria (AEAT) consulta NIF Agencia Estatal de Administración Tributaria (AEAT)
FinlandFIFI + 8 digitsFI12345678^FI[0-9]{8}$EU VIES; Vero.fi YTJ company-information service Verohallinto (Finnish Tax Administration)
FranceFRFR + 2-character key (digits and/or uppercase letters, excluding I and O) + 9-digit SIRENFR12345678901^FR[0-9A-HJ-NP-Z]{2}[0-9]{9}$EU VIES; impots.gouv.fr Direction générale des Finances publiques (DGFiP)
CroatiaHRHR + 11 digitsHR12345678901^HR[0-9]{11}$EU VIES; Porezna uprava OIB lookup Porezna uprava (Croatian Tax Administration)
HungaryHUHU + 8 digitsHU12345678^HU[0-9]{8}$EU VIES; NAV adószám-érvényesség lookup Nemzeti Adó- és Vámhivatal (NAV)
IrelandIEIE + 7 digits + 1 or 2 letters (current format: 7 digits + 2 letters; legacy variants exist)IE1234567WA^IE(?:[0-9]{7}[A-W]|[0-9]{7}[A-W][A-I]|[0-9][A-Z+*][0-9]{5}[A-W])$EU VIES; Revenue Online Service (ROS) Revenue Commissioners
ItalyITIT + 11 digitsIT12345678901^IT[0-9]{11}$EU VIES; Agenzia delle Entrate VIES service Agenzia delle Entrate
LithuaniaLTLT + 9 or 12 digitsLT123456789^LT(?:[0-9]{9}|[0-9]{12})$EU VIES; VMI (State Tax Inspectorate) Valstybinė mokesčių inspekcija (VMI)
LuxembourgLULU + 8 digitsLU12345678^LU[0-9]{8}$EU VIES; AED Administration de l'enregistrement, des domaines et de la TVA (AED)
LatviaLVLV + 11 digitsLV12345678901^LV[0-9]{11}$EU VIES; VID (State Revenue Service) Valsts ieņēmumu dienests (VID)
MaltaMTMT + 8 digitsMT12345678^MT[0-9]{8}$EU VIES; CfR (Commissioner for Revenue) Commissioner for Revenue (Malta)
NetherlandsNLNL + 9 digits + 'B' + 2 digits (legal entities); since 1 Jan 2020 sole traders use a 12-character alphanumeric btw-id (NL + 9 alphanumerics + 'B' + 2 digits) decoupled from BSNNL123456789B01^NL[0-9A-Z+*]{10}[0-9]{2}$EU VIES; Belastingdienst btw-controle Belastingdienst
PolandPLPL + 10 digitsPL1234567890^PL[0-9]{10}$EU VIES; KAS 'Biała lista podatników VAT' (white list) Krajowa Administracja Skarbowa (KAS)
PortugalPTPT + 9 digitsPT123456789^PT[0-9]{9}$EU VIES; AT portal Autoridade Tributária e Aduaneira (AT)
RomaniaRORO + 2 to 10 digitsRO1234567890^RO[1-9][0-9]{1,9}$EU VIES; ANAF Registrul persoanelor impozabile Agenția Națională de Administrare Fiscală (ANAF)
SwedenSESE + 12 digits (last two are always '01')SE123456789001^SE[0-9]{10}01$EU VIES; Skatteverket Skatteverket
SloveniaSISI + 8 digits (first digit 1-9)SI12345678^SI[1-9][0-9]{7}$EU VIES; FURS davčni zavezanci register Finančna uprava Republike Slovenije (FURS)
SlovakiaSKSK + 10 digitsSK1234567890^SK[1-9][0-9]{9}$EU VIES; Finančné riaditeľstvo SR Finančné riaditeľstvo Slovenskej republiky
United KingdomGBGB + 9 digits (standard), or GB + 12 digits (branch traders), or GB + 'GD' + 3 digits (government departments 500-999), or GB + 'HA' + 3 digits (health authorities 000-499)GB123456789^GB(?:[0-9]{9}|[0-9]{12}|GD[0-9]{3}|HA[0-9]{3})$HMRC 'Check a UK VAT number' service. NOT validatable via EU VIES post-Brexit HM Revenue and Customs (HMRC)
Northern IrelandXIXI + 9 digits (or 12 digits / GD / HA variants, mirroring GB structure)XI123456789^XI(?:[0-9]{9}|[0-9]{12}|GD[0-9]{3}|HA[0-9]{3})$EU VIES (Northern Ireland goods movements); HMRC service HM Revenue and Customs (HMRC)
SwitzerlandCHECHE + 9 digits + space + 'MWST' (German) or 'TVA' (French) or 'IVA' (Italian)CHE-123.456.789 MWST^CHE[- ]?[0-9]{3}\.?[0-9]{3}\.?[0-9]{3}( (MWST|TVA|IVA))?$ESTV UID-Register (https://www.uid.admin.ch/); EFTA does not participate in VIES Eidgenössische Steuerverwaltung (ESTV)
NorwayNONO + 9 digits + 'MVA'NO123456789MVA^NO[0-9]{9}MVA$Brønnøysundregistrene (https://data.brreg.no/enhetsregisteret/) Skatteetaten (Norwegian Tax Administration)
IcelandISIS + 5 or 6 digitsIS123456^IS[0-9]{5,6}$Skatturinn Skatturinn (Iceland Revenue and Customs)
Australia11 digits (often displayed as XX XXX XXX XXX)51824753556^[0-9]{11}$ABN Lookup (https://abr.business.gov.au/) Australian Taxation Office (ATO)
New Zealand8 or 9 digits (often displayed XXX-XXX-XXX)123456789^[0-9]{8,9}$Inland Revenue Department; no public lookup API for arbitrary GST numbers Inland Revenue Department (IRD)
JapanT'T' + 13-digit Corporate Number (法人番号) for corporations, or 'T' + 13-digit individually issued number for sole proprietorsT1234567890123^T[0-9]{13}$National Tax Agency Qualified Invoice Issuer Public Site (https://www.invoice-kohyo.nta.go.jp/) National Tax Agency (NTA)
SingaporeTypically the entity's UEN (Unique Entity Number), 9-10 characters. Common forms: 'NNNNNNNNNX', 'TNNPQNNNNX' or 'SNNPQNNNNX', 'MNNNNNNNNX'200012345M^(?:[0-9]{8}[A-Z]|[STR][0-9]{2}[A-Z]{2}[0-9]{4}[A-Z]|M[0-9]{8}[A-Z])$IRAS GST Registered Business Search Inland Revenue Authority of Singapore (IRAS)
India15 characters: 2-digit state code + 10-character PAN + 1-digit entity number + 'Z' (default) + 1 check character22AAAAA0000A1Z5^[0-9]{2}[A-Z]{5}[0-9]{4}[A-Z][1-9A-Z]Z[0-9A-Z]$GSTN portal 'Search Taxpayer' (https://services.gst.gov.in/services/searchtp) Goods and Services Tax Network (GSTN) / CBIC
United Arab Emirates15 digits100123456700003^[0-9]{15}$Federal Tax Authority TRN Verification Federal Tax Authority (FTA)
South Africa10 digits, always starting with '4'4123456789^4[0-9]{9}$SARS VAT Vendor Search (eFiling) South African Revenue Service (SARS)
Canada9-digit Business Number + 'RT' + 4-digit reference (e.g. 123456789RT0001)123456789RT0001^[0-9]{9}RT[0-9]{4}$CRA GST/HST Registry Canada Revenue Agency (CRA)
Mexico12 alphanumerics for legal entities, 13 alphanumerics for natural personsABC123456T1A^(?:[A-ZÑ&]{3}[0-9]{6}[A-Z0-9]{3}|[A-ZÑ&]{4}[0-9]{6}[A-Z0-9]{3})$SAT 'Validación de RFC' Servicio de Administración Tributaria (SAT)

Every row cites a primary source. See the methodology section below for sourcing details and known limitations.

Methodology

Regex patterns match format only, not check digits. Most countries use a check-digit algorithm (modulo 11, modulo 97, Luhn variants) but delegate validation of liveness and check digits to a national lookup service or, for the EU, the VIES portal. The regex is therefore a syntactic filter; full validation requires a lookup.

Areas where this dataset specifically corrects common AI errors and validator bugs:

  • Greece uses EL, not GR. This is a historical artifact and the single most common AI-generated regex error for EU VAT numbers.
  • UK post-Brexit: GB VAT numbers no longer validate via VIES (since 1 January 2021). Use HMRC's "Check a UK VAT number" service. Northern Ireland businesses moving goods continue to use the XI prefix in VIES.
  • Austria's literal "U": ATU + 8 digits. Validators that drop the U will reject every valid Austrian number.
  • Spain has three valid sub-formats depending on entity type (NIF for corporates, NIE for foreign individuals, NIF for natural persons). The regex uses alternation to cover all three.
  • Switzerland's UID is CHE-123.456.789 MWST (or TVA / IVA depending on canton language). The language suffix is part of the printed number.
  • The Netherlands changed format in 2020: sole traders received a new privacy-protecting btw-id that includes letters in positions 3 through 11 and a literal "B" at position 12. Validators built before 2020 reject the new format.
  • Ireland has three coexisting format families: modern 7 digits + 2 letters, transitional 7 digits + 1 letter, and a legacy 1 digit + special character + 5 digits + 1 letter.
  • Japan introduced T-prefixed qualified invoice issuer numbers on 1 October 2023 (T + 13-digit Corporate Number). The T is part of the printed registration number.
  • Italy: partita IVA (11 digits, business) must not be confused with codice fiscale (16 alphanumerics, personal).

For validators, the right architecture is: (1) syntactic check via the regex here, (2) authoritative lookup via the verification service in the last column. Format alone is necessary but not sufficient.

Capture VAT numbers without the validator headache

JupiterInvoice validates the buyer's VAT or GST number format on entry and lets you call out to the national verification service where the integration exists. No silent failures, no rejected invoices. Free, no signup.

Create your first invoice

No signup required. Build now, save later.