MS_UNAVAILABLE
MS_UNAVAILABLE means the national VAT database behind VIES is not answering. Good news: it is an outage at the member state, not a problem with your VAT number or your code.
What it means
Short version: this one is not your fault. MS_UNAVAILABLE is VIES telling you it forwarded your request to the member state you asked about, and that member state's own VAT database did not answer.
It helps to know what VIES actually is. It is a router, not a database. It holds no VAT numbers of its own β every lookup is passed through to one of 27 national systems, each run by a different tax administration, on its own hardware, with its own maintenance windows and its own capacity. When one of them is offline, VIES has nothing to hand back, so it reports MS_UNAVAILABLE.
Here is the part that matters for your code: this tells you nothing at all about the VAT number you asked about. The number is not invalid. It has not been deregistered. It simply has not been checked yet. Mapping MS_UNAVAILABLE to "not valid" is the most common and most expensive mistake in VAT validation code β it blocks legitimate invoices, and if you store the result it poisons your audit trail with a negative you cannot defend later.
Which member states return MS_UNAVAILABLE most
| Member state | Occurrences (7d) | Share |
|---|---|---|
| Germany DE | 4 | 100% |
4 occurrences of MS_UNAVAILABLE observed across all member states in the last 7 days, from our own 5-minute checks. Monitoring began 2026-08-09.
What to do about it
- Never map it to "invalid". This is a third outcome β unknown β and your data model needs somewhere to put it. If you change one thing today, change this.
- Retry with exponential backoff β try 1 min, 5 min, 30 min, 2 h β rather than a tight loop. National outages usually last minutes to hours, and hammering the endpoint can escalate you into
MS_MAX_CONCURRENT_REQon top. - Fall back to your last successful result if you have one. Most tax authorities accept a validation performed reasonably close to the transaction, and a result from this morning is far better evidence than no result at all.
- Cache aggressively. A VAT registration rarely changes. Re-validating the same number every time you raise an invoice adds to the load that causes these outages in the first place.
- Keep the evidence. Record the timestamp, the member state and the literal error string. "VIES was down" only works as a defence if you can show exactly when.
Frequently asked questions
Does MS_UNAVAILABLE mean the VAT number is invalid?
No β and this is the one to get right. It means the member state's VAT database did not respond, so the number was never checked. It may be perfectly valid. Record the result as unknown and retry later.
How long does MS_UNAVAILABLE usually last?
It varies by member state, unfortunately. Some outages are a few minutes of a scheduled restart; others run for hours. Several national systems also have regular overnight maintenance windows in their own local time, so check the clock before you assume the worst.
Can I do anything to fix MS_UNAVAILABLE from my side?
No, and that is oddly freeing. The failure is inside the national tax administration's system. The three things you do control are how you retry, how you cache, and how you record the outcome β so put your effort there.
Is MS_UNAVAILABLE the same as VIES being down?
No, these are different problems. MS_UNAVAILABLE means one member state is failing while VIES itself is working fine. If VIES as a whole is unreachable you will see timeouts or SERVICE_UNAVAILABLE instead.
Hit a different error?
MS_MAX_CONCURRENT_REQβ MS_MAX_CONCURRENT_REQ means a member state is already handling as many simultaneous VIES lookups as it will take.GLOBAL_MAX_CONCURRENT_REQβ GLOBAL_MAX_CONCURRENT_REQ means the VIES front end β not one member state β is handling as many simultaneous requests as it will take.TIMEOUTβ A VIES timeout means no answer arrived before your deadline.
← Live VIES status for all 28 member states
Get an alert when a VIES endpoint goes down
We store your address, the country code and a timestamp β nothing else. To be straight with you: Alerts start shortly, but they are not sending yet. When they do, we will only email you about VIES availability. No newsletter, ever.
Building EU invoicing?
We also make Attestwire, an EN 16931 validation API. Post an invoice as JSON and get back the rule it breaks and how to fix it. Free tier, 100 docs/month, no card needed.
api.attestwire.com/docs Β· check.attestwire.com β our free French e-invoicing readiness checker.