The EU VIES (VAT Information Exchange System) is the backbone of cross-border B2B trade. However, like any digital infrastructure, it isn't perfect. Whether it's scheduled maintenance or an unexpected server crash, VIES downtime can happen at the worst possible moment—right when a customer is checking out.

VIES unavailable — automatic retry, system maintenance EU

For a business moving toward ViDA compliance, "the system was down" is not a valid excuse for missing an audit trail. Here is how to handle VIES outages professionally and legally.

1 Why VIES Goes Down (And Why It's Not One System)

VIES is a "gateway" rather than a single database. When you validate a VAT number, the request travels from the EU Commission's portal to the national tax database of the Member State in question.

National Maintenance

If Italy or Germany is updating their local tax servers, VIES cannot verify numbers from those countries.

High Traffic Loads

During peak filing seasons, response times can slow down significantly.

Timeouts

If a national server doesn't respond within a few seconds, VIES returns an "Unavailable" or MS_UNAVAILABLE error.

Do not let a temporary VIES fault interrupt a sound VAT workflow. VIESAC’s proprietary resilience layer combines SmartRouter™, SmartCache™, monitored local registry connections, verified validation history, country-health signals and AI-assisted quality controls to keep the decision path responsive. The live official VIES response always remains decisive: while it is delayed, VIESAC records the context, manages controlled queues and retries, and clearly keeps the status pending or limited until a fresh official confirmation is returned.

Check an EU VAT number with VIESAC

2 VIES Error Codes & Fault Troubleshooting (SOAP API)

Because VIES is a real-time gateway to 27 national systems, the errors you receive (often referred to as SOAP Fault Codes) follow specific patterns. Understanding these is critical for ViDA compliance, where a technical glitch can block your real-time digital reporting (DRR). Here is how VIESAC provides technical resilience against these faults.

Error Code (SOAP) & Pattern Technical Analysis & VIESAC Solution
INVALID_INPUT (201)
Malformed VAT number or request input

Input needs correction: remove invalid characters, spacing or a malformed country prefix, then retry. VIESAC can normalize ordinary formatting noise before the live call; it never changes or assumes the official result.

INVALID_REQUESTER_INFO (202)
Requester VAT details cannot be confirmed

Review the requester details: correct the VAT number supplied for the requester and send a fresh request. This fault concerns the requester data, not the validity of the VAT number being checked.

SERVICE_UNAVAILABLE (300)
Central VIES service is temporarily unavailable

Central service interruption: record the failed attempt and retry with controlled backoff. An unavailable service is a technical state, never evidence that the target VAT number is invalid.

MS_UNAVAILABLE (301)
Member State service is under maintenance or unavailable

Official national source is temporarily unavailable: preserve the timestamp and audit context, then recheck through VIES after the Member State service recovers. Do not convert this into an invalid result.

TIMEOUT (302)
Official endpoint did not respond within the response window

Response window exceeded: keep the check pending and place it in a controlled retry queue. A timeout is distinct from an invalid VAT number and from VIES concurrency-limit faults.

VAT_BLOCKED (400)
Official VAT status is blocked

Official restriction: retain the live fault in the audit trail and resolve it through the appropriate business or tax process. It must not be turned into a fallback approval.

IP_BLOCKED (401)
VIES usage-protection control has been triggered

Request protection applies: reduce request pressure, queue the check and retry responsibly. This protects the public service and is not a decision about the target VAT number.

GLOBAL_MAX_CONCURRENT_REQ (500)
Global maximum number of concurrent VIES requests reached

Global request-count limit: VIES has reached its simultaneous-request ceiling. VIESAC uses controlled pacing and queues the request for a later fresh official response.

GLOBAL_MAX_CONCURRENT_REQ_TIME (501)
Global concurrent-request time limit reached

Global time-based concurrency limit: pause with controlled backoff before retrying. This is a capacity signal, not the same fault as TIMEOUT (302) and not a VAT-status result.

MS_MAX_CONCURRENT_REQ (600)
Member State maximum number of concurrent requests reached

Member State request-count limit: the national VIES route has reached its simultaneous-request ceiling. Preserve the attempt and retry the official route when capacity returns.

MS_MAX_CONCURRENT_REQ_TIME (601)
Member State concurrent-request time limit reached

Member State time-based concurrency limit: apply controlled backoff and recheck through the official route. It is a capacity condition, not TIMEOUT (302) or an invalid VAT number.

3 The Golden Rule: "Unavailable" ≠ "Invalid"

One of the biggest mistakes businesses make is treating a technical timeout as an invalid VAT number.

Critical warning: If your system automatically rejects a customer because VIES is temporarily down, you are losing revenue. Conversely, if you apply 0% VAT without later verification, you risk heavy fines during a tax audit.

Practical handling: You must document every attempt, implement smart retries, and communicate clearly with the user—never assume "unavailable" means "invalid."

4 Practical Handling: A 3-Step Strategy

Follow these steps to protect both sales and compliance when VIES is down:

  • 1. Document Every Attempt — In the eyes of a tax auditor, an "attempt" only exists if there is a record. Always log: the VAT number entered, the exact timestamp, and the specific error message (e.g. "Service Unavailable" or "MS_UNAVAILABLE").
  • 2. Implement Smart Retries — Don't make the customer wait at the "Pay Now" button. Accept the order, but flag it for background re-validation. A good system should retry the check every 30–60 minutes until a definitive "Valid" or "Invalid" response is received.
  • 3. Communicate with Transparency — Inform your user clearly: "VAT validation is temporarily unavailable due to EU server maintenance. We will validate your status shortly and update your invoice." This builds trust and prevents cart abandonment.

That 30–60 minute window is typical for conventional systems—they simply poll that rarely. With VIESAC, async technology, distributed requests and servers, and VIESAC AI let us monitor VIES availability almost in real time, so we deliver your audit as soon as the service responds.

How VIESAC Automates the Downtime Headache

Managing manual retries and logs is a developer's nightmare. VIESAC was designed to handle the instability of government servers so you don't have to.

  • Automatic Retries & Queuing: If VIES is down, our system automatically queues the request and retries until it's completed.
  • Clear Status Reporting: We distinguish between an "Invalid" number and a "Service Down" status, so your workflow can continue uninterrupted.
  • The Ultimate Audit Trail: VIESAC stores a permanent digital certificate for every check—including those that required multiple attempts—ensuring you are 100% ready for a ViDA audit.

Try VIESAC — Automatic retries & audit trail

Pro Tip

Don't let a server glitch in another country stop your business growth. Use an EU VAT validation API with retry logic or our WooCommerce plugin so checkout never blocks and your audit trail stays complete. See also how to validate EU VAT for audit.

Get your API key — Free tier available