Skip to Content
Proving a VAT Check

What a VIES consultation number proves

You invoiced a business in another member state without VAT, because its VAT number was valid. Two years later a tax auditor asks the question every zero-rated invoice eventually meets: how did you know the buyer was a taxable person, on that date?

“We checked VIES” is not an answer. A dated reference that VIES issued to you, for that number, with that reply, is. That reference is the consultation number — and most integrations never receive one, because they never send what VIES needs to issue it.


What the rules ask you to know

The reverse charge and the intra-Community exemption both rest on the buyer being a taxable person identified for VAT in another member state. The texts differ between goods and services:

  • Goods. Since 2020 the buyer’s VAT number is a condition of the exemption itself: the buyer must be “identified for VAT purposes in a Member State other than that in which the dispatch or transport of the goods begins” and have given you that number (VAT Directive, Article 138(1)(b)). The exemption also falls if your recapitulative statement is missing or wrong about the supply (Article 138(1a)).
  • Services. You may treat the customer as a taxable person when it has given you its VAT number and you obtain “confirmation of the validity of that identification number and of the associated name and address” through VIES — unless you have information to the contrary (Implementing Regulation 282/2011, Article 18(1)(a)).

Both come down to the same record: which number, checked when, answered what. For services, add the name and address that came back.


What the consultation number is

VIES issues one only when the request names a requester: your own VAT number, sent alongside the number you check. The Commission’s help page is explicit about its purpose: keep it if you want to be able to prove to a tax administration that you checked a given number at a given time and obtained a given reply.

It names you. A consultation number obtained by someone else — a vendor’s own VAT number, another customer’s — proves that they checked, which is nothing you can put in front of your auditor.

In VerifNow, the requester is the VAT number on your account. Set it once in the dashboard, under Profile, and every VAT validation made with your API keys is an identified lookup:

POST https://api.verifnow.io/api/v1/validate/vat { "value": "IE6388047V" }
"vatDetails": { "registered": true, "source": "LIVE", "checked_at": "2026-09-27T14:03:11Z", "trader_name": "GOOGLE IRELAND LIMITED", "trader_address": "3RD FLOOR, GORDON HOUSE, BARROW STREET, DUBLIN 4", "consultation_number": "WAPIAAAAX8k1abcd" }

Without a VAT number on the account the same call still answers registered, but carries no consultation_number: VIES has nobody to issue it to.

If VIES rejects your own number. VIES refuses an identified lookup outright when it does not know the requester — a typo, a registration since cancelled. The profile now checks the number with VIES before accepting it, and if VIES later rejects it, VerifNow answers the lookup without a consultation number rather than failing it. Earlier versions answered "source": "UNVERIFIED" instead, for every lookup, without saying why.


What it does not prove

The same help page is as explicit about the limit: confirming a VAT number and its holder is “only ONE of the elements of evidence” behind the exemption. The VIES disclaimer adds that its answer “does not in itself give a right to exempt intra-Community supplies”.

Three things a consultation number cannot carry:

  • That the goods left. For goods, the exemption also needs the transport to another member state, and Implementing Regulation 282/2011 sets out what evidence presumes it — two non-contradictory items from parties independent of you and of the buyer, or the buyer’s written statement together with such evidence (Article 45a). A VIES check is not on that list.
  • That the buyer is who you think. A registered number is registered to someone. If you have “information to the contrary”, Article 18 stops protecting you — which is why the name matters.
  • A name and address, in two of the largest markets. VIES returns the holder’s name and address only where the member state allows it. We measured it on 24 September 2026: Germany returns neither, and Spain returns neither — it only checks a name you send (the measurement). For a German customer, the confirmation of “the associated name and address” that Article 18(1)(a) describes cannot come from VIES at all.

German and Spanish customers. A consultation number for a German number proves the number was valid; it proves nothing about whose it was. The Commission’s FAQ points to your own tax administration, which can confirm whether a VAT number belongs to a given name and address. For Spain, send the name you expect as traderName and VerifNow has VIES check it — "trader_name_match": "MATCH" is then part of the record.


