Supported Countries
Vatly validates VAT and GST numbers for 32 countries - all EU member states, the United Kingdom (including Northern Ireland via the XI prefix), Switzerland, Liechtenstein, Norway, and Australia.Country codes
| Code | Country | Upstream |
|---|---|---|
AT | Austria | VIES |
BE | Belgium | VIES |
BG | Bulgaria | VIES |
CH | Switzerland | BFS UID Register |
CY | Cyprus | VIES |
CZ | Czech Republic | VIES |
DE | Germany | VIES |
DK | Denmark | VIES |
EE | Estonia | VIES |
EL | Greece | VIES |
ES | Spain | VIES |
FI | Finland | VIES |
FR | France | VIES |
GB | United Kingdom | HMRC |
HR | Croatia | VIES |
HU | Hungary | VIES |
IE | Ireland | VIES |
IT | Italy | VIES |
LI | Liechtenstein | BFS UID Register |
LT | Lithuania | VIES |
LU | Luxembourg | VIES |
LV | Latvia | VIES |
MT | Malta | VIES |
NL | Netherlands | VIES |
NO | Norway | Bronnysund Register Centre |
AU | Australia | ABR (Australian Business Register) |
PL | Poland | VIES |
PT | Portugal | VIES |
RO | Romania | VIES |
SE | Sweden | VIES |
SI | Slovenia | VIES |
SK | Slovakia | VIES |
XI | Northern Ireland | VIES |
Routing
- EU countries (including
XI) are validated via the VIES service GBis validated via the HMRC APICHandLIare validated via the BFS UID Register (Swiss Federal Statistical Office). Liechtenstein shares a VAT territory with Switzerland and uses the same BFS APINOis validated via the Bronnysund Register Centre (Enhetsregisteret)AUis validated via the ABR (Australian Business Register). Checks GST registration status via ABN lookup
Input normalization
The API automatically normalizes VAT numbers before validation:- Uppercase:
nl123456789b01becomesNL123456789B01 - Strip spaces:
NL 123 456 789 B01becomesNL123456789B01 - Strip dots:
NL123.456.789.B01becomesNL123456789B01 - Strip hyphens:
NL-123456789-B01becomesNL123456789B01
Greece uses
EL as its country code (not GR). This follows the EU VIES convention.Format details
Switzerland (CH) and Liechtenstein (LI)
Swiss UID format: CHE-NNN.NNN.NNN followed by a MWST, TVA, or IVA suffix (depending on language region). Example: CHE-123.456.789 MWST. The API normalizes this to CHE123456789MWST.
The last digit of the 9-digit UID number is a MOD11 checksum. The API validates this checksum before calling the BFS upstream.
Liechtenstein uses the same format and the same BFS API as Switzerland.
Norway (NO)
Norwegian format: NO followed by 9 digits and the MVA suffix. Example: NO123456785MVA. The last digit of the 9-digit organization number is a MOD11 checksum. The API validates this checksum before calling the Bronnysund upstream.
Australia (AU)
Australian ABN (Australian Business Number) format: AU followed by 11 digits. Example: AU51824753556. The ABN has a weighted checksum algorithm that the API validates before calling the ABR upstream. You can also pass the ABN prefix (e.g., ABN51824753556) and it will be normalized to AU51824753556.
Consultation numbers with requester_vat_number
Pass your own VAT number as the requester_vat_number query parameter to receive a consultation number for audit-proof tax compliance workflows. This works for both EU (VIES) and UK (HMRC) validations.
EU example: EU requester for an EU target:
data.consultation_number:
For EU targets, the requester must be an EU VAT number. For UK targets, the requester must be a UK VAT number. Cross-system requests (e.g. EU requester for UK target) silently omit
consultation_number.Consultation numbers are not available for CH, LI, NO, or AU validations. The BFS UID Register, Bronnysund Register Centre, and ABR do not support consultation number issuance.