What Is VIES? A Guide for Finance Teams

19 August 2026

What Is VIES? A Guide for Finance Teams

What Is VIES? A Guide for Finance Teams

VIES is the free European Commission service you use to confirm that an EU VAT number is registered. Type in a number, and it tells you whether that number is on the books in the country it belongs to. Finance and operations teams reach for it constantly — before invoicing a new EU customer, when a supplier gives you their VAT number, or whenever an intra-EU B2B transaction depends on the other side being VAT-registered.

This guide is the plain-English version: what VIES actually does, what a "valid" or "invalid" answer really means for your invoices, and where the limits are. It stays inside the area VIES covers — the EU-27 plus XI (Northern Ireland). If you want the mechanics under the hood, how VIES works, in depth goes further than we will here.

What VIES is

VIES stands for the VAT Information Exchange System. The important thing to understand is what it is not: it is not one big central EU database of VAT numbers. The European Commission describes it as a search engine, not a database — and that distinction matters more than it sounds.

When you look up a VAT number, VIES takes the country prefix, works out which member state the number belongs to, and forwards your query to that country's own VAT database in real time. Ireland's tax authority answers for Irish numbers, Germany's answers for German numbers, and so on. VIES relays the answer back to you. It owns none of the data; it routes the question to whoever does.

That design has two consequences worth keeping in mind. First, the data is only as current as each national database — the Commission doesn't control it and disclaims its accuracy, so a change made by a national authority isn't always reflected the instant it happens. Second, because each country answers for itself, the countries can fail independently: one national node can be down while every other one works fine.

Who actually runs a VIES check (a person, or your billing system)

In practice a VIES check gets run one of two ways.

A person runs it manually. Someone in finance opens the Commission's public VIES page, types in a country and a number, and reads the result off the screen. This is perfect for a one-off — a new supplier, a single large invoice, a number that looks odd. It doesn't scale, and it leaves no record beyond a screenshot.

Your billing or ordering system runs it automatically. Instead of a human typing into a form, your software asks the same underlying service and gets a structured answer back — valid or invalid, plus whatever company detail the country returns. That's how you validate a VAT number on every signup or every invoice without anyone lifting a finger. The trade-off between the two is the subject of the last section; for now, the point is that both are asking the same thing of the same national databases.

Either way, VIES itself is free. There's no login, no fee, and no contract. There's also no service-level guarantee behind it, which is exactly why the "who runs it" question turns into an engineering decision once your volume grows.

What "valid" tells you — and what it doesn't

A "valid" result means the number was present and active in the relevant national database at the moment you asked. That is genuinely useful: it's evidence that the business is VAT-registered, and for intra-EU B2B it's one of the conditions that supports zero-rating or reverse charge.

Here's where finance teams overreach. A valid reply is not:

  • A guarantee about the company. VIES confirms a registration, not the counterparty's identity, solvency, or good standing. A number can be perfectly valid and belong to a business you still shouldn't extend credit to.
  • A statement about the transaction. Whether a specific sale qualifies for reverse charge depends on what's sold, where, and to whom — not on the VAT number alone. The valid number is one input, not the ruling.
  • A promise that the data is complete. Not every valid national VAT number is visible in VIES. Only numbers activated for intra-EU trade show up, so a business can be legitimately VAT-registered domestically and still not appear.

Treat a valid result as what it is: solid evidence of registration at a point in time, and a green light to move to the next check — not the final word on the deal.

A couple of prefix details trip people up, since they change what you type in. Greece uses EL, not GR. Northern Ireland uses XI, and only for goods. Enter the wrong prefix and you'll get a confusing answer to the wrong question.

What "invalid" means for an invoice

An "invalid" result does not mean "fraud." It means the number is not registered — or not enabled for cross-border trade — in that country's database at the time you checked. There are ordinary reasons for it:

  • a typo, or a domestic tax number entered where the VAT number belongs;
  • a registration that has lapsed or been cancelled;
  • a valid domestic number that was never activated for intra-EU use, so VIES can't see it.

