Glossary

VIES VAT Number Validation

VIES validation is a real-time check, run through the European Commission’s VAT Information Exchange System, that asks the member state which issued an EU VAT number whether that number is valid for cross-border trade, and it is the standard evidence a seller keeps before treating an EU customer as a business and leaving VAT off the invoice.

Also called: VIES check, VAT Information Exchange System, EU VAT number check

14-day free trial · card required · cancel anytime

Definition

VIES, the VAT Information Exchange System, is the network that connects the VAT registration databases of the EU member states (and Northern Ireland, under the XI prefix). The Commission runs a public front end to it, VIES on the Web, where anyone can enter a VAT number and get an answer back in a few seconds. The Commission describes the purpose plainly: it lets people involved in cross-border supplies “obtain confirmation of the validity of the VAT identification number of any specified person,” under Article 31 of Council Regulation 904/2010.

There is no EU-wide VAT database behind it. The Commission’s FAQ: “Each time you make a request, a message is sent to the Member State which issued the VAT identification number asking if the number quoted is valid.” A VIES answer is therefore only as current and as complete as that one country’s register.

For a seller, the check matters because of one rule. Article 18 of Implementing Regulation 282/2011 lets a supplier treat an EU customer as a taxable person (a business) when the customer has given its VAT number and the supplier “obtains confirmation of the validity of that identification number and of the associated name and address” through the Article 31 channel, which is VIES. That status is what moves a B2B service sale to the reverse charge, where the customer accounts for the VAT and the invoice carries none.

Key points

  • +VIES has no central database. Every check is passed in real time to the member state that issued the number.
  • +The answer is valid or invalid, plus the registered name and address where that member state allows them to be shown.
  • +Enter your own VAT number as the requester and the reply carries a consultation number: your proof of which number you checked, when, and what came back.
  • +A valid result is one piece of evidence, not the whole case. The Commission says it “does not in itself give a right to exempt” a supply.
  • +Northern Ireland numbers (XI prefix) are checked in VIES. Great Britain numbers (GB) have not been since 1 January 2021.
  • +Stripe checks every eu_vat tax ID against VIES, but it applies the reverse charge on a correctly formatted number regardless of the result.
  • +Stripe validates a tax ID once. It does not recheck the number later.

What a VIES check returns

You pick the member state that issued the number, type the number without spaces or dots, and get one of a short list of replies. The Commission’s help page lists them: “Yes, valid VAT number”; “No, invalid VAT number,” which it explains as “not valid at least on the date specified”; and several outage replies, including “Member State service unavailable,” which means the issuing country’s own system is down rather than the number being bad.

A valid reply can also carry the registered name and address. Whether it does is the issuing country’s call: “Certain Member States permit the display of the name and address of the taxable person where the VAT number is currently valid.” Where a country doesn’t, those fields come back as “---”. VIES works in one direction only. It confirms a number you already have; it can’t look up a business’s VAT number from its name, and the Commission says it has no access to that information.

A few format details trip people up. Greek numbers use the prefix EL, not GR. Austrian numbers are entered after the AT prefix starting with the letter U, as in ATU12345678. And since 1 January 2021 VIES no longer validates UK (GB) numbers at all; it validates Northern Ireland businesses trading under the Ireland and Northern Ireland Protocol, whose numbers start with XI. GB numbers are checked with HMRC instead.

The consultation number is the part you keep

A plain lookup tells you the answer but leaves nothing you can show anyone. VIES has a second field for that. In the Commission’s words: “If you put your own VAT identification number in the box requester’s VAT identification number, the reply will contain a unique consultation number. If you want to be able to prove to a tax administration of a Member State that you have checked a given VAT number at a given time, and obtained a given validation reply, please keep this consultation number in your archives.” Leave the requester field empty and the reply comes back without one.

The Commission’s REST service returns the same thing in machine form: the country code and number checked, a request date, a valid flag, the name and address (or “---”), and a requestIdentifier field holding the consultation number when a requester was given. If you check numbers yourself rather than relying on a billing system, that identifier and date are what to save against the customer record.

Note what VIES is not for. The Commission’s disclaimer limits use to confirming customers’ numbers for cross-border supplies and forbids extracting or republishing the data. Its FAQ adds that the service is “designed for single requests,” not batch runs.

What a valid result proves, and what it doesn’t

Article 18(1)(a) of Regulation 282/2011 asks for two things: the customer gives you its VAT number, and you confirm “the validity of that identification number and of the associated name and address.” A check that returns valid but shows no name and address is weaker evidence than one that does, which is why it pays to compare the returned name with the customer you are actually billing. Where a country withholds the name, the Commission notes that you can ask your own tax administration to confirm whether a VAT number is associated with a given name and address.

Article 18 also opens with a condition: “Unless he has information to the contrary.” A valid number doesn’t help if the facts point the other way. The Commission’s FAQ is blunt about it: “If you believe that your customer is not a taxable person, you should not exempt the supply but should charge VAT.” Article 19 adds a related limit: a business that buys a service purely for private use counts as a non-taxable customer for that supply.

Tax authorities apply the same logic from the other end. Irish Revenue tells suppliers of services to EU businesses to “obtain the business customer’s Value-Added Tax (VAT) number and confirm its validity,” put that number on the invoice, and mark the invoice as reverse charge, and warns: “If you incorrectly identify your customer and do not charge VAT, you will be liable to pay the VAT,” with interest and penalties possible on audit. The Commission’s own help page says confirmation of validity is “only ONE of the elements of evidence” for leaving VAT off a cross-border supply.

