Stripe Tax Alternative for EU VAT Validation
Comparison based on Stripe Tax public documentation as checked on 11 September 2026.
Stripe Tax lives inside Stripe Checkout. The moment you bill through another processor, or need to validate a customer's EU VAT number outside the checkout flow – at signup, on a B2B invoice, during supplier onboarding, or as part of a reverse-charge confirmation – it does not apply.
vatnode is the API for those cases. It validates EU VAT IDs against VIES and answers in the same request, returns company data from national registries and the official VIES consultation number on qualified checks (when you supply your own VAT as requester), and stores a checkId and verifiedAt timestamp for every call.
When vatnode Fits Better
- You bill through Paddle, LemonSqueezy, or your own billing — not Stripe
- You need to validate customer VAT IDs at signup or invoice time, not at checkout
- You sell B2B and need reverse-charge confirmation per transaction
- You need the official VIES consultation number for audit/compliance evidence
- You run a marketplace or SaaS where customers self-report VAT IDs that must be verified
- You need a national VAT register fallback when VIES is unavailable
- You want AI agents (Claude, Cursor, ChatGPT) to validate VAT IDs and look up rates directly in chat via the official MCP server
Side-by-Side: Stripe Tax vs vatnode
| Dimension | Stripe Tax | vatnode |
|---|---|---|
| Validation timing | Asynchronous – after the customer and tax ID are created | Synchronous – the answer comes back in the same request |
| Output | VAT IDs validated, no consultation number surfaced | VIES-verified VAT data + consultation number + company enrichment |
| Stack lock-in | Requires Stripe payments / Stripe Checkout | REST API – works with any stack (Paddle, LemonSqueezy, in-house billing) |
| Audit trail | Stripe-side tax records linked to charges | Per-call checkId + verifiedAt, plus VIES consultation number on qualified checks |
| Integration surface | Stripe SDK (server + client) inside Checkout flow | REST endpoint – call from any backend or edge runtime |
Stripe Tax dimensions sourced from Stripe Tax public documentation as checked on 11 September 2026. Stripe may have changed its product since.
Example: Validate a VAT ID at Signup Without Stripe
A typical non-Stripe case – a SaaS billed through Paddle wants to validate the VAT ID a customer enters on the signup form, before the first invoice is generated. One REST call to vatnode is enough:
// Runs in a Next.js route handler, Supabase Edge Function,
// Hono on Cloudflare Workers — anywhere with fetch().
export async function validateAtSignup(vatId: string) {
const res = await fetch(`https://api.vatnode.dev/v1/vat/${vatId}`, {
headers: {
'Authorization': `Bearer ${process.env.VATNODE_API_KEY}`,
},
})
if (!res.ok) throw new Error(`VAT lookup failed: ${res.status}`)
const data = await res.json()
return {
valid: data.valid,
companyName: data.companyName,
countryCode: data.countryCode,
// consultationNumber is your audit evidence; checkId/verifiedAt are for your own reference:
consultationNumber: data.consultationNumber,
checkId: data.checkId,
verifiedAt: data.verifiedAt,
}
}See the quickstart for the full request/response contract, and /docs/vat-validation for the validation endpoint reference.
VAT Validation for Every Flow Outside Checkout
vatnode handles VAT validation wherever a VAT number enters your system – signup forms, B2B invoicing pipelines, supplier onboarding, periodic re-validation and compliance audits. It runs next to Stripe or on its own, from any backend.
FAQ
Can I use vatnode with Stripe Checkout?
Yes. vatnode validates customer-supplied VAT IDs at signup, on B2B invoicing flows outside checkout, in supplier-onboarding screens, and in compliance audits where a VIES consultation number is required – alongside Stripe or without it.
Does Stripe validate EU VAT numbers against VIES?
Yes, asynchronously: Stripe runs the check after the customer and tax ID have been created, so the result arrives after the fact. vatnode answers synchronously, in the same request, so you can act on the result while the customer is still on the form – and it returns the VIES consultation number, company enrichment and a per-call audit trail with it.
What does the VIES consultation number actually give me?
When you supply your own VAT as requester and VIES returns a successful validation, VIES returns a consultation number – an audit reference recording that the check was performed against the official source on a specific date. You retain it as part of your reverse-charge documentation; whether it satisfies your own evidentiary requirements is a question for your tax adviser. vatnode returns it on every qualified VIES response. Stripe does validate VAT IDs against VIES, but does not surface this field.
How is vatnode priced?
Per validation call, on fixed monthly plans: 100 requests a month free, then €19/mo for 1,000 requests. vatnode never takes a percentage of your transactions, so signup flows and supplier verification cost the same whatever your sales volume.
Does vatnode work for SaaS that is not on Stripe?
Yes. SaaS companies on Paddle, LemonSqueezy or their own billing stack use vatnode as their VAT compliance layer: validation, audit trail and reverse-charge confirmation, all through one REST endpoint that runs from any backend or edge runtime.
Get a Free API Key
Free plan with no credit card. Validate EU VAT IDs against VIES with registry company data and the official consultation number on qualified checks, when you supply your own VAT as requester.