Guides.
Build VAT validation into anything. Language tutorials, registry deep dives, payment-platform integrations, and more.
BZSt §18e qualified VAT confirmation (German legal evidence)
Obtain a qualifizierte Bestätigungsmitteilung from Germany's BZSt with a single API call. Field-by-field match codes, 10-year evidence retention, idempotent retries.
The EU VAT reverse-charge API: stop hand-coding B2B tax logic
The /v1/decide endpoint decides whether to charge VAT, at what rate, under which mechanism. Full walkthrough with Stripe + invoice integration.
Handle VIES downtime with degraded cache, fallbacks, and retry patterns
VIES goes down. Here's how vatverify handles it automatically, and how your code should handle the edge cases that still matter.
HMRC VAT check API: UK VAT validation explained
How HMRC's VAT check API works. OAuth 2.0 client credentials, sandbox vs production, rate limits, and why vatverify handles all of it for you.
Mollie VAT validation: EU B2B checkout with reverse-charge
Validate customer VAT before a Mollie payment. Add reverse-charge logic to EU B2B invoices using /v1/decide.
Norwegian VAT validation: how brreg and MVA work
Norway's VAT (MVA) system, org-number format, MOD-11 checksum, and the public brreg REST API. No auth required, but watch the deprecation notices.
Offline VAT validation: zero dependencies, real checksums
Validate EU VAT numbers without a network call using @vatverify/vat-rates. 44-country rates data, real MOD-11 / MOD-97 / Luhn / HMRC 97-55 algorithms.
Stripe VAT validation: validate customer VAT before charging
Add EU VAT validation to a Stripe checkout flow. Validate before creating the Customer, set tax_id_data, and handle reverse-charge for B2B correctly.
Swiss UID validation: understanding the CHE-xxxxxxxxx format
How Switzerland's UID register works, CHE format, MWST/IVA/TVA suffixes, BFS UID register SOAP eCH-0097 schema, and Liechtenstein's dual coverage.
Validate VAT numbers in Django
Add VAT validation to Django forms, admin, and DRF serializers by calling the vatverify REST API with httpx. Covers sync and async views.
Validate VAT numbers in Laravel
Add EU VAT validation to a Laravel app with a custom validation rule, service container binding, and Livewire integration.
Validate VAT numbers in Next.js (App Router)
Add VAT validation to a Next.js 15 app using server actions, route handlers, and @vatverify/node. Includes form binding and error states.
How to validate VAT numbers in Node.js
Validate EU, UK, Swiss, and Norwegian VAT numbers in Node.js with real checksum algorithms and a free live API.
How to validate VAT numbers in Python
Validate EU, UK, Swiss, and Norwegian VAT numbers from Python by calling the vatverify REST API directly with httpx or requests. Sync, async, and offline modes.
The VIES API guide: how EU VAT validation actually works
How VIES (VAT Information Exchange System) works under the hood. SOAP/XML, rate limits, downtime patterns, and why wrapping it with vatverify is 10× simpler than hitting it directly.
WooCommerce VAT validation: a custom plugin pattern
Add proper VAT validation to a WooCommerce EU store. Hook into woocommerce_after_checkout_validation, validate via vatverify, reject invalid B2B VAT.
Registry deep dives.
How each VAT registry behaves, what it returns, and how vatverify handles its quirks.
EU national VAT databases explained: fallback paths when VIES is down
How the 27 member-state VAT registries sit behind VIES, which national databases expose direct public endpoints, and where the tradeoffs around using them directly actually land.
HMRC VAT API explained: UK validation after Brexit
How the HMRC Check a UK VAT Number endpoint works, the OAuth 2.0 flow behind it, sandbox vs production access, and the quirks of the 97-55 checksum.
Norwegian brreg explained: org-number, MVA, and the open registry
How the Brønnøysund Register Centre runs Norway's Entity and VAT registers, what the public REST API returns, and where MVA diverges from the rest of Europe.
Swiss BFS and Zefix explained: UID, VAT, and the eCH-0097 schema
How the Swiss Federal Statistical Office runs the UID register, how Zefix relates to it, what the SOAP endpoint returns, and why Liechtenstein rides the same rails.
VIES explained: how the EU VAT aggregator actually works
A deep dive into the VAT Information Exchange System, the SOAP protocol it speaks, the national registries it fronts, and how vatverify smooths over its quirks.