Skip to content

Invalid, invalid input, or VIES unavailable

A VAT check has four outcomes, not two. Most integrations collapse them into a boolean, and that is where the damage starts: a registry outage becomes a “failed” counterparty, and someone declines perfectly good business on a network error.

The four states

valid
VIES answered, and the number is active in the counterparty's national registry at the moment of the check.
It does not mean the company is solvent, that the address is current, or that this VAT number belongs to the person e-mailing you.
invalid
VIES answered, and the number is not active. This is a definitive negative answer from the authority.
It does not always mean fraud. Numbers get deregistered, and a business can be mid-transition.
invalid_input
The number is structurally wrong — wrong length, wrong country prefix, failed checksum. It never reached VIES at all.
It says nothing about the counterparty. It usually means a typo or a copied-in space.
unavailable
VIES, or the national registry behind it, did not answer: outage, timeout, or rate limit. No verdict exists.
It is emphatically not “invalid”. Treating an outage as a negative answer is the single most damaging mistake in VAT verification.

Why unavailable is not invalid

VIES routes each request to the member state that issued the number. That means availability is only ever as good as the national registry answering at that moment, and any one of them can be down while the rest are fine. An outage is a fact about the network, not about your counterparty — so Jithox reports it as one.

We publish no uptime percentage for VIES. We do not operate it, we do not measure it end to end, and a number we cannot stand behind would be worse than none.

How Jithox handles them

Only definitive answers are cached
A valid or invalid result is cached with an expiry. An unavailable result is never written to the cache.
An outage never falls back to a stale entry
During an outage with no fresh cached answer, the honest reply is unavailable — never a guessed valid or invalid from an expired entry.
Structurally invalid input never reaches VIES
A malformed number is answered locally as invalid_input, so a typo does not consume a request against the registry.
Every answer carries its provenance
The source, the moment it was checked, and — for cached definitive answers — when it expires. A result is true as of its timestamp and nothing more.
The registered name and address are redacted
For a sole trader those are personal data. Jithox does not surface, store or log them; only the public validity state and its timing are kept.

Where the machine stops

  • A VIES result is technical evidence, not tax advice, and not a compliance guarantee.
  • Deciding what to do about an unavailable result — invoice now, wait, ask the counterparty — is a human decision. Jithox surfaces the state and its provenance; it does not make that call for you.
  • A result is true as of the moment it was checked. Nothing stops a number from being deregistered the next day.

Check it yourself

These states come from the E-Invoice Readiness MCP, which exposes the live VIES check as a read-only tool alongside four others. See the pilot for what it covers, what it costs, and what it deliberately does not do.