
Validate Belgian VAT Numbers (BTW/TVA) in Node.js
Validate Belgian BTW/TVA numbers in Node.js — format check, VIES BE, and how CBE/KBO enrichment fills in company data (not a validity fallback).
Read article →Practical articles on EU VAT rates, VIES integration, compliance patterns, and regulatory updates – written for developers.

Validate Belgian BTW/TVA numbers in Node.js — format check, VIES BE, and how CBE/KBO enrichment fills in company data (not a validity fallback).
Read article →
What counts as personal data when you store customer VAT numbers, names, and check evidence — and how to think about minimization and retention.
Read article →
Avoid duplicate VAT checks and failed billing runs. How to handle timeouts, 429s, and retries safely against a VAT validation API, with code.
Read article →
Validate Portuguese NIF/NIPC numbers in Node.js — format rules, the mod-11 check digit, VIES PT, and why Portugal has no national fallback or enrichment today.
Read article →
How to store customer VAT IDs in MongoDB and other NoSQL databases — embedding vs a separate check collection, immutability, TTL traps, and indexing.
Read article →
A VAT ID valid at purchase can lapse before the next renewal. Re-check it on the billing-cycle trigger, not just once. Free API key, no credit card required.
Read article →
How marketplaces validate vendor and business-buyer VAT numbers via VIES — audit evidence, consultation numbers, ongoing monitoring. See the vatnode API.
Read article →
The seller carries the VAT exposure on a bad reverse-charge number — the real risk is skipping the check, not a number that later goes invalid.
Read article →
Test keys and XX fixture VAT numbers return canned responses with no VIES call and no quota used — build and test your integration for free.
Read article →
Validate a buyer's VAT ID at checkout to decide reverse charge eligibility without blocking the cart. National registry fallback, audit evidence. Free API key.
Read article →
A VAT number and a tax ID aren't the same thing, and mixing them up breaks invoices. What each identifies, and what a VIES check actually confirms.
Read article →
Stripe Checkout only verifies VAT number format. The real VIES check runs after payment — no gating, no audit trail. Add real-time validation.
Read article →
Checking VAT numbers one at a time works until volume, checkout, or audit evidence make it not work. The signals it's time to call an API instead.
Read article →
VIES and a national VAT registry can disagree on the same VAT ID. Why that happens, and where national registry fallback fits when VIES itself is down.
Read article →
Validate Spanish NIF/CIF/NIE numbers in Node.js — format rules, the check-letter families, VIES ES, and what to do since Spain has no national fallback today.
Read article →
We sampled the European Commission's VIES availability endpoint every 15 minutes across all 28 member states for 30 days. The aggregate is 97.96% and it tells you nothing. Denmark and Finland scored identically and need opposite retry strategies.
Read article →
What the VIES consultation number is, why finance and audit teams should keep it, and how it backs up a zero-rated intra-EU invoice.
Read article →
What VIES is, who runs it, and what a valid or invalid result really means for your invoices — a plain-English guide for finance and ops teams.
Read article →
When should a business validate a customer VAT number? Reverse-charge evidence, onboarding, and ongoing revalidation — the compliance triggers explained.
Read article →
Validate Dutch btw-id numbers in Node.js — regex, the 2020 sole-trader change that broke local checksums, VIES NL as the validity source of truth, and why KVK is not a fallback when VIES is down.
Read article →
How to store customer VAT IDs in PostgreSQL — normalization (EL, XI, casing), immutable evidence rows, indexing, and what to persist for audit.
Read article →
A VAT check can return company name, address, registration date, legal form and industry. See every enrichment field vatnode returns and how to use it.
Read article →
Every vatnode/VIES error code and how to handle it in production — 400, 422, 429, 502, 503, 504, 500 — with retry, fallback and user-facing behavior.
Read article →
Validate an Italian Partita IVA in Node.js — IT format and checksum, VIES IT behavior, why there is no Italian validity fallback when VIES is down, and storing audit evidence.
Read article →
Calling VIES directly looks free until you count SOAP, downtime, caching, audit evidence, and national fallback. An honest build-vs-buy breakdown for VAT validation.
Read article →
Backfill-validate a whole customer base of EU VAT IDs, then keep it fresh. Batching, handling VIES outages mid-run, spotting numbers that went invalid.
Read article →
A VAT ID is the number that identifies a business for VAT across the EU. What it's for, how it's structured, and how to check one is valid.
Read article →
A VAT number can match the format perfectly and still not be registered. The three states of a VAT ID, what VIES confirms, and what a format check can't tell you.
Read article →
Capture and validate a customer VAT ID during signup or checkout without blocking the flow. Async patterns, graceful VIES-downtime handling, and audit evidence.
Read article →
Validate Polish NIP VAT numbers in Node.js — regex, mod-11 checksum, VIES PL quirks, and the MF white list (wykaz podatników VAT) fallback when VIES is down.
Read article →
How long can you cache a VIES VAT check before it stops counting as compliant? TTLs, consultation numbers, Redis patterns, and audit-safe re-validation.
Read article →
A Node.js implementation checklist for the EU reverse-charge mechanism in B2B SaaS: buyer VAT validation, invoice flags, Article 196 citation, and audit evidence.
Read article →
Validate French TVA numbers in Node.js — regex with the 2-char key, VIES FR quirks, why the SIREN register is enrichment rather than a validity fallback, and how to design a resilient validation pipeline.
Read article →
The VIES consultation number is the reference VIES returns when you validate an EU VAT ID. What it is, where to find it in the SOAP response, and how to store it as audit evidence.
Read article →
Validate German USt-IdNr. in Node.js — regex format check, VIES DE quirks, why there is no national validity fallback for German numbers, and how to handle a VIES DE outage without faking a verdict.
Read article →
The official vatnode MCP server lets AI agents (Claude Desktop, Cursor, ChatGPT, Cline) validate EU VAT numbers against VIES, look up VAT rates, and check formats — directly in the chat. 30-second install, free tier, signed with npm provenance.
Read article →
A practical guide to all EU VAT rate types — standard, reduced, super-reduced, and parking — plus territorial exceptions for Spain (Canary Islands), Portugal (Azores, Madeira), France (DOM), and other EU regions where different rates apply.
Read article →
VIES national nodes go offline regularly. This guide covers retry patterns, queue-based approaches, national-registry fallback where available, and how to use the VIES_UNAVAILABLE error code correctly.
Read article →
Full table of EU VAT rates 2026: standard, reduced, super-reduced, and parking rates for all 27 EU member states. Includes recent changes, currency, and how to access rates via API.
Read article →