Validation rules
BR-AE-04 — EN 16931 rule
A document-level charge uses VAT category "AE" (reverse charge), which requires a seller VAT identifier (BT-31), tax registration number (BT-32) or the VAT identifier of a seller tax representative (BT-63) — plus the buyer VAT identifier (BT-48) or the buyer legal registration identifier (BT-47).
- Rule
BR-AE-04— official EN 16931 / XRechnung rule- Severity
- error
- Business term
BT-48— Buyer VAT identifier- Field in your JSON
invoice.buyer.vat_id- Detected by
- tier 3 — KoSIT validator (authoritative)
- Reachability
- Triggerable from your request JSON (generate & validate)
How to fix it
Set invoice.buyer.vat_id or invoice.buyer.legal_registration_id, plus invoice.seller.vat_id or invoice.seller.tax_number.
BR-AE-04 auf Deutsch — was bedeutet der Fehler?
Ein Zuschlag auf Dokumentebene verwendet die Kategorie "AE" (Reverse Charge). Dafür sind die USt-IdNr. (BT-31) oder Steuernummer (BT-32) des Verkäufers oder die USt-IdNr. seines Steuervertreters (BT-63) Pflicht — außerdem die USt-IdNr. (BT-48) oder die Handelsregisterkennung (BT-47) des Käufers.
So beheben Sie den Fehler
Setzen Sie invoice.buyer.vat_id oder invoice.buyer.legal_registration_id sowie invoice.seller.vat_id oder invoice.seller.tax_number.
Related rules
BR-AE-02— Reverse charge (AE) requires a seller VAT identifier (BT-31), tax registration number (BT-32) or the VAT…BR-AE-03— A document-level allowance uses VAT category "AE" (reverse charge), which requires a seller VAT identifier…BR-IC-02— The invoice has intra-community supply (K) lines, which require the buyer VAT identifier (BT-48) plus either…BR-IC-03— A document-level allowance uses VAT category K (intra-community supply), which requires the buyer VAT…BR-IC-04— A document-level charge uses VAT category K (intra-community supply), which requires the buyer VAT…UBL-SR-18— The buyer VAT identifier (BT-48) appears more than once — only one PartyTaxScheme with TaxScheme/ID 'VAT'…
Official sources
- XRechnung specification (KoSIT / xeinkauf.de)
- KoSIT validator on GitHub and the XRechnung validator configuration
Every 422 from the API lists the rule id, the path in your request JSON, a plain-language message and a suggested fix — see the docs overview for the report format.
Or try it live: drop any XRechnung XML on the free validator — same KoSIT-backed report, no account.