buyer_vat_not_registered
The buyer_vat number passed to /decide is invalid or not registered with the registry.
HTTP 400 · Bad Request
Example response
{
"error": {
"code": "buyer_vat_not_registered",
"message": "buyer_vat 'FR00000000000' is not a registered business."
},
"meta": {
"request_id": "a1b2c3d4-...",
"latency_ms": 0
}
}What happened
POST /v1/decide validates the buyer_vat against the registry before computing the VAT treatment. If the buyer's VAT number is invalid (bad format or not registered), this error is returned. /decide requires a verified buyer. An unregistered buyer means the transaction is likely B2C.
How to fix
- Call
GET /v1/validate?vat_number=<buyer_vat>first. Ifvalid: false, the buyer is not a registered business. - If the buyer is unregistered, treat the transaction as B2C and apply the seller's standard rate (see
GET /v1/rates/:country). - If you believe the VAT number is valid but getting this error, the buyer may be temporarily deregistered or the registry may be lagging.
Common mistakes
- Not pre-validating the buyer: always validate the buyer VAT before calling
/decideto avoid this error in production. - Using test magic numbers for the buyer: test magic numbers simulate valid/invalid responses but are not "registered" in the VIES sense that
/decidechecks. - Passing a buyer in a country where the registry is slow to update: new businesses can take days to appear in VIES after registration.
Related errors
seller_country_unsupported: buyer is fine but seller country is outside EU-27b2c_not_supported: no buyer VAT at all (consumer transaction)