Validation rules
BR-CL-01
The document type code (BT-3) is not an invoice-type code from UNTDID 1001 — in the UBL Invoice syntax, credit-note codes such as 381 are not allowed.
- Rule
BR-CL-01— official EN 16931 / XRechnung rule- Severity
- error
- Business term
BT-3— Invoice type code- Field in your JSON
invoice.type_code- Detected by
- tier 3 — KoSIT validator (authoritative)
- Reachability
- Triggerable from your request JSON (generate & validate)
Input-reachable through the one enum value the UBL Invoice syntax rejects: invoice.type_code 381 (credit note) passes the request schema, but the serializer always emits a UBL Invoice, and UNTDID 1001 lists 381 only for CreditNote documents — KoSIT rejects it. The other seven type codes are safe.
How to fix it
Use a type_code other than 381. For credits and cancellations, use 384 (corrected invoice) with negative quantities — 381 requires the UBL CreditNote document type, which normbill does not generate yet.
BR-CL-01 auf Deutsch — was bedeutet der Fehler?
Der Rechnungstyp-Code (BT-3) ist kein Rechnungs-Code der UNTDID 1001 — in der UBL-Invoice-Syntax sind Gutschrift-Codes wie 381 nicht zulässig. Der KoSIT-Validator lehnt das Dokument ab. Der Code 381 ist nur in der UBL-CreditNote-Syntax gültig, die normbill derzeit nicht erzeugt.
So beheben Sie den Fehler
Verwenden Sie einen anderen invoice.type_code. Für Korrekturen und Stornos eignet sich 384 (Rechnungskorrektur) mit negativen Mengen (qty); alle Codes außer 381 sind sicher.
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.