When the answer is invalid, or there is no answer

An invalid reply has a few innocent causes, and the Commission’s first step is to rule them out: check the number with the customer, including its length and country prefix. If it still fails, the customer has to ask its own tax administration to update the VIES record, because “only national tax administrations can update VIES data.” The FAQ adds a reason that catches new businesses: some member states only record a number in VIES once the business has registered for intra-EU trade, so “a VAT number, even if correct, will not be validated through VIES” until that happens.

Article 18(1)(b) covers the customer that has applied for a number but not yet received one. The supplier may still treat it as a business if it obtains other proof of taxable status and carries out “a reasonable level of verification” using normal commercial checks. Irish Revenue’s version is a letter from the customer’s tax authority.

Then there is the case where VIES can’t answer. The service depends on each country’s system being up, and some have published maintenance windows. Ireland’s, for example, is unavailable on Sunday nights for up to two hours. An outage is not a failed check. Retry it later, and decide in advance how your billing treats a sale that happens while the check is pending.

How Stripe uses VIES, and the gap it leaves

Stripe validates every tax ID of type eu_vat against VIES when it is added to a customer, including Northern Ireland numbers, which Stripe files under eu_vat with the XI prefix. The result sits on the tax ID object as verification.status (pending, verified, unverified or unavailable) along with verification.verified_name and verification.verified_address, the name and address VIES returned. Stripe sends a customer.tax_id.updated event when verification finishes, and the Dashboard shows the VIES details when you hover over the number.

Three parts of Stripe’s documentation matter for compliance. First, the check covers the number only: “you still need to verify the customer’s name and address to make sure it matches the registration information.” Second, it happens once: Stripe says “we don’t continue to validate them over time,” so a customer that deregisters next year still shows its old status. Third, the tax calculation doesn’t wait for the answer. “If you use Stripe Tax, Stripe Tax applies the reverse charge or zero rate according to applicable laws when the tax ID has the required number format, regardless of the government verification result.” Stripe leaves the response to an unverified number to you, “based on your own compliance requirements,” and if the status is unavailable, you must verify the number yourself.

So a correctly formatted but invalid VAT number still produces an invoice with no VAT on it. A practical routine is to watch for unverified results, compare verified_name with the customer’s name, and recheck long-running subscription customers yourself from time to time. Stripe’s status doesn’t carry a VIES consultation number, so a seller that wants one has to run its own check with a requester number.

What the check means for your QuickBooks records

A reverse-charged sale reaches the ledger as revenue with no output VAT: the invoice total is the net price, and there is no tax line to post to a VAT liability account. In QuickBooks that sale looks the same as one you simply forgot to tax. Nothing on the transaction says why the VAT is missing.

That makes the evidence a records question, not a ledger question. Keep the customer’s VAT number on the invoice (Stripe prints a customer’s tax IDs in the invoice header), and keep the proof that you checked it: the Stripe verification status and verified name, or your own VIES consultation number and date. If a tax authority later questions a zero-VAT sale, that record is what turns a missing tax line into a documented reverse charge. Where you file EU sales lists or VIES statements for B2B services, the same customer numbers have to be right there too.

Frequently asked questions

What is VIES?

VIES, the VAT Information Exchange System, is the European Commission’s network linking the VAT registration databases of the EU member states and Northern Ireland. Its public service, VIES on the Web, checks in real time whether a VAT number is valid for cross-border trade by asking the member state that issued it. There is no central EU database of VAT numbers.

What is a VIES consultation number?

It is a unique reference VIES returns when you enter your own VAT number in the requester field before checking a customer’s number. The Commission says to keep it in your archives if you want to prove to a tax administration that you checked a given number at a given time and got a given reply. A check without a requester number returns no consultation number.

Does a valid VIES result mean I can leave VAT off the invoice?

Not by itself. Article 18 of EU Regulation 282/2011 lets you treat a customer as a business once it has given you its VAT number and you have confirmed the number and its associated name and address, unless you have information to the contrary. The Commission says a valid result is only one element of the evidence, and it does not in itself give a right to exempt a supply.

Does Stripe check EU VAT numbers in VIES?

Yes. Stripe validates every eu_vat tax ID against VIES and records the result as pending, verified, unverified or unavailable, with the verified name and address. But Stripe Tax applies the reverse charge whenever the number has the right format, regardless of the verification result, and Stripe does not revalidate numbers over time. Handling unverified numbers is left to you.

Can I check a UK VAT number in VIES?

Only Northern Ireland numbers, which start with XI. VIES stopped validating Great Britain (GB) numbers on 1 January 2021, and the Commission directs those checks to HMRC. Stripe validates GB numbers with HMRC directly.

What customers say about running Stripe through Acodei

Stripe Verified Partner BadgeIntuit QuickBooks
★★★★★
“If you're testing out all the different Stripe/QuickBooks integration apps right now, let me save you some time. This one is the best one by far.”
RyanOwner at Indie Music Academy
★★★★★
“Works well and is really helpful for massive transactions. The support is really fast and helpful. 100% recommended.”
AndresCo-founder and CEO at Kanguro Collections and Reinsurance

Related reading

More glossary terms

See the full glossary

Ready to try Acodei?

Connect Stripe to QuickBooks Online in minutes and let the fees, refunds, and payouts land where your accountant expects them.

14-day free trial · card required · cancel anytime