EU VIES (VAT Information Exchange System) er ryggraden i grenseoverskridende B2B-handel. Som all digital infrastruktur er den imidlertid ikke perfekt. Enten det er planlagt vedlikehold eller uventet serverkrasj, kan VIES-nedetid treffe på verst mulig tidspunkt—akkurat når en kunde står i kassen.

For en virksomhet på vei mot ViDA-compliance er «systemet var nede» ikke en gyldig unnskyldning for manglende kontrollspor. Slik håndterer du VIES-utfall profesjonelt og lovlig.
1 Hvorfor VIES går ned (og hvorfor det ikke er ett system)
VIES er en «gateway» snarere enn én database. Når du validerer et EU VAT-nummer, reiser forespørselen fra EU-kommisjonens portal til den aktuelle medlemsstatens nasjonale skattedatabase.
Oppdaterer Italia eller Tyskland lokale skatteservere, kan VIES ikke verifisere numre fra disse landene.
I topper for innlevering kan responstider bli betydelig lengre.
Svarer ikke en nasjonal server innen få sekunder, returnerer VIES «Unavailable» eller feilen MS_UNAVAILABLE.
Ikke la en midlertidig VIES-feil avbryte en forsvarlig MVA-prosess. VIESACs egen robusthetsløsning kombinerer SmartRouter™, SmartCache™, overvåkede forbindelser til lokale registre, verifisert valideringshistorikk, landssignaler og AI-støttet kvalitetskontroll. Det offisielle VIES-svaret i sanntid er alltid avgjørende: mens det er forsinket, dokumenterer VIESAC konteksten, styrer kontrollerte køer og nye forsøk og holder status tydelig som ventende eller begrenset.
2 VIES-feilkoder og feilsøking (SOAP API)
Fordi VIES er en sanntidsgateway til 27 nasjonale systemer, følger feilene du får (ofte kalt SOAP Fault Codes) bestemte mønstre. Å forstå disse er kritisk for ViDA-compliance, der en teknisk glitch kan blokkere digital rapportering i nær sanntid (DRR). Slik gir VIESAC teknisk robusthet mot disse feilene.
| Feilkode (SOAP) og mønster | Teknisk analyse og VIESAC-løsning |
|---|---|
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 Gullregelen: «Utilgjengelig» ≠ «Ugyldig»
En av de største feilene virksomheter gjør er å behandle en teknisk timeout som ugyldig EU VAT-nummer.
Praktisk håndtering: Du må dokumentere hvert forsøk, implementere smarte nye forsøk og kommunisere tydelig med brukeren—aldri anta at «utilgjengelig» betyr «ugyldig».
4 Praktisk håndtering: en 3-trinns strategi
Følg disse trinnene for å beskytte både salg og compliance når VIES er nede:
- 1. Dokumenter hvert forsøk — I øynene til skattekontroll eksisterer et «forsøk» bare hvis det finnes et spor. Logg alltid: EU VAT-nummer som ble skrevet inn, eksakt tidsstempel og den spesifikke feilmeldingen (f.eks. «Service Unavailable» eller «MS_UNAVAILABLE»).
- 2. Implementer smarte nye forsøk — Ikke la kunden vente ved «Betal nå». Godta ordren, men flagg den for re-validering i bakgrunnen. Et godt system bør prøve kontrollen på nytt hvert 30.–60. minutt til et endelig «Gyldig» eller «Ugyldig»-svar foreligger.
- 3. Kommuniser transparent — Informer brukeren tydelig: «MVA-validering er midlertidig utilgjengelig på grunn av EU-servervedlikehold. Vi validerer statusen din snart og oppdaterer fakturaen.» Det bygger tillit og hindrer handlekurv-frafall.
Slik automatiserer VIESAC nedetids-hodet
Å håndtere manuelle nye forsøk og logger er en utviklers mareritt. VIESAC er designet for å håndtere ustabiliteten i offentlige servere, så du slipper.
- →Automatiske nye forsøk og køing: Er VIES nede, køer systemet forespørselen og prøver på nytt til den er fullført.
- →Tydelig statusrapportering: Vi skiller mellom «Ugyldig» nummer og «Tjeneste nede», så arbeidsflyten din kan fortsette uavbrutt.
- →Det ultimate kontrollsporet: VIESAC lagrer et permanent digitalt sertifikat for hver kontroll—inkludert de som krevde flere forsøk—så du er 100 % klar for ViDA-kontroll.
Praktisk tips
La ikke en serverglitch i et annet land stoppe veksten din. Bruk et EU MVA-validerings-API med retry-logikk eller vårt WooCommerce-plugin, så kassen aldri blokkeres og kontrollsporet forblir komplett. Se også hvordan du validerer EU VAT for kontroll.