Free tool · VIES

VIES VAT number check (EU and Northern Ireland)

Check a VAT number against VIES, the European Commission’s VAT validation system. This page checks EU numbers and Northern Ireland (XI) numbers through VIES, not Great Britain (GB) numbers, which HMRC checks on its own service. Type a VAT number. The page checks its format for the member state named by the prefix, then asks VIES whether the number is registered and, where the member state discloses it, returns the registered name and address.

Updated 7 November 2026

Type a VAT number. The format is checked in your browser first; nothing is sent until the format is right.

Live checks used: 0 of 10 on this page, at most 4 a minute. A shared, read-only demo key, so a busy moment is possible. Sign up

The same check with curl
curl "https://api.prometiam.com/functions/v1/risk-api/vat/IE6388047V" \
  -H "Authorization: Bearer YOUR_API_KEY"

What VIES is

VIES, the VAT Information Exchange System, is the European Commission’s service for checking whether a VAT number is registered in an EU member state. It is a search engine, not a database: each query is relayed to the national VAT database of the country that issued the number, which answers valid or not valid and, in some countries, the trader’s name and address.

A supplier of goods to a business in another member state needs the buyer’s valid VAT number to zero-rate the sale, which is why invoicing systems and onboarding teams run the check. It covers the 27 EU member states plus XI, the prefix for Northern Ireland businesses that trade in goods. Greece files under EL, not GR; this page reads GR as EL. GB VAT numbers are out of VIES scope since Brexit, so the checker says so rather than sending them.

Find a company’s VAT number from its company number

In many countries the VAT number is the company number with a prefix, or with a prefix and a suffix. Pick the country, type the company number and the page builds the VAT number by the same rule the Prometiam API uses for vat_number; a button then checks it in VIES, through the checker above.

Type the number, for example 552032534.

The number is built from a rule, so it has the right format, but only VIES confirms that the company is registered for VAT.

  • Spain: ES and the NIF of a company (a letter, seven digits and a control character). A personal NIF or NIE gives no company VAT number.
  • France: FR, a two-digit key and the SIREN, with key = (12 + 3 × (SIREN mod 97)) mod 97.
  • Poland: PL and the NIP. Belgium: BE and the ten-digit enterprise number. Croatia: HR and the OIB. Denmark: DK and the CVR number.
  • Sweden: SE, the ten-digit organisationsnummer and 01. Finland: FI and the Y-tunnus without its hyphen. Norway: NO, the nine-digit organisasjonsnummer and MVA. Switzerland: the UID with the suffix MWST, as a format only.

The derived number has the right format; registration is confirmed only by VIES. In Norway and Finland the register can also say that a company is not VAT-registered, in which case the API returns no VAT number, and the calculator, which knows only the rule, cannot tell. Ireland, Great Britain, Slovakia and the United States have no rule, because their VAT numbers are separate registrations, and Estonia has none because the VAT number is not the registry code.

What a valid result means, and what it does not

Valid means the number is registered for VAT in its member state at the moment of the check, so it can be used for intra-EU supplies. That is the whole claim. Three things it does not say:

  • It is not a solvency check. A company in liquidation can still hold a valid VAT number. VIES says nothing about whether the business can pay you; for that, read the company record and the insolvency notices.
  • It does not identify who is behind the number. Compare the returned name with the name on your contract or invoice. Some member states, Germany and Spain among them, confirm validity without disclosing a name.
  • It is a point in time. VIES keeps no history, so log the date of the check as your evidence, and re-check recurring customers on a schedule.

Not confirmed can mean a typo, a number that was never registered, a cancelled registration, or a number not activated for intra-EU trade. It is not proof that the company does not exist. And when VIES or a member-state register does not answer, that is not an invalid number: the number was not checked, and the answer to give is to try again.

VAT number formats by country

The format check runs in your browser, before anything is sent. It tells you a number is written the way its member state writes VAT numbers; it does not verify national check digits (the company identifier validator does that where a country has one), and only VIES can say whether the number is registered.

