vatnode vs Vatstack – When You Need VIES Validation, Not Subscription Monitoring

Vatstack positions itself around automation – recurring rate snapshots, subscription billing flows, scheduled re-validation as a managed product. That fits if the thing you are building is a subscription billing engine. If what you need is a REST endpoint that returns a VIES consultation number on qualified calls (when you supply your own VAT as requester), plus the local VAT name, abbreviation, currency and all four rate tiers your invoice template needs, the automation platform around it is mostly overhead. vatnode is API-first: one call, one structured payload, a documented audit reference on qualified checks. This page sets the two scopes side by side.

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.

Why this comparison matters

Vatstack and vatnode look similar on a feature checklist, but they answer different questions. Vatstack answers "how do I automate VAT lifecycle workflows"; vatnode answers "how do I validate this VAT number right now and prove it later". Everything below is framed around that difference.

Automation Platform vs API-First Validator

Vatstack's product centres on subscription-style features: monitored VAT IDs that re-check on a schedule, dashboards for tracking validity over time, automation plans gated on usage. Its pricing structure follows that scope.

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 additional opt-in layer rather than the headline feature. If you only need the validation primitive, you stop at the primitive.

What One Validation Call Returns

GET /v1/vat/FI26364843
{
  "valid": true,
  "vatId": "FI26364843",
  "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",
  "registryCodeName": "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"
  }
}
Company enrichment – not in VatstackcountryVat block – not in Vatstackconsultation number – available in vatnode

Vatstack's public documentation does not describe vatName, vatAbbr, currency, companyRegistrationDate, and industryDescription, registryCode, or registryCodeName in the validation response – an absence in the documentation, not a confirmed absence in the product. If those fields matter to your integration, verify with the vendor; otherwise plan on a separate lookup table or a second API call.

Feature Comparison

FeaturevatnodeVatstack
Local VAT name in response (Mehrwertsteuer, Taxe sur la Valeur Ajoutée, Arvonlisävero…)YesNo
VAT abbreviation (MwSt, TVA, ALV…)YesNo
Super-reduced rate in responseYesNo
Parking rate in responseYesNo
Currency (EUR, PLN, HUF…) in responseYesNo
Webhook: VAT_BECAME_INVALIDYesNo
Webhook: COMPANY_NAME_CHANGEDYesNo
Webhook: COMPANY_ADDRESS_CHANGEDYesNo
VAT number format + regex pattern in responseYesNo
National registry fallback + enrichment (tax authority & company registry APIs)YesNot documented
EU VAT validation (VIES)YesYes
Company name + addressYesYes
Company registration date (national registry)YesNot documented
Structured legal form (GmbH, SAS, AB…)Yescompany_type field
Industry description (NACE/SNI code)YesNot documented
Standard + reduced rates in responseYesYes
HTTPS on all plansYesYes
VAT monitoring + webhooksFrom €19/moPaid plans
Audit trail (checkId + verifiedAt timestamp)YesNo
VIES consultation number (audit reference) in API responseYesYes
Bulk / batch validationAsync, up to 50,000/jobYes
CSV import / exportNoYes
VAT OSS + EC Sales List reportingNoYes
Annual billingYesNo
Stated hostingGermany (EU)Not documented
Published uptime SLANo99.95% on Enterprise
Entry paid plan€19/mo — 1,000 req/mo$15/mo — 500 validations ($0.03/extra)

Feature rows sourced from vatnode's own API and vatstack's public documentation and pricing page, retrieved 11 September 2026. Vatstack's pricing is quoted in its native currency (USD); vatnode's in EUR – figures are not currency-adjusted. Both vendors can change pricing or features after this date, so confirm current figures with the vendor before you decide on price.

The consultation number itself is not unique to vatnode – vatstack, vatsense and vatapi all return one when you supply your own VAT as requester (each verified against the vendor's own docs, 11 September 2026). What differs 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 or returns no company data, vatnode automatically falls back to national tax-authority and company-registry APIs for covered EU member states – coverage is growing. The source field in every vatnode response tells you which authority answered.

Vatstack has no national-registry fallback of its own – instead it queues automated re-validation against VIES and notifies you by webhook once a result lands (see below).

When the VIES Service Is Down

VIES has scheduled and unscheduled outages. vatnode and Vatstack handle that moment differently, and the difference is worth stating precisely.

Vatstack's documented behavior: when the underlying government service is temporarily unavailable, the API responds with HTTP 202 and valid: null, then retries the request asynchronously until VIES returns a result (vatstack.com validation docs, verified 11 September 2026). You wait for the retry and get the eventual VIES answer.

vatnode instead queries the national tax authority or company registry for the same country immediately and returns a result. This buys availability, not equivalent correctness: a national-registry confirmation shows the number is registered domestically, not that it has passed the intra-EU/cross-border VIES check, and it does not carry a VIES consultation number. If you specifically need the authoritative cross-border confirmation, Vatstack's retry-until-VIES-answers approach eventually returns it; vatnode's fallback returns a faster, differently-scoped result in the meantime.

One caveat on our own behaviour, because the two features interact: when you configure a requester VAT to receive consultation numbers, vatnode does not fall back. The audit reference can only be issued by VIES, so substituting a national registry would hand you a result without the evidence you asked for. Requester configured means VIES or a typed error; no requester means the fallback path is available. You pick one behaviour per account, and the row above applies to the second.

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_INVALID

Customer's VAT registration lapsed — stop applying reverse charge immediately

VAT_BECAME_VALID

Previously invalid number reactivated — update invoice settings

COMPANY_NAME_CHANGED

Legal name changed — update your customer records and invoices

COMPANY_ADDRESS_CHANGED

Registered address changed — update your records for compliance

Rate Freshness Without the Automation Overhead

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.

Vatstack's response also includes an id, created/updated timestamps, and – with a requester VAT configured – its own consultation number (vatstack.com validation docs, verified 11 September 2026), so it isn't missing audit data outright. The practical difference is delivery: vatnode's requester VAT is set once in Account details and applies to every check by default, returning a consultation number or a typed error on every qualified call rather than only when a requester is remembered per request.

Only the consultation number counts as third-party proof – it's issued by the EU Commission, not by either vendor. 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

Does Vatstack return a VIES consultation number?

Yes, when you supply your own VAT number as the requester. The consultation number is not exclusive to vatnode and we do not claim it is. The difference is how it is delivered: vatnode takes the requester VAT once in Account settings and applies it to every check, and with a requester configured it returns either a result carrying a consultation number or a typed error — never a silent success without the audit reference. The rejected call is not counted against your quota.

How do the entry plans compare?

Vatstack lists $15/month with 500 validations included and $0.03 per additional one; vatnode charges €19/month for 1,000. Vatstack also bills "supplies" separately from validations, and both vendors quote excluding VAT. The currencies are not converted here, so treat the comparison as approximate.

Does the national-registry fallback apply to every vatnode check?

No, and this is worth being exact about. When you configure a requester VAT to get consultation numbers, vatnode stays on VIES: the audit reference can only come from VIES itself, so a fallback result would defeat the purpose. The national tax-authority and company-registry fallback applies to checks made without a requester. You choose availability or audit evidence, and vatnode makes that choice explicit rather than blending the two.

Switch to vatnode – Free to Start, No Credit Card Required

100 free API calls per month. Drop-in REST API – migrate in minutes.