Validation rules
BR-DE-17 — XRechnung rule
This invoice type code is not recommended in XRechnung.
- Rule
BR-DE-17— official EN 16931 / XRechnung rule- Severity
- warning
- Business term
BT-3— Invoice type code- Field in your JSON
invoice.type_code
How to fix it
Use 326 (partial), 380 (invoice), 384 (correction/cancellation), 389 (self-billed), or 875/876/877 (construction). 381 (credit note) works in the CII formats — a UBL Invoice rejects it (BR-CL-01).
Cancellation, correction or credit note — which type code applies, and why a UBL Invoice rejects 381: see the guide on cancellations, corrections and credit notes.
BR-DE-17 auf Deutsch — was bedeutet der Fehler?
Der Rechnungstyp-Code (BT-3) gehört nicht zu den in der XRechnung vorgesehenen Codes (eine Teilmenge der UNTDID-1001-Liste). Der KoSIT-Validator meldet das als Warnung — das Dokument wird nicht abgelehnt, aber Empfängersysteme können den Code unter Umständen nicht verarbeiten.
So beheben Sie den Fehler
Verwenden Sie 326 (Abschlagsrechnung), 380 (Handelsrechnung), 384 (Rechnungskorrektur/Storno), 389 (Gutschrift nach § 14 UStG / Self-Billing) oder 875/876/877 (Bauleistungen). 381 (kaufmännische Gutschrift) funktioniert in den CII-Formaten — eine UBL-Invoice lehnt den Code ab (BR-CL-01).
Welcher Typcode für Storno, Korrektur oder Gutschrift gilt: Leitfaden zu Storno, Korrektur und Gutschrift.
Related rules
BR-CL-01— Type code 381 (credit note) is not allowed in the UBL Invoice syntax — UNTDID 1001 lists 381 only for UBL…BR-04— The invoice type code (BT-3) is missing.BR-DE-16— A seller VAT identifier (BT-31), tax registration number (BT-32) or seller tax representative (BG-11) is…BR-DE-18— A payment-terms line starting with # is not a valid Skonto segment — XRechnung requires the exact format…BR-DE-15— Buyer reference (BT-10) is missing. XRechnung requires it; public-sector buyers in Germany use their…BR-DE-19— The payment account identifier (BT-84) does not look like a valid IBAN — for SEPA credit transfers (means…
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.