Now in early access · EU VAT compliance

EU VAT validation that holds up in an audit

Most VAT APIs return “valid” or “invalid.” That isn’t enough when the tax office asks for proof. Vatnode captures the official consultation number, falls back when VIES is down, and enriches the company — so your zero-rating is legally defensible.

# One call → a result you can hand an auditor curl https://api.vatnode.io/v1/validate \ -H "Authorization: Bearer sk_live_..." \ -d vat_number="DE811907980" { "valid": true, "consultation_number": "WAPIAAAAW1234567", // audit proof "company": { "name": "…", "address": "…" }, "source": "vies", "checked_at": "2026-06-11T17:00:02Z" }

A boolean isn’t evidence

When you zero-rate a cross-border B2B invoice, you’re claiming you verified the buyer’s VAT number. In an audit, you need to prove it — at a point in time.

Plain VAT lookups

  • ↳ Return only valid / invalid
  • ↳ No consultation number = no audit proof
  • ↳ Break when VIES is down (often)
  • ↳ You store screenshots and hope

Vatnode

  • ↳ Captures the official consultation number
  • ↳ National-registry fallback when VIES fails
  • ↳ Company name + address enrichment
  • ↳ Immutable, exportable audit log

Built for defensible compliance

Everything a finance or engineering team needs to zero-rate with confidence.

🧾

Audit-proof consultation numbers

Every check returns the official VIES consultation number and a timestamp — the proof auditors actually ask for.

🛟

Fallbacks when VIES is down

Automatic failover to national registries so your checkout or billing flow never breaks on an EU outage.

🏢

Company enrichment

Turn a bare VAT number into a verified company name and address for your invoices and KYB.

📑

Immutable audit log

Every validation is logged and exportable — hand your accountant a clean record, not a folder of screenshots.

One simple REST call

Drop-in API with SDKs and webhooks. Most teams integrate in an afternoon.

🔒

EU-hosted & GDPR-aware

Data processed in-region, minimal retention, built for compliance teams.

How it works

Replace your VIES call with one Vatnode call. Get a result you can defend.

1

Send the VAT number

POST the buyer’s VAT number (and optionally your own) to /v1/validate.

2

We verify & prove it

We hit VIES, capture the consultation number, fall back to national registries if needed, and enrich the company.

3

You store the evidence

Get a structured, timestamped result + a logged audit trail you can export anytime.

Simple, usage-based pricing

Start free. Pay as you grow. No per-seat nonsense.

Free

€0
  • 100 validations / mo
  • Consultation numbers
  • Community support
Start free

Starter

€19/mo
  • 2,000 validations / mo
  • VIES fallbacks
  • Audit log export
  • Email support
Get Starter

Growth

€49/mo
  • 10,000 validations / mo
  • Company enrichment
  • Webhooks
  • Priority support
Get Growth

Scale

€149/mo
  • 50,000 validations / mo
  • SLA + annual billing
  • Dedicated support
Talk to us

FAQ

What is a consultation number and why do I need it?

It’s the official identifier VIES issues for a validation request. In a tax audit it’s the accepted proof that you verified a VAT number at a specific moment — which a simple valid/invalid response can’t give you.

How is this different from a normal VAT-check API?

Generic APIs return a boolean. Vatnode adds the consultation number, national-registry fallbacks when VIES is unavailable, company enrichment, and an exportable audit log — the things that make zero-rating defensible.

Are you reselling official data?

No. We capture and log your validation and its official consultation number as auditable evidence. We’re a compliance and logging layer on top of the official sources, not a reseller.

How long does integration take?

One REST endpoint, clear docs, SDKs and webhooks. Most teams are live in an afternoon.

Get your free API key

Join the early access list. We’ll send your key and onboarding when your slot opens.

No spam. Early-access pricing locked in for founding users.