vatnode vs Vatstack – More VAT Data in Every Validation Call
One vatnode call returns everything an invoice template needs: the VIES result, company data enriched from national registries, the local VAT name, abbreviation, currency and all four rate tiers, plus a VIES consultation number on every qualified check once you set your own VAT as requester. Register a number for monitoring and vatnode tells you by webhook when it becomes invalid or the company's name or address changes. Vatstack's public documentation describes none of the enrichment fields, the country VAT block or those change events.
Last updated: September 2026
Competitor facts on this page verified 11 September 2026 against vatstack's public documentation and pricing page (sources cited inline below); vatstack may have changed its product since.
One Call, One Self-Contained Record
vatnode treats every validation as a stateless REST call that returns a self-contained record – VIES consultation number, source authority, verifiedAt timestamp and the country VAT block – and treats monitoring as an opt-in layer on top. If you only need the validation primitive, you stop at the primitive; if you need change alerts, you add them without a second vendor.
What One Validation Call Returns
{
"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, // included for all 27 countries
"parkingRate": null, // included for all 27 countries
"vatNumberFormat": "FI + 8 digits",
"vatNumberPattern": "^FI\d{8}$",
"countryVatUpdatedAt": "2026-04-16"
}
}Vatstack's public documentation does not describe vatName, vatAbbr, currency, companyRegistrationDate, and industryDescription, registryCode, or registryCodeName in its validation response. With vatnode they arrive in the same call, so there is no separate lookup table or second API call to maintain.
Feature Comparison
| Feature | vatnode | Vatstack |
|---|---|---|
| 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 (EUR, PLN, HUF…) in response | Yes | 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 |
| EU VAT validation (VIES) | Yes | Yes |
| Company name + address | Yes | Yes |
| Company registration date (national registry) | Yes | Not documented |
| Structured legal form (GmbH, SAS, AB…) | Yes | company_type field |
| Industry description (NACE/SNI code) | Yes | Not documented |
| Standard + reduced rates in response | Yes | Yes |
| HTTPS on all plans | Yes | Yes |
| VAT monitoring + webhooks | From €19/mo | Paid plans |
| Audit trail (per-check ID + timestamp) | checkId + verifiedAt | id + created |
| VIES consultation number (audit reference) in API response | Yes | Yes |
| Bulk / batch validation | Async, up to 50,000/job | Yes |
| Annual billing | Yes | No |
| Stated hosting | Germany (EU) | Not documented |
Feature rows sourced from vatnode's own API and vatstack's public documentation and pricing page, retrieved 11 September 2026. A cross or "Not documented" means we could not find the capability documented publicly, not that the product lacks it.
On the consultation number, vatnode's difference is delivery: set your EU VAT once in Account details and every response carries the number with no code change, and with a requester configured vatnode returns either a success with a consultation number or a typed error – never a silent success that drops the audit reference.
National Registry Integrations
When VIES is unavailable, vatnode automatically answers from the national VAT register for the member states that expose one, and the source field in every vatnode response tells you which register answered. When VIES does answer, national company registers add the data VIES leaves out, such as registration date and legal form.
Vatstack documents no national-registry fallback or enrichment of its own.
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
Current Rates in Every Response
EU VAT rates move – Finland raised its standard rate from 24% to 25.5% in September 2024. Vatstack's public docs don't describe how often its VAT-rate data refreshes (checked 11 September 2026). vatnode pulls from the European Commission TEDB on a daily cron, so the rate on every validation call reflects the current published rate – no dashboard or separate job for you to run.
Audit Reference per Call, Not per Subscription
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 event behind it – a reference for your own records, not evidence by itself.
Your requester VAT is set once in Account details and applies to every check by default, so every qualified call returns a consultation number or a typed error – nothing depends on remembering a requester per request.
Of everything in the response, only the consultation number comes from VIES itself. The checkId and verifiedAt fields are useful for your own record-keeping – looking up a specific call, timestamping when it ran – but they don't carry evidentiary weight on their own. Retention requirements vary by country, so confirm yours with a tax advisor.
Questions Buyers Ask
How does vatnode deliver the VIES consultation number?
You enter your requester VAT once in Account details and vatnode applies it to every check — no per-request parameter to remember. With a requester configured, every call returns either a result carrying a consultation number or a typed error, never a silent success without the audit reference. A rejected call is not counted against your quota.
What does a vatnode response include that Vatstack does not document?
The local VAT name and abbreviation, the currency, super-reduced and parking rates, the VAT number format and regex pattern, and company enrichment from national registries — registration date, industry description and the national register number. Every response also carries a checkId and verifiedAt timestamp for your own records.
Switch to vatnode – Free to Start, No Credit Card Required
100 free API calls per month. Drop-in REST API – migrate in minutes.