vatnode vs Vatlayer – Audit-Ready VAT Validation, Not Just Valid/Invalid
EU VAT compliance rarely stays a boolean – sooner or later someone asks which authority answered, when the check happened and whether you can prove it. According to Vatlayer's public documentation checked on 11 September 2026, its response carries no VIES consultation number, no per-request audit identifier and no source field. vatnode returns all three, plus company data from national registries, the full country VAT block and webhooks when a customer's registration changes.
Last updated: September 2026
Competitor facts on this page checked against the vendor's own public site, documentation and pricing pages on 11 September 2026. Rows marked absent mean we could not find the capability documented publicly, not that the product lacks it.
What a Valid/Invalid Boolean Leaves Out
A bare verdict stops being enough the day a tax authority requests evidence of due diligence for an invoice you issued eighteen months ago and the only thing your database stored is "valid" / "invalid".
The vatnode response carries more than a verdict: the VIES-issued consultationNumber, the sourceauthority, the verifiedAttimestamp and a per-call checkId.
What One Validation Call Returns
Vatlayer's validation response returns valid, company name, address, and standard rate. That is all. vatnode returns the fields an invoicing system needs:
{
"valid": true,
"vatId": "FI23365096",
"countryCode": "FI",
"countryName": "Finland",
"companyName": "SUPERCELL OY",
"companyAddress": "JÄTKÄSAARENLAITURI 2, 00180 HELSINKI",
"companyRegistrationDate": "2010-05-06",
"companyForm": "Oy",
"industryDescription": "Publishing of computer games",
"registryCode": "2336509-6",
"registryCodeName": "Y-tunnus",
"taxId": "2336509-6",
"taxIdName": "Y-tunnus",
"source": "VIES",
"checkId": "019d2a8c-5f3a-7d12-a901-bc23de456f78",
"verifiedAt": "2026-04-16T10:00:00.000Z",
"consultationNumber": "WAPIAAAAZ27qPadm",
"countryVat": {
"vatName": "Arvonlisävero", // print on Finnish invoices
"vatAbbr": "ALV",
"currency": "EUR",
"standardRate": 25.5,
"reducedRates": [10, 14],
"superReducedRate": null,
"parkingRate": null,
"vatNumberFormat": "FI + 8 digits",
"vatNumberPattern": "^FI\d{8}$",
"countryVatUpdatedAt": "2026-04-16"
}
}Feature Comparison
| Feature | vatnode | Vatlayer |
|---|---|---|
| Local VAT name in response (Mehrwertsteuer, Taxe sur la Valeur Ajoutée, Arvonlisävero…) | Yes | No |
| VAT abbreviation (MwSt, TVA, ALV…) | Yes | No |
| Super-reduced rate in response | Yes | No |
| Parking rate in response | Yes | No |
| Currency in response | Yes | No |
| VAT monitoring + webhooks | From €19/mo | No |
| Webhook: VAT_BECAME_INVALID | Yes | No |
| Webhook: COMPANY_NAME_CHANGED | Yes | No |
| Webhook: COMPANY_ADDRESS_CHANGED | Yes | No |
| VAT number format + regex pattern in response | Yes | No |
| National registry fallback + enrichment (tax authority & company registry APIs) | Yes | Not documented |
| VIES consultation number (audit reference) in API response | Yes | Not documented |
| EU VAT validation (VIES) | Yes | Yes |
| Company name + address | Yes | Yes |
| Company registration date (national registry) | Yes | Not documented |
| Legal form (GmbH, SAS, AB…) | Yes | Not documented |
| Industry description (NACE/SNI code) | Yes | Not documented |
| Standard + reduced rates | Yes | Yes |
| Audit trail (checkId + verifiedAt timestamp) | Yes | No |
| Free tier | 100 req/mo | 100 req/mo |
National Registry Integrations
When the VIES node for a country is down, vatnode falls back to that country's national VAT register wherever one is publicly queryable, so the check still answers instead of returning an error. Fallback runs only against registers that expose VAT registration itself: a company register can list an active business that is not VAT-registered, and deriving a verdict from that would be a false positive.
Separately, when VIES answers but carries no company data, vatnode enriches the response from national company registries – registration date, legal form and industry description – and returns the national register number where the VAT number is built from it. Coverage is per country and moves as registers open up; the coverage page lists which fields each country returns.
Vatlayer queries VIES only, with no documented equivalent for either. When the VIES node for a country is down, you get an error. The source field in every vatnode response tells you which authority answered – VIES, ARES, ANAF, and so on.
Granular Webhook Events
Register a VAT number and vatnode re-checks it on a schedule, sending a webhook when something changes – so your customer records and invoice settings stay current without a re-check job of your own.
VAT_BECAME_INVALIDCustomer's VAT registration lapsed — stop applying reverse charge immediately
VAT_BECAME_VALIDPreviously invalid number reactivated — update invoice settings
COMPANY_NAME_CHANGEDLegal name changed — update your customer records and invoices
COMPANY_ADDRESS_CHANGEDRegistered address changed — update your records for compliance
Rate-Data Freshness
EU rates move – Finland raised its standard rate from 24% to 25.5% in September 2024. Vatlayer does not publish a rate-update cadence or changelog we could check (11 September 2026). vatnode syncs from the European Commission TEDB on a daily cron and returns a per-country countryVatUpdatedAt on every response so you can verify freshness yourself rather than take our word for it.
Audit Metadata on Every Call
Every vatnode response includes a checkId (UUID) and a verifiedAt timestamp. Store both next to the invoice record, and every invoice links back to the exact validation call for support and internal lookups.
Vatlayer returns valid/invalid and a company name, but its public documentation does not describe audit metadata – no documented identifier to attach to an invoice, no documented timestamp proving when the check occurred, and no VIES consultation number even with a requester VAT configured.
Set your own EU VAT as requester in dashboard Account details and vatnode returns the VIES consultation number on qualified checks; Vatlayer has no documented equivalent. The checkId and verifiedAt fields, together with the national registry fallback, are supporting internal record – they show which source you queried and when, but they don't replace the consultation number. Retention requirements vary by country, so confirm yours with a tax advisor.
Questions Buyers Ask
Does Vatlayer return a VIES consultation number?
Its public documentation does not describe one (checked 11 September 2026). vatnode returns it on every qualified check once you set your own EU VAT as requester in Account details — no per-request parameter needed.
What does vatnode return that Vatlayer does not document?
The VIES consultation number, a per-call checkId and verifiedAt timestamp, the source authority, company enrichment from national registries (registration date, legal form, industry description) and the full country VAT block — local VAT name, abbreviation, currency and all four rate tiers. vatnode also monitors stored numbers and sends a webhook when one becomes invalid or the company name or address changes.
Switch to vatnode – Free to Start, No Credit Card Required
100 free API calls per month. Drop-in REST API – migrate in minutes.