Guides › VIES error codes explained
VIES error codes explained
Updated 2026-10-11
When you check a VAT number in VIES (the EU's VAT Information Exchange System), you don't always get a clean "valid" or "invalid". Often you get an error code instead. The most important thing to know: most VIES errors say nothing about whether the VAT number is valid. They mean the check could not be completed. Treat them as "unknown", never as "invalid".
Quick reference
| Error | What it means | What to do |
|---|---|---|
MS_UNAVAILABLE | The member state's national database is offline (maintenance or outage). VIES can't answer for that country. | Retry later. Check live VIES status to see which countries are down. |
MS_MAX_CONCURRENT_REQ | Too many requests are being sent to that country's system right now (by everyone, not just you). | Wait a few seconds and retry with backoff. |
GLOBAL_MAX_CONCURRENT_REQ | VIES as a whole is overloaded. | Retry after a short pause; avoid sending many parallel requests. |
SERVICE_UNAVAILABLE | The central VIES service itself is down. | Retry later; usually short. |
TIMEOUT | The national system didn't answer in time. | Retry. Frequent for some countries at peak times. |
INVALID_INPUT | The country code or number format is wrong (e.g. GR instead of EL, or the wrong number of digits). | Check the VAT number format for that country. |
INVALID_REQUESTER_INFO | The requester VAT number you supplied (your own) is invalid. | Fix your own VAT number, or leave the requester empty. |
IP_BLOCKED | Your IP address was blocked, typically after sending too many requests. | Slow down. Use a service that rate-limits and retries for you. |
VAT_BLOCKED | The number has been blocked from being checked. | Ask the customer for a confirmation from their tax office. |
Why does VIES fail so often?
VIES is not one database. It is a relay: your request goes to the European Commission, which forwards it to the tax authority of the country in question, live. If that country's system is in maintenance, overloaded or slow, you get an error. Some national systems are routinely unavailable at night or at weekends, and load peaks around VAT filing deadlines, exactly when businesses check the most numbers.
Can I invoice without VAT if VIES is down?
A failed check is not proof that the number is valid. If VIES is unavailable at the time of the transaction, the safe approach is to retry later and keep the successful result (ideally with a consultation number) in your records. If you invoice in the meantime, keep evidence that you attempted the check and complete it as soon as the country is back online.
Handling errors in your own code
- Model results with three states: valid, invalid and unknown. Never map an error to "invalid".
- Retry
MS_MAX_CONCURRENT_REQ,GLOBAL_MAX_CONCURRENT_REQandTIMEOUTwith exponential backoff. - Don't retry
MS_UNAVAILABLEin a tight loop; check again in 10–30 minutes. - Keep concurrency low (2–3 parallel requests). Aggressive scripts get
IP_BLOCKED.
Or let us handle it: the VATcheckly API retries transient errors, caches results and returns a clear unavailable state, and bulk jobs automatically re-check countries once they're back online.
Check a VAT number now
Free, live against VIES, all 27 EU countries + Northern Ireland.