invalid_requester_vat
The requester_vat_number supplied to /v1/confirm is malformed or fails the MOD-11 checksum required for §18e qualified confirmations.
HTTP 422 · Unprocessable Entity
Example response
{
"error": {
"code": "invalid_requester_vat",
"message": "requester_vat_number 'DE12345678' is invalid: must be DE followed by 9 digits and pass MOD-11 check."
},
"meta": {
"request_id": "a1b2c3d4-...",
"latency_ms": 0
}
}What happened
The /v1/confirm endpoint requires a valid German USt-IdNr. as requester_vat_number to submit a §18e qualified confirmation request to BZSt. BZSt mandates that the requester identify themselves with their own German VAT number so the confirmation can be recorded against their tax record.
The number you supplied failed validation before the request was forwarded to BZSt. Common causes:
- The number is too short or too long (must be exactly 11 characters:
DE+ 9 digits). - The final digit does not satisfy the MOD-11 checksum.
- A Steuernummer (10-13 digits, no
DEprefix) was supplied instead of the USt-IdNr. - The number contains spaces, dots, or other non-digit characters after the
DEprefix.
How to fix
- Confirm the requester number is exactly 11 characters in the form
DEfollowed by 9 digits (e.g.DE123456789). - Verify the number passes MOD-11. The MOD-11 glossary entry explains how the check digit is computed.
- Do not confuse the USt-IdNr. with the Steuernummer. The Steuernummer is for domestic income-tax purposes and is not accepted by BZSt for §18e confirmations.
- If you use the same requester number for all calls, set it as the default in your API key settings at
/dashboard/keysto avoid passing it on every request.
Related errors
invalid_format: the target VAT number being validated is malformed