When to check

The question is about the date of the supply, so the evidence is too. A consultation number from March says the number was valid in March; it says nothing about the invoice you issued in July, and registrations do get cancelled.

Check at the moment the tax treatment is decided — at checkout, when the invoice is raised, on each renewal of a subscription — and keep the receipt with that invoice.

Checking the same number again and again does not help, and VIES counts it against you: its help page lists “multiple validation of the same VAT number per day” as abusive use, with the IP blocked. So VerifNow reuses your own receipt for 24 hours. A second lookup within that window comes back with "source": "CACHE" and the same consultation number and checked_at as the first — the receipt of the check that actually happened, not a new one dressed up as fresh.

When VIES is down

If the member state’s registry cannot be reached, VerifNow falls back to your own most recent receipt for that number, with "source": "STALE" and the date it was obtained. That is honest evidence of an earlier check, and exactly what it claims to be — but it is not a check made today. What to do with it is a policy, not a verdict: Validating an EU B2B checkout gives two defensible ones. Asked what to do when a number cannot be checked, the Commission’s FAQ answers plainly: if you believe the customer is not a taxable person, do not exempt the supply — charge VAT.


Keeping it

Store the receipt with the invoice, in your own records:

import { VerifNow } from '@verifnow/sdk'; const client = new VerifNow({ apiKey: process.env.VERIFNOW_API_KEY! }); export async function vatEvidence(buyer: { name: string; vatNumber: string }) { const result = await client.validateVat(buyer.vatNumber, { traderName: buyer.name }); const v = result.vatDetails; // Zero-rate only on a registration VIES confirmed, live or from today's receipt. const confirmed = v?.registered === true && (v.source === 'LIVE' || v.source === 'CACHE'); return { reverseCharge: confirmed, evidence: { vatNumber: buyer.vatNumber, checkedAt: v?.checkedAt?.toISOString(), // when VIES answered, in UTC source: v?.source, consultationNumber: v?.consultationNumber, // absent without a VAT number on your account viesName: v?.traderName, viesAddress: v?.traderAddress, nameMatch: v?.traderNameMatch, // MATCH, MISMATCH or NOT_AVAILABLE }, }; }

In Java, io.verifnow:verifnow-spring returns the same fields on VatDetails — consultationNumber(), checkedAt(), source().

VerifNow also keeps its own copy of every identified lookup — number, date, reply, consultation number, and the name and address VIES returned — searchable in the dashboard under VAT audit and exportable as CSV for an accountant. How long depends on the plan: 30 days on Free, one year on Starter, three on Growth, ten on Pro. Each record keeps the window of the plan you were on when the check was made, so downgrading never shortens evidence already collected.

Ten years is a plan, not a guarantee. The VAT Directive leaves the storage period to each member state (Article 247). Germany keeps booking records eight years and books ten (§ 147 AO) — and the period runs on while an assessment is still open. Treat our copy as a convenience and the export as the thing you archive — next to the invoices it supports.


In short

  • A consultation number proves you checked a given VAT number at a given time and got a given reply. It is issued only to a named requester: your own VAT number, set on your account.
  • It is one element of evidence, not a right to exempt. For goods you also need proof of transport; for services, the name and address — which VIES never returns for Germany or Spain.
  • Check when the tax treatment is decided, keep the receipt with the invoice, and do not re-check the same number all day: VIES treats it as abuse.
  • Keep the records as long as your member state requires — ten years in Germany, and longer while an assessment is open.

Where this leaves you

Every page before this one ended on the same instruction: keep the consultation number. This one is why. The check is a second’s work; being able to show it two years later is the part that costs something when it is missing.

Sources: VIES help  and FAQ  (European Commission) · VAT Directive 2006/112/EC , Articles 138, 247 and 262 · Implementing Regulation (EU) No 282/2011 , Articles 18 and 45a · § 147 Abgabenordnung  · VIES queries by VerifNow, 24 and 27 September 2026

Last updated on