Fedev

Guide

VIES VAT validation errors and what they mean

A VIES check has two kinds of answer. Valid or invalid is an answer about the number. Everything else — MS_UNAVAILABLE, MS_MAX_CONCURRENT_REQ, GLOBAL_MAX_CONCURRENT_REQ, TIMEOUT, SERVICE_UNAVAILABLE — means VIES couldn’t get an answer and says nothing about the number: try again later. Only INVALID_INPUT points at what was typed.

When a signed-in business buyer enters a valid VAT number from another EU country in the Shopify cart, Fedev — EU VAT & VIES removes the VAT at checkout and keeps the VIES check in your VAT records.

The codes and their descriptions below are the European Commission’s, from the VIES web service definition (checkVatService.wsdl), checked on 8 November 2026. Tools built on VIES, Shopify apps included, usually show them as a message of their own; the meaning is the same.

The error codes

INVALID_INPUT — about what was typed

“The provided CountryCode is invalid or the VAT number is empty.” Check the country prefix — Greece is EL, not GR — and that a number was actually sent.

MS_UNAVAILABLE — the country’s register is down

“The application at the Member State is not replying or not available.” Nothing is wrong with the number. Try again later; the VIES website’s technical information page shows each country’s status.

MS_MAX_CONCURRENT_REQ — that country is busy

“The maximum number of concurrent requests for this Member State has been reached.” Too many checks are going to that one country at once, from everyone, not just you. Wait a few minutes and try again.

GLOBAL_MAX_CONCURRENT_REQ — VIES as a whole is busy

“The maximum number of concurrent requests has been reached,” across VIES. Wait a few minutes and try again.

TIMEOUT — no reply in time

“The application did not receive a reply within the allocated time period.” Try again later.

SERVICE_UNAVAILABLE — a network or VIES fault

“An error was encountered either at the network level or the Web application level.” Try again later.

The Commission’s test service also lists INVALID_REQUESTER_INFO, VAT_BLOCKED and IP_BLOCKED, without describing them. INVALID_REQUESTER_INFO concerns the requester details sent with a check — your own VAT number, if your tool sends it — so check that it is entered correctly.

When VIES says “invalid”

An invalid answer means the number isn’t registered for trade between EU countries today. It doesn’t always mean a fake number:

  • Domestic registration only. Many businesses have a VAT number at home but aren’t registered for intra-EU trade, so VIES doesn’t list them. The buyer has to register with their own tax office.
  • A typo or a missing prefix. VIES needs the two-letter country prefix and the number in that country’s format — see the EU VAT number formats table.
  • Greece. Greek VAT numbers start with EL in VIES, not GR.
  • Deregistered. The business has closed or stopped trading across borders.

Ask the buyer to check their registration before you take the VAT off. Selling VAT-free on an invalid number leaves the VAT for you to pay.

Why name and address are sometimes missing

VIES returns a name and address only where the country shares them; for some countries a valid answer comes back without either. That is not an error, and the number is still valid.

Checking again, and keeping proof

  • Check one number now with the free EU VAT number check, which asks VIES and shows its answer as it comes.
  • Keep the consultation reference. When the check is made with your own VAT number as the requester, VIES returns a reference for the answer — the proof that the number was valid on the day of the sale.
  • On a Shopify store, an outage shouldn’t turn a real business buyer away. Fedev — EU VAT & VIES treats every code above except INVALID_INPUT as “no answer”, lets the order through with VAT on, and flags it Needs review so you can decide afterwards (how the live check works). Shopify’s own checkout field charges VAT in that case — see how Shopify’s built-in VAT validation compares.

Questions

Does MS_UNAVAILABLE mean the VAT number is invalid?

No. It means the country's own register didn't reply to VIES. It says nothing about the number; check again later.

Why does VIES say a real company's number is invalid?

Most often the business has a domestic VAT number but is not registered for trade between EU countries, so VIES doesn't list it. A typo, a deregistered number or a Greek number entered with GR instead of EL give the same answer.

Should I charge VAT while VIES is down?

If you can't confirm the number at the time of the sale, charging VAT is the safe default; the buyer can reclaim it once the number is confirmed, or you can refund it. Agree how you handle it with your accountant.

How long are VIES outages?

Each country runs its own register, so it varies. The VIES website's technical information page shows each country's current status.

Fedev — EU VAT & VIES

Removes VAT at checkout for EU business buyers whose VAT number checks out live in VIES. No Shopify Plus required.

EU VAT & VIES isn't taking new installs. How EU VAT & VIES works