BR-CL-23 Invalid unit code (e.g. “Stk”)
In the invoice data the unit must not be a word (“Stk”, “hrs”, “lump sum”) but a code from the UN/ECE list. The PDF can still show “pcs”.
The message in the validation report
[BR-CL-23] Unit code MUST be coded according to the UN/ECE Recommendation 20 with Rec 21 extension
Common causes
- The software copies its own unit names into the XML.
- Outdated or look-alike codes (e.g. “PCE”, “STK”).
How to fix it
- Switch units to codes. Most common:
H87piece ·C62unit ·HURhour ·DAYday ·MTRmetre ·MTKm² ·MTQm³ ·KGMkg ·LTRlitre ·LSlump sum ·SETset ·XPKpackage ·XROroll/coil. - Many programs have an “e-invoice code” or “UN/ECE” field in the unit settings.
What it should look like (XRechnung, CII syntax)
<ram:BilledQuantity unitCode="H87">4</ram:BilledQuantity> <!-- Stück -->
<ram:BilledQuantity unitCode="HUR">2.5</ram:BilledQuantity> <!-- Stunden -->
Want to read or check an invoice you received? Open XRechnung · Check invoice
More error codes
BR-DE-15Leitweg-ID / buyer reference missingBR-DE-1Payment instructions missingBR-DE-2Seller contact missing (also BR-DE-5, -6, -7)BR-DE-21Not an XRechnung (wrong specification identifier)BR-DE-23-aCredit transfer without IBANBR-DE-18Skonto (cash discount) in the wrong formatBR-CO-10Sum of line amounts does not matchBR-CO-15Gross total is not net plus VATBR-S-08VAT breakdown per rate does not match
Guides to German e-invoicing
- Open an XRechnung and save it as PDF
- ZUGFeRD or XRechnung: which one do I need?
- E-invoices for small businesses under § 19 UStG
- Sending an XRechnung to a German authority
Rule text from the official KoSIT validation rules (XRechnung 3.0.2, EN 16931). General technical explanation, not tax or legal advice.