El VIES (sistema de intercambio de información sobre el IVA) de la UE es el pilar del comercio B2B transfronterizo. Como toda infraestructura, no es perfecto. Mantenimiento programado o fallo de servidor: una no disponibilidad puede llegar en el peor momento—en el checkout del cliente.

Para una empresa que aspira al cumplimiento ViDA, « el sistema estaba caído » no es una excusa válida para una trazabilidad faltante. Así puede gestionar las caídas de VIES de forma profesional y legal.
1 Por qué VIES cae (y por qué no es un solo sistema)
VIES es una « pasarela » a 27 bases fiscales nacionales. En una validación, la petición sale del portal de la Comisión hacia la base del país correspondiente.
Si Italia o Alemania actualizan sus servidores fiscales, VIES no puede comprobar los números de esos países.
En periodos de declaraciones, los tiempos de respuesta pueden ralentizar mucho.
Si un servidor nacional no responde en unos segundos, VIES devuelve « No disponible » o MS_UNAVAILABLE.
Laat een tijdelijke VIES-storing geen zorgvuldig btw-proces onderbreken. De eigen veerkrachtlaag van VIESAC combineert SmartRouter™, SmartCache™, bewaakte verbindingen met lokale registers, geverifieerde validatiegeschiedenis, landsgezondheidssignalen en AI-ondersteunde kwaliteitscontroles. Het live, officiële VIES-antwoord blijft altijd doorslaggevend: tijdens vertraging legt VIESAC de context vast, beheert het gecontroleerde wachtrijen en herhalingen en blijft de status duidelijk in behandeling of beperkt.
2 VIES-foutcodes & probleemoplossing (SOAP API)
Omdat VIES een real-time gateway is naar 27 nationale systemen, volgen de fouten die u ontvangt (vaak SOAP Fault Codes genoemd) specifieke patronen. Begrip hiervan is cruciaal voor ViDA-compliance, waarbij een technische storing uw real-time digitale rapportage (DRR) kan blokkeren. Hier ziet u hoe VIESAC technische veerkracht biedt tegen deze storingen.
| Foutcode (SOAP) & patroon | Technische analyse & VIESAC-oplossing |
|---|---|
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 Regla de oro: « No disponible » ≠ « No válido »
Un error frecuente: confundir un timeout técnico con un número de IVA no válido.
Atención: Si su sistema rechaza automáticamente al cliente porque VIES está temporalmente caído, pierde facturación. A la inversa, aplicar el 0 % de IVA sin comprobación posterior expone a fuertes multas en un control.
En la práctica: Documente cada intento, ponga en marcha reintentos inteligentes y comuníquese con claridad con el usuario—nunca considere « no disponible » como « no válido ».
4 Conducta a seguir: estrategia en 3 pasos
Cuando VIES está caído, siga estos pasos para proteger ventas y cumplimiento:
- 1. Documentar cada intento — Para el auditor, un « intento » solo existe si hay registro. Registre siempre: número introducido, marca temporal exacta, mensaje de error (ej. « Servicio no disponible » o « MS_UNAVAILABLE »).
- 2. Reintentos inteligentes — No haga esperar al cliente en « Pagar ». Acepte el pedido y programe una recomprobación en segundo plano. El sistema debe reintentar cada 30–60 minutos hasta obtener « Válido » o « No válido ».
- 3. Comunicar con transparencia — Indique con claridad: « La validación del IVA está temporalmente no disponible (mantenimiento de servidores UE). Validaremos su estado en breve y actualizaremos la factura. » Así tranquiliza y limita el abandono del carrito.
Dat venster van 30–60 minuten is typisch voor conventionele systemen—ze pollen simpelweg zo zelden. Met VIESAC maken asynchrone technologie, gedistribueerde verzoeken en servers en VIESAC AI het mogelijk om VIES-beschikbaarheid bijna in realtime te monitoren, zodat we uw audit leveren zodra de dienst reageert.
Cómo VIESAC automatiza la gestión de las no disponibilidades
Gestionar manualmente reintentos y logs es una pesadilla. VIESAC está diseñado para absorber la inestabilidad de los servidores públicos.
- →Reintentos y cola automáticos: Si VIES está caído, nuestro sistema pone la petición en cola y reintenta hasta completar.
- →Estados claros: Distinguimos « No válido » y « Servicio no disponible » para que su flujo continúe sin bloqueos.
- →Trazabilidad completa: VIESAC almacena un certificado digital permanente por cada comprobación—también tras varios intentos—estará listo para una auditoría ViDA.
Praktische tip
No deje que un fallo de servidor en el extranjero frene su crecimiento. Utilice una API de validación de IVA de la UE con lógica de reintento o nuestro plugin WooCommerce para que el checkout no se bloquee nunca y su trazabilidad se mantenga completa. Véase también cómo validar el IVA de la UE para auditoría.