The practical rule: don't invoice on a bare invalid. Before you apply reverse charge or zero-rate a supply, resolve why the number came back invalid. Go back to the customer, confirm the number, check the prefix, and re-run it. If it stays invalid, the safe default is to treat the supply as if the customer were not VAT-registered — charge VAT as normal — rather than assume a treatment you can't support.

Getting this wrong is expensive in one specific way: if you zero-rate a supply on the strength of a VAT number that turns out to be invalid, the tax can land back on you. That's the whole reason the check exists.

The limits of VIES (downtime, uneven company detail, point-in-time answers)

Three limits shape how you should use it.

Downtime is normal, not an emergency. Because each country runs its own node, availability is per-country and there's no guaranteed uptime — no SLA, no promise it will answer. Nodes go offline for maintenance or load, and some are less reliable than others. When a node is down you get an error, not an answer, and that error is not the same as "invalid." A VIES outage should never silently turn into a blocked customer or a wrong VAT decision. (For the systems side of this, we wrote up handling VIES downtime separately.)

Company detail is uneven. Some countries return the registered business name and address alongside the valid/invalid flag; others return only the flag. So you can't count on getting a name to match against your records for every country — it depends who's answering.

Answers are point-in-time. A valid result describes the moment you asked and nothing else. Registrations lapse; businesses deregister. A number you validated at onboarding a year ago may not be valid today, which is why a single check is a snapshot, not a standing guarantee.

Why keep proof of the check

If you rely on a VIES result to zero-rate or reverse-charge a supply, you should be able to show later that you actually ran the check and what it returned. Auditors on intra-EU supplies do ask.

A screenshot from a manual lookup is thin evidence. A stronger trail records, for each check, when it ran, what came back, and which source answered. VIES can also return a consultation number — a reference tied to a specific query that shows you performed the check at that time. It's a useful piece of the audit trail, though it's not the whole story and it's not something only one provider can give you. We cover how to use it in keep proof of the check.

The habit worth building: every VAT decision that depends on a check should have a stored record behind it, not a memory of having looked.

Manual checking vs automating it

So which way should you run checks?

Manual is fine when volume is low. A handful of new EU customers or suppliers a month? The Commission's free page does the job. The costs are that it doesn't scale, it's easy to skip under pressure, and the evidence it leaves is weak.

Automate once checks become routine. If you're validating numbers on every signup, every invoice, or across an existing customer base, hand-checking stops being realistic — and that's exactly where things get missed. Connecting your billing or ordering system to a VIES API means every number gets checked the same way, downtime is handled for you instead of becoming a blocked order, and each result is logged automatically for the audit trail. The judgement call is simply where your volume crosses the line from "occasional" to "routine."

Not sure yet? Start manual. You can check a VAT number free right now with no setup, and move to automation when the manual approach starts to strain.

FAQ

Is VIES free to use?

Yes. VIES is the European Commission's service and is free to query. It has no service-level guarantee, though — individual country nodes go down, so it is not something to treat as always-on.

What does it mean if VIES says a VAT number is invalid?

It means the number is not registered — or not enabled for cross-border trade — in the relevant national database at the time you checked. Investigate before you invoice; don't apply reverse charge on a bare invalid.

Does VIES prove a company is legitimate?

No. It confirms VAT registration at query time, not the company's identity, solvency, or good standing. A valid result is evidence of registration, not a guarantee about the counterparty.

How often should we check a VAT number?

At onboarding and again before you rely on it — registrations lapse. There's no legally fixed interval; set a cadence that matches your risk.

Check an EU VAT number free

Confirm a single number against VIES in seconds with the free VAT number checker — no account needed. Running checks on every signup or invoice instead? Get a free API key and validate through the VIES API from your own system — free plan, 100 requests/month.