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

DimensionStripe Taxvatnode
Validation timingAsynchronous – after the customer and tax ID are createdSynchronous – the answer comes back in the same request
OutputVAT IDs validated, no consultation number surfacedVIES-verified VAT data + consultation number + company enrichment
Stack lock-inRequires Stripe payments / Stripe CheckoutREST API – works with any stack (Paddle, LemonSqueezy, in-house billing)
Audit trailStripe-side tax records linked to chargesPer-call checkId + verifiedAt, plus VIES consultation number on qualified checks
Integration surfaceStripe SDK (server + client) inside Checkout flowREST 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:

signup-validate-vat.ts
// 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.

AI agents validate via MCP. Where Stripe Tax lives inside checkout, vatnode also ships an official MCP server so Claude, Cursor and ChatGPT can validate EU VAT IDs and look up rates directly in chat.