PrefixCountryAfter the prefixWell-formed example
ATAustriathe letter U and 8 digitsATU12345678
BEBelgium10 digits, the first being 0 or 1BE0123456789
BGBulgaria9 or 10 digitsBG123456789
CYCyprus8 digits and 1 letterCY12345678A
CZCzechia8, 9 or 10 digitsCZ12345678
DEGermany9 digitsDE123456789
DKDenmark8 digitsDK12345678
EEEstonia9 digitsEE123456789
ELGreece9 digitsEL123456789
ESSpain9 characters: a letter or digit, 7 digits, then a letter or digit, the first and last never both digitsESA12345678
FIFinland8 digitsFI12345678
FRFrancea 2-character key (digits or letters, never I or O) and the 9-digit SIRENFR12345678901
HRCroatia11 digitsHR12345678901
HUHungary8 digitsHU12345678
IEIreland7 digits and 1 or 2 letters, or a digit, a letter, 5 digits and a letterIE1234567A
ITItaly11 digitsIT12345678901
LTLithuania9 or 12 digitsLT123456789
LULuxembourg8 digitsLU12345678
LVLatvia11 digitsLV12345678901
MTMalta8 digitsMT12345678
NLNetherlands9 digits, the letter B, then 2 digitsNL123456789B01
PLPoland10 digitsPL1234567890
PTPortugal9 digitsPT123456789
RORomania2 to 10 digitsRO1234567890
SESweden10 digits followed by 01SE123456789001
SISlovenia8 digitsSI12345678
SKSlovakia10 digitsSK1234567890
XINorthern Ireland9 digits, 12 digits, or GD or HA followed by 3 digitsXI123456789

The examples are well-formed, not registered. Spaces, dots and hyphens are ignored, as the API ignores them.

From a VAT number to the company record

In several of the countries whose registers the API serves, the national identifier sits inside the VAT number, so a number that passes VIES leads straight to the company record: legal name, legal form, status and address, and in the countries that publish them, the officers, the events and the linked insolvency notices.

CountryInside the VAT numberCompany lookup
Spain (ES)ES followed by the NIF or CIFcompany_number with the NIF or CIF
France (FR)FR, a 2-character key and the SIRENsiren with the last nine digits
United Kingdom (GB)Not the company number, and out of VIES scopeSearch by Companies House number or name
Ireland (IE)Issued by Revenue; not the CRO numberSearch by CRO number or name
Poland (PL)PL followed by the NIPnip with the ten digits
Norway (NO)Not in VIES; the organisasjonsnummer followed by MVAcompany_number with the organisasjonsnummer
Finland (FI)FI followed by the Y-tunnus without its hyphenvat with the whole VAT number
Sweden (SE)SE, the organisationsnummer and 01vat with the whole VAT number
Belgium (BE)BE followed by the enterprise numbervat with the whole VAT number
Croatia (HR)HR followed by the OIBvat with the whole VAT number
Denmark (DK)DK followed by the CVR numbervat with the whole VAT number
Estonia (EE)EE followed by the nine-digit KMKR number (not the registry code)vat with the whole VAT number, where the register publishes it
# a Finnish VAT number is the Y-tunnus without its hyphen
curl "https://api.prometiam.com/functions/v1/risk-api/companies/search?vat=FI01120389&country=FI" \
  -H "Authorization: Bearer YOUR_API_KEY"

What a record holds differs by country: Ireland, Poland, Finland, Sweden, Belgium, Croatia, Denmark, Estonia, Slovakia, Switzerland, Latvia, Cyprus, Romania, Lithuania, Canada, Australia, Japan, Israel, Singapore, Colombia (apart from the name of its legal representative), Taiwan, Brazil, Argentina and the United States are company-level (no officers), and Norway has register-change events only, from 14 Oct 2026 (no gazette). Sole traders are never served in Sweden or Croatia, nor enterprises of natural persons in Belgium, nor sole proprietorships and estates in Denmark, so a valid VAT number that belongs to one of them finds no company. The API docs list what each country carries.

The same check in your code

The checker calls GET /vat/{vatNumber}, which runs on any key, a trial key included. Pass the number with its prefix; the API ignores spaces and punctuation and reads GR as EL.

curl "https://api.prometiam.com/functions/v1/risk-api/vat/IE6388047V" \
  -H "Authorization: Bearer YOUR_API_KEY"

{
  "data": {
    "vat_number": "IE6388047V",
    "country_code": "IE",
    "number": "6388047V",
    "is_valid": true,
    "name": "GOOGLE IRELAND LIMITED",
    "address": "3RD FLOOR, GORDON HOUSE, BARROW STREET, DUBLIN 4",
    "request_date": "2026-07-07T13:47:15.528Z",
    "source": "VIES — VAT Information Exchange System (European Commission)"
  }
}

When is_valid is false, name and address are null. A 400 means the prefix is not a VIES member (Great Britain included), and a 503 with upstream_unavailable means VIES or the member-state register did not answer: retry, and do not treat the counterparty as unverified. The full walk-through, with Python and Node, is in the VAT validation API guide.

FAQ

What is VIES, and how does the VIES system VAT check work?
VIES (VAT Information Exchange System) is the European Commission’s service for checking whether a VAT number is registered in an EU member state. A VIES check sends the number to the national VAT database of the country that issued it, which answers valid or not valid and, in some countries, the registered name and address. This page runs that check for you.

What does a valid result from a VAT number checker mean?
VIES confirms the number is registered for VAT in its member state at the moment of the check, so it can be used for intra-EU supplies. It does not say the company is solvent or in good standing, or who is behind the number, and VIES keeps no history, so keep the date of the check.

How do I find a company’s VAT number from its company number?
In Spain, France, Poland, Belgium, Croatia, Denmark, Sweden, Finland and Norway the VAT number follows a rule from the national number: ES and the NIF, FR with a two-digit key computed from the SIREN, PL and the NIP, BE and the enterprise number, HR and the OIB, DK and the CVR number, SE with the organisationsnummer and 01, FI and the Y-tunnus without its hyphen, NO with the organisasjonsnummer and MVA. The calculator on this page does it. The result has the right format, but only VIES confirms that the company is registered, and the Norwegian and Finnish registers can say a company is not VAT-registered.

Can I check a UK VAT number?
Not a Great Britain one. GB VAT numbers left VIES with Brexit, so the checker reports them as out of scope and does not send them. Northern Ireland businesses that trade in goods use the XI prefix, which VIES covers. For Great Britain, use HMRC’s own VAT number checker.

Why did the check not complete?
VIES relays each query to the national VAT database of the member state that issued the number, and those databases go offline from time to time. The API answers 503 and says the number was not checked, which is different from an invalid number. Wait a minute and try again.

Why is the name blank on a valid VAT number?
Some member states, Germany and Spain among them, confirm that a number is valid without disclosing the trader’s name and address. A valid number with no name is a normal result there.

Is the VAT number sent anywhere?
The format check runs in your browser. The live check sends the number to the Prometiam API, which asks VIES; nothing typed here is stored except in the API’s usage log. The page uses a shared demo key with limits, so a busy moment is possible. A key of your own gives you 500 credits over a 14-day trial, card required, nothing charged for 14 days.

How do I get from a VAT number to the company record?
In most of the countries whose registers the API serves, the national identifier is inside the VAT number: the NIF in a Spanish one, the SIREN in a French one, the NIP in a Polish one and the OIB in a Croatian one. Take it out and search /companies/search with it. Irish and British VAT numbers are not company numbers, so search those companies by name or registration number. Sole traders are never served in Sweden or Croatia, nor enterprises of natural persons in Belgium, nor sole proprietorships and estates in Denmark, so a valid VAT number that belongs to one of them finds no company.