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
Country Prefix Format Example Regex Verification Source
Austria AT AT + U + 8 digits ATU12345678 ^ATU[0-9]{8}$ FinanzOnline UID-Bestätigung; EU VIES Bundesministerium für Finanzen (BMF)
Belgium BE BE + 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
Bulgaria BG BG + 9 or 10 digits BG123456789 ^BG[0-9]{9,10}$ EU VIES; NRA (НАП) portal Национална агенция за приходите (NRA)
Cyprus CY CY + 8 digits + 1 letter CY12345678L ^CY[0-9]{8}[A-Z]$ EU VIES; Cyprus Tax Department Cyprus Tax Department
Czech Republic CZ CZ + 8, 9, or 10 digits CZ12345678 ^CZ[0-9]{8,10}$ EU VIES; ADIS register (Finanční správa) Finanční správa České republiky
Germany DE DE + 9 digits DE123456789 ^DE[0-9]{9}$ BZSt qualified confirmation; EU VIES Bundeszentralamt für Steuern (BZSt)
Denmark DK DK + 8 digits DK12345678 ^DK[0-9]{8}$ EU VIES; CVR register (Erhvervsstyrelsen) Skattestyrelsen (Danish Tax Agency)
Estonia EE EE + 9 digits EE123456789 ^EE[0-9]{9}$ EU VIES; EMTA e-services Maksu- ja Tolliamet (EMTA)
Greece EL EL + 9 digits EL123456789 ^EL[0-9]{9}$ EU VIES; AADE TAXISnet Independent Authority for Public Revenue (AADE)
Spain ES ES + 9 characters; first and/or last position may be a letter depending on entity type ESA1234567B ^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)
Finland FI FI + 8 digits FI12345678 ^FI[0-9]{8}$ EU VIES; Vero.fi YTJ company-information service Verohallinto (Finnish Tax Administration)
France FR FR + 2-character key (digits and/or uppercase letters, excluding I and O) + 9-digit SIREN FR12345678901 ^FR[0-9A-HJ-NP-Z]{2}[0-9]{9}$ EU VIES; impots.gouv.fr Direction générale des Finances publiques (DGFiP)
Croatia HR HR + 11 digits HR12345678901 ^HR[0-9]{11}$ EU VIES; Porezna uprava OIB lookup Porezna uprava (Croatian Tax Administration)
Hungary HU HU + 8 digits HU12345678 ^HU[0-9]{8}$ EU VIES; NAV adószám-érvényesség lookup Nemzeti Adó- és Vámhivatal (NAV)
Ireland IE IE + 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
Italy IT IT + 11 digits IT12345678901 ^IT[0-9]{11}$ EU VIES; Agenzia delle Entrate VIES service Agenzia delle Entrate
Lithuania LT LT + 9 or 12 digits LT123456789 ^LT(?:[0-9]{9}|[0-9]{12})$ EU VIES; VMI (State Tax Inspectorate) Valstybinė mokesčių inspekcija (VMI)
Luxembourg LU LU + 8 digits LU12345678 ^LU[0-9]{8}$ EU VIES; AED Administration de l'enregistrement, des domaines et de la TVA (AED)
Latvia LV LV + 11 digits LV12345678901 ^LV[0-9]{11}$ EU VIES; VID (State Revenue Service) Valsts ieņēmumu dienests (VID)
Malta MT MT + 8 digits MT12345678 ^MT[0-9]{8}$ EU VIES; CfR (Commissioner for Revenue) Commissioner for Revenue (Malta)
Netherlands NL NL + 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 BSN NL123456789B01 ^NL[0-9A-Z+*]{10}[0-9]{2}$ EU VIES; Belastingdienst btw-controle Belastingdienst
Poland PL PL + 10 digits PL1234567890 ^PL[0-9]{10}$ EU VIES; KAS 'Biała lista podatników VAT' (white list) Krajowa Administracja Skarbowa (KAS)
Portugal PT PT + 9 digits PT123456789 ^PT[0-9]{9}$ EU VIES; AT portal Autoridade Tributária e Aduaneira (AT)
Romania RO RO + 2 to 10 digits RO1234567890 ^RO[1-9][0-9]{1,9}$ EU VIES; ANAF Registrul persoanelor impozabile Agenția Națională de Administrare Fiscală (ANAF)
Sweden SE SE + 12 digits (last two are always '01') SE123456789001 ^SE[0-9]{10}01$ EU VIES; Skatteverket Skatteverket
Slovenia SI SI + 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)
Slovakia SK SK + 10 digits SK1234567890 ^SK[1-9][0-9]{9}$ EU VIES; Finančné riaditeľstvo SR Finančné riaditeľstvo Slovenskej republiky
United Kingdom GB GB + 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 Ireland XI XI + 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)
Switzerland CHE CHE + 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)
Norway NO NO + 9 digits + 'MVA' NO123456789MVA ^NO[0-9]{9}MVA$ Brønnøysundregistrene (https://data.brreg.no/enhetsregisteret/) Skatteetaten (Norwegian Tax Administration)
Iceland IS IS + 5 or 6 digits IS123456 ^IS[0-9]{5,6}$ Skatturinn Skatturinn (Iceland Revenue and Customs)
Australia 11 digits (often displayed as XX XXX XXX XXX) 51824753556 ^[0-9]{11}$ ABN Lookup (https://abr.business.gov.au/) Australian Taxation Office (ATO)
New Zealand 8 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)
Japan T 'T' + 13-digit Corporate Number (法人番号) for corporations, or 'T' + 13-digit individually issued number for sole proprietors T1234567890123 ^T[0-9]{13}$ National Tax Agency Qualified Invoice Issuer Public Site (https://www.invoice-kohyo.nta.go.jp/) National Tax Agency (NTA)
Singapore Typically 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)
India 15 characters: 2-digit state code + 10-character PAN + 1-digit entity number + 'Z' (default) + 1 check character 22AAAAA0000A1Z5 ^[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 Emirates 15 digits 100123456700003 ^[0-9]{15}$ Federal Tax Authority TRN Verification Federal Tax Authority (FTA)
South Africa 10 digits, always starting with '4' 4123456789 ^4[0-9]{9}$ SARS VAT Vendor Search (eFiling) South African Revenue Service (SARS)
Canada 9-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)
Mexico 12 alphanumerics for legal entities, 13 alphanumerics for natural persons ABC123456T1A ^(?:[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.