Check Belgium VAT numbers
Validate Belgian VAT numbers (BTW / TVA / MWSt) against the EU VIES registry. Belgian numbers always start with BE0 followed by 9 digits, making them 12 characters total. The leading zero is mandatory and not a formatting artifact. Every response includes the company name, registered address, and validity at query time.
Try it
curl -X POST "https://api.vatverify.dev/v1/validate" \ -H "Authorization: Bearer $VATVERIFY_KEY" \ -H "Content-Type: application/json" \ -d '{"vat_number":"BE0403170701"}'Facts
Format
- Prefix
- BE
- Digits
- 10
- Regex
- ^BE0\d{9}$
BE0403170701BE0403170700BE403170701VAT rates (EUR)
restaurant meals (food portion), certain social housing works
food staples, pharmaceuticals, books, newspapers, passenger transport, water supply
What we return for Belgium
{
"data": {
"valid": true, // boolean validity at query time
"vat_number": "DE129273398",
"country": {
"code": "DE",
"name": "Germany",
"vat": { "standard_rate": 19 }
},
"company": {
"name": "SIEMENS AG", // legal entity name
"address": "..." // when VIES provides it
},
"verified_at": "2026-04-25T10:00:00Z"
},
"meta": {
"request_id": "019dc...", // for audit trail correlation
"source": "vies",
"source_status": "live", // live | cached | degraded
"cached": false,
"latency_ms": 234
}
}
Test against production VATs
Real numbers from publicly-documented corporate filings. Click to see the live result.
Watch out for
- Belgian BTW/TVA numbers always start with BE0; the 0 is structural, not a padding artifact. BE403170701 (missing 0) is invalid.
- The 10 digits after BE are the KBO/BCE enterprise number, but not every KBO enterprise is VAT-active; confirm via VIES.
- Belgium has three official languages (Dutch, French, German), so company names in VIES may appear in any of the three.
BTW, TVA, MwSt: one identifier, three names
Belgium has three official languages, and the VAT identifier carries three names depending on which one the document is written in:
- BTW-nummer (Dutch)
- Numéro de TVA (French)
- MwSt-Nummer (German)
The number itself is identical across languages. A Belgian invoice
will use whichever language label fits the document; the digits do
not change. The EU-facing form prefixes BE.
Format: 10 digits, leading zero
Belgian VAT numbers are 10 digits after the BE prefix. Historically
the number was 9 digits; in 2008 a leading zero was added across the
register to standardize on 10. Some legacy documents still show the
9-digit form, which is no longer valid for new VIES queries.
vatverify accepts the 10-digit canonical form. A 9-digit input is padded to 10 with a leading zero before the registry call, matching the SPF Finances normalization.
SPF Finances is the registering authority
The federal Belgian tax authority, SPF Finances (or FOD Financiën in Dutch), maintains the VAT register. SPF Finances pushes updates to VIES on a regular batch cadence. The CBE/KBO (Crossroads Bank for Enterprises / Banque-Carrefour des Entreprises) is the broader business register and uses the same 10-digit number for non-VAT purposes; a Belgian business has one number across both registers.
A consequence: the same 10-digit identifier may resolve in CBE/KBO
even when the entity is not VAT-registered (because, for example, it
operates only in VAT-exempt sectors). VIES will return valid: false
in that case, while CBE will return a valid record. vatverify
validates against VIES; for a CBE-only check the Belgian public
portal is the right tool.
VAT rates
Belgium runs three primary rates: 21% standard, 12% reduced, and 6% reduced. There is also a 0% rate for a narrow set of supplies (daily newspapers, certain medical equipment).
The 6% bracket covers food, books, water, and several social and cultural categories. The 12% bracket covers a smaller set including specific energy products and restaurant services other than beverages. Rate composition changes periodically; date-aware lookup is the safer default for invoicing logic.
Reverse-charge inside Belgium
Belgium applies domestic reverse-charge to construction services between two Belgian VAT-registered businesses. The supplier issues an invoice without VAT and the recipient self-accounts. This is independent of EU intra-Community reverse-charge and is the default treatment for in-scope construction work.
For real-estate-adjacent invoicing flows targeting Belgian counterparties, the domestic rule is what determines the invoice shape, not the cross-border one.
Linguistic regions and the registry
The Belgian VAT identifier is unified across regions, but registry text fields (legal name, registered address) come back in the language of the entity's registration. A Wallonia-registered company returns French text; a Flanders-registered company returns Dutch; the German-speaking community in the east returns German.
For B2B onboarding flows that match counterparty addresses against internal records, the language difference can cause false negatives on string comparison. Normalizing diacritics and matching on postcode/street-number rather than full text is the typical workaround.
Caching against the SPF Finances cycle
SPF Finances pushes registration changes to VIES on a regular batch. Newly-registered Belgian numbers are generally visible in VIES within 24 to 48 hours. vatverify's default TTLs (30 days for valid, 24 hours for invalid) line up with that cadence.
Automate Belgium VAT checks in your stack
Replace manual lookups with one API call against VIES. Drops into invoicing, checkout, and signup flows in any language. 500 free validations per month, no credit card.