Reference
Markdown exportBR-DE-17 Invoice type code should use the XRechnung supported code set
While the UN/ECE UNTDID 1001 code list contains dozens of commercial document types, XRechnung explicitly restricts and optimizes the supported invoice type codes (BT-3) to a defined set of recognized document types: 380 (Commercial invoice / Handelsrechnung), 381 (Credit note / Gutschrift), 384 (Corrected invoice / Berichtigte Rechnung), 389 (Self-billed invoice / Gutschrift im Gutschriftsverfahren), 326 (Partial invoice / Teilrechnung), 875 (Partial construction invoice / Abschlagsrechnung Bau), 876 (Partial final construction invoice / Teilschlussrechnung Bau), and 877 (Final construction invoice / Schlussrechnung Bau). Using unlisted codes triggers a KoSIT validator warning and may cause recipient enterprise billing systems to reject the document.
Problem Description
WARNING
German XRechnung rule (KoSIT, BR-DE) · XRechnung 3.0
Interactive pipeline
Where BR-DE-17 is checked
Click a stage to see what it checks, or type a rule ID to light up the stage that reports it.
BR-DE-17 XRechnung rule (Germany)
Reported in stage 3: National rules (CIUS).
Level warning: on its own, the invoice is still accepted.
Stage 3 · What it checks
National rules (CIUS)
- The specification identifier in BT-24 selects the rule set, for example XRechnung 3.0 or Peppol BIS Billing 3.0.
- XRechnung adds the German BR-DE rules: buyer reference (BT-10), seller contact, payment instructions.
- Peppol adds PEPPOL-EN16931 and country rules. XRechnung applies some PEPPOL-EN16931 rules too.
Example codes
Typical fix
Fill the fields the rule set requires in your master data, such as the Leitweg-ID in BT-10 or the seller contact.
Context and Significance
Rule BR-DE-17 is a warning-level rule in the official KoSIT Schematron rulepack. However, public recipient portals may reject unsupported codes during downstream ERP document ingestion.
Solution
Map your ERP document types to one of the official UNTDID 1001 codes supported by XRechnung: use 380 for standard commercial invoices, 381 for credit notes, 384 for corrected invoices, 389 for self-billed invoices, 326 for partial invoices, or 875/876/877 for German construction billing. In UBL 2.1 syntax, populate <cbc:InvoiceTypeCode> (or <cbc:CreditNoteTypeCode> for credit notes). In UN/CEFACT CII syntax, populate <ram:TypeCode> within <rsm:ExchangedDocument>.
Quick actions
Valid Examples
- BT-3 = "380" (Commercial invoice)
- BT-3 = "381" (Credit note)
- BT-3 = "384" (Corrected invoice referencing previous invoice in BG-3)
Invalid Examples
- BT-3 = "82" (Metered services invoice - unsupported code in XRechnung code list)
- BT-3 = "INV-01" (Free-text string instead of 3-digit UNTDID 1001 numeric code)
Code Examples
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode><cbc:InvoiceTypeCode>82</cbc:InvoiceTypeCode>