VIES Error

IO_ERROR

Exception while parsing VIES response

What does IO_ERROR mean?

The IO_ERROR error indicates that VIES returned a response that couldn't be parsed correctly. The request reached the VIES server and got a reply, but something went wrong when processing that reply.

This is a technical error on the VIES side. The response format was unexpected, malformed, or corrupted. It's not caused by your input or request.

When does this error occur?

  • When VIES returns malformed XML or JSON
  • During system updates when response formats change
  • When network issues corrupt the response data
  • During partial system failures where responses are incomplete
  • When VIES returns an unexpected response format

Why is this a problem?

IO_ERROR is frustrating because it provides no information about whether the VAT number is valid. The request was processed (probably), but you can't see the result. Retrying might give you the same error or might work. It's unpredictable.

VIES infrastructure issue

IO_ERROR indicates a problem on the VIES side. Your request format is correct. The issue is with what VIES sent back. There's nothing to fix in your code.

How to handle IO_ERROR

1. Use a VAT validation service with robust error handling

VatDB's VIES client handles response format variations and parsing edge cases. We retry automatically on IO_ERROR and fall back to alternative official EU and national databases when VIES responses are consistently unparseable. Use webhooks to get notified when validation succeeds.

2. Retry the request

IO_ERROR is often transient. A simple retry frequently succeeds. Wait 1 to 2 seconds before retrying.

3. Log issues for debugging

If you're building your own VIES client, log the raw response when IO_ERROR occurs. This helps debug whether it's a recurring format issue.

Reliable VAT validation without parsing headaches

VatDB handles all the complexity of VIES communication, including malformed responses, format variations, and edge cases. We connect to multiple official EU and national databases. Use webhooks to receive clean, consistent results without implementing response parsing.

Try VatDB Free

Frequently Asked Questions

Should I retry IO_ERROR requests?
Yes. IO_ERROR is often caused by transient issues. A retry after 1 to 2 seconds frequently succeeds. If the error persists, wait longer. VIES may be experiencing broader issues.
Could IO_ERROR be caused by my code?
Usually not. IO_ERROR means the response couldn't be parsed, which indicates a VIES-side issue. However, ensure you're using a current version of your VIES client library in case response formats have changed.
Does IO_ERROR mean my request wasn't processed?
Not necessarily. The request may have been processed successfully. You just can't see the result because the response is unparseable. For qualified requests, the query may have been logged even if you got an error.
How does VatDB handle IO_ERROR?
VatDB's VIES client handles response format variations and parsing edge cases. We retry automatically on IO_ERROR and fall back to alternative data sources when VIES responses are consistently unparseable. Webhooks notify you when validation completes.