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
| Feature | vatnode | Direct VIES integration |
|---|---|---|
| Validity verdict from VIES | Yes | Yes |
| Answer when VIES is down for a member state | From the national VAT register, where the tax authority publishes one | An error you handle yourself |
| Outage reported as an outage | Typed error code, HTTP 503 or 504, never valid: false | SOAP faults and REST error wrappers you map yourself |
| Second attempt when the VIES gateway fails | SOAP first, then the REST gateway | You build it |
| VIES consultation number | Requester set once in the dashboard; a number or a typed error | Requester sent with every call |
| Registration date, company form, status, industry from national registries | Yes | No |
| Registry and tax numbers with their local names | Yes | No |
| Local VAT name, all rate tiers and currency in every response | Yes | No |
| Bulk validation | Up to 50,000 numbers per async job | One number per request |
| Monitoring of stored customer numbers | From the Starter plan | No |
| Webhooks on status, name or address change | Yes | No |
| Stored audit record per check (checkId + verifiedAt) | Yes | You 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.