vatnode vs a Direct VIES Integration – What It Adds on Top

If you already call VIES yourself, you have the core of a VAT check: valid or not, and for most countries a name and an address. vatnode starts from the same VIES answer and adds the parts a raw integration leaves to you – a national register to ask when VIES is down, errors that never pass for an invalid number, company data and VAT rates in the response, bulk jobs and monitoring with webhooks.

VIES facts on this page checked against the Commission's VIES REST API specification on 8 Oct 2026.

What vatnode Adds to VIES

First, outages. Member states drop out of VIES, and a direct integration gets an error back. Where a country's tax authority publishes its VAT register, vatnode asks that register instead and names it in the sourcefield. Where it doesn't, you get VIES_UNAVAILABLE with HTTP 503 or UPSTREAM_TIMEOUTwith HTTP 504. An outage is never reported as an invalid number, so a customer doesn't lose reverse charge because a national node was down for maintenance. When the VIES SOAP gateway itself fails, vatnode retries over the REST gateway before giving up.

Second, the audit trail. Set your requester VAT once in the dashboard and every check asks VIES for a consultation number. You get either a number or a typed error. VIES can answer a valid verdict with an empty consultation number; vatnode then retries once and, if the number is still missing, withholds the verdict rather than return a check with no reference. Every check is stored with a checkId and a verifiedAt timestamp you can keep next to the invoice.

Third, data VIES doesn't have. vatnode adds the registration date, company form, status, industry and the registry and tax numbers from national tax authority and company registry APIs where they publish them, plus the local VAT name, all rate tiers and the currency of the country. The coverage page lists which fields each country returns.

Fourth, scale. VIES checks one number per request. A vatnode bulk job takes up to 50,000 numbers in one call. From the Starter plan, vatnode also monitors the customer numbers you store and sends a webhook when one goes invalid or its registered name or address changes.

Feature Comparison

FeaturevatnodeDirect VIES integration
Validity verdict from VIESYesYes
Answer when VIES is down for a member stateFrom the national VAT register, where the tax authority publishes oneAn error you handle yourself
Outage reported as an outageTyped error code, HTTP 503 or 504, never valid: falseSOAP faults and REST error wrappers you map yourself
Second attempt when the VIES gateway failsSOAP first, then the REST gatewayYou build it
VIES consultation numberRequester set once in the dashboard; a number or a typed errorRequester sent with every call
Registration date, company form, status, industry from national registriesYesNo
Registry and tax numbers with their local namesYesNo
Local VAT name, all rate tiers and currency in every responseYesNo
Bulk validationUp to 50,000 numbers per async jobOne number per request
Monitoring of stored customer numbersFrom the Starter planNo
Webhooks on status, name or address changeYesNo
Stored audit record per check (checkId + verifiedAt)YesYou store it

vatnode rows come from our own API; VIES rows from the Commission's VIES REST API specification, checked 8 Oct 2026.

Questions Buyers Ask

We already call VIES directly. What does vatnode add?

The verdict is still the VIES verdict; vatnode adds the parts a direct integration leaves to you. When VIES is down for a member state whose tax authority publishes its VAT register, vatnode asks that register instead. Outages come back as typed errors, never as an invalid number. Each response carries company data from national tax authority and company registry APIs where they publish it, plus the country’s VAT rates. On top of single checks there are bulk jobs, monitoring of stored customer numbers and webhooks when one of them changes.

What happens when VIES is down?

For member states whose national VAT register can be queried, vatnode answers from that register and names it in the source field of the response. For the rest it returns VIES_UNAVAILABLE (HTTP 503) or UPSTREAM_TIMEOUT (HTTP 504), so your code can retry instead of treating a customer’s number as invalid. A national register cannot issue a VIES consultation number, so accounts with a requester VAT set get the typed error rather than a register answer.

Do I still get the VIES consultation number?

Yes. Set your requester VAT once in Account details and it applies to every check, so no call has to carry it. With a requester set, vatnode returns either a result with a consultation number or a typed error. VIES can answer a valid verdict with an empty consultation number; vatnode retries once and, if the number is still missing, withholds the verdict instead of handing over a check with no audit reference.

Where does the extra company data come from?

From national tax authority and company registry APIs, country by country, added on top of the VIES answer. Which fields each country returns – registration date, company form, status, industry, registry code – is listed on the coverage page.

Can I compare it with my current integration before switching?

Yes. Every account gets 100 live checks a month without a card. Run the numbers you already check through VIES and compare the responses side by side.

Try vatnode Free – No Credit Card Required

100 live checks per month. Run the numbers you already check through VIES and compare the responses.