Originally published at vatnode.dev. The version on vatnode.dev is the canonical source — refer to it for the latest content.

How to Bulk Re-Validate Your Customer VAT IDs (and Keep Them Fresh)

Most teams validate a customer's VAT number once — at signup, or the first time they issue a reverse-charge invoice — and then never look at it again. That is fine until an auditor asks whether the number was still valid at the time of each supply, or until a customer who deregistered eighteen months ago is still being invoiced without VAT. A VAT registration is not a permanent fact. This post is the practical version of fixing that: how to validate a whole existing customer base in one backfill pass, survive VIES going down partway through, spot the numbers that quietly flipped from valid to invalid, and then stop doing it by hand.

The scope here is the EU-27 plus Northern Ireland (XI), which is what VIES covers. Everything below uses the vatnode VAT API — a single GET /v1/vat/:vatId call with a Bearer key — but the batching and requeue logic applies to any VIES client you build yourself.

Why a stored VAT ID goes stale