Is VIES Down? › MS_UNAVAILABLE
VIES MS_UNAVAILABLE: what it means and what to do
MS_UNAVAILABLE means VIES could not get an answer from the country holding the VAT number. Learn what to record, when to retry, and how to check a number separately.
What it means
Your VAT number check came back with this code instead of a yes or no. Nothing is wrong with your request, and you have not done anything unusual.
This happens, and it is handled by recording the outcome and trying again later. No data is lost. The check was never completed, so there is nothing to undo.
VIES, the EU's VAT number checking service, does not answer checks on its own. It passes each check to the member state, the EU country whose tax office holds the number. When that country's system does not answer, VIES reports MS_UNAVAILABLE. The code says nothing about the number. It does not tell you whether the number is valid or invalid. Keep the outcome as unavailable and retry later.
A problem with one country's service does not mean every country is affected. The country status below shows which services are answering right now. Treat it as context. It is not a verdict on your customer's VAT number.
What your application should record
Keep three outcomes separate:
| Result | Meaning | Next step |
|---|---|---|
| Valid | A completed lookup returned a positive registration result. | Keep the dated result for your process. |
| Invalid | A completed lookup returned a negative registration result. | Confirm the submitted number and registration with the counterparty. |
| Unavailable | No reliable validity result was obtained. | Leave verification pending and retry later. |
An invalid result and a failed request are different things. Do not store an outage as valid: false. A successful HTTP response on its own is not a completed VAT check either.
Which member states return MS_UNAVAILABLE most
| Member state | Occurrences (7d) | Share |
|---|---|---|
| Germany DE | 336 | 60.22% |
| Hungary HU | 136 | 24.37% |
| Latvia LV | 24 | 4.30% |
| Estonia EE | 16 | 2.87% |
| Lithuania LT | 11 | 1.97% |
| Denmark DK | 7 | 1.25% |
| Italy IT | 6 | 1.08% |
| Luxembourg LU | 6 | 1.08% |
| Malta MT | 6 | 1.08% |
| Netherlands NL | 4 | 0.72% |
| Spain ES | 2 | 0.36% |
| Ireland IE | 2 | 0.36% |
| Belgium BE | 1 | 0.18% |
| Romania RO | 1 | 0.18% |
558 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
- Confirm the country prefix and the number you submitted.
- Check whether that country's national service is currently having problems.
- Retry later, with a limited number of attempts and a growing delay between them. Avoid rapid retry loops.
- If checks stay unavailable, keep the item pending and follow your usual verification process. Your counterparty can ask its own national tax administration about registration questions.
Do not change the tax treatment of an invoice automatically because a lookup failed.
Checking a specific VAT number and keeping the result
The VIES Monitor shows whether each country's service is available. To check an individual number, open hosted invoice checks and select Live VAT verification. You will need an API key (the private code that identifies your account to the service), and the number is sent to EU VIES.
Attestwire returns valid, invalid or unavailable, with the time of the check and an evidence receipt, the dated record of what the check returned. A valid or invalid result uses one document from your allowance. An unavailable result is not charged. Download the complete response if you need to keep it. This service does not store the receipt for you.
The receipt describes what was observed at that time. It does not establish historical validity, identity, or the correct tax treatment. Not every receipt is signed, so check evidence.signing_status rather than assuming.
Developers can call POST /v1/vat/verify, or the MCP tool verify_vat_vies (a tool an AI assistant can call). See the request and evidence documentation.
About VIES itself: the European Commission's VAT number checking guidance.
Example: an unavailable result kept pending
This excerpt is for illustration only. It is not a live response or a complete receipt:
{
"check": "vat",
"status": "unavailable",
"reason": "MS_UNAVAILABLE",
"charged": false
}
Frequently asked questions
Does MS_UNAVAILABLE mean the VAT number is invalid?
No. It means the member state, the country whose tax office holds the number, did not provide a result, so the number was not checked. Record the outcome as unavailable, leave verification pending and retry later.
How long does MS_UNAVAILABLE usually last?
It varies by member state and by incident, and the error itself gives no recovery time. Retry with a limited number of attempts and a growing delay between them rather than a tight loop, and send checks that stay unresolved to a person for review. The live country status on this site shows whether the service is still affected.
Can I do anything to fix MS_UNAVAILABLE from my side?
No. The failure is inside the national service. Your request did not cause it. What you do control is how you retry, how you cache earlier results, and how you record the outcome. Keep the item pending rather than storing a verdict.
Is MS_UNAVAILABLE the same as VIES being down?
No. MS_UNAVAILABLE means one member state did not answer while VIES itself responded. If VIES as a whole is unreachable you will see timeouts or SERVICE_UNAVAILABLE instead, and every country is affected at once.
Can I check one VAT number while a member state is unavailable?
You can submit one, but the answer depends on that member state. This site only shows service availability. For an individual check, use hosted invoice checks at api.attestwire.com/preflight with an API key. While the member state is not answering, that check returns unavailable as well. It does not bypass the outage. The result is valid, invalid or unavailable, with a receipt, and an unavailable result is not charged. The receipt records an observation at a point in time. It is not proof of historical validity or of the correct tax treatment.
Does a valid result prove who the customer is?
No. A VAT registration result is not an identity check or a guarantee of tax treatment. It also does not establish that the number was valid on a previous date.
Is the evidence receipt always signed?
No. Check evidence.signing_status in the response to see whether it is signed or unsigned. Save the full response, not just the valid or invalid field.
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 VIES endpoints
Get an alert when a VIES endpoint goes down
One email when a endpoint stops answering, one when it recovers, and at most one alert per member state every 6 hours โ VIES flaps, and we would rather be useful than constant. You will get a confirmation mail immediately, and every message has a one-click unsubscribe.
We store your address, the country code, a timestamp and a record of this signup. Nothing else, no newsletter, and we do not share it.
Building EU invoicing?
We also make Attestwire, an EN 16931 validation API. Post an invoice as JSON or UBL/CII XML 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.