BR-23: Mengeneinheit in der Rechnungsposition fehlt
Eine Rechnungszeile hat eine Menge, aber keinen Einheitencode (BT-130). Häufigster Auslöser: Die Einheit ist als Freitext wie „Std.
An Invoice line (BG-25) shall have an Invoiced quantity unit of measure code (BT-130).
BR-23 ist die Schwesterregel zu BR-22: Dort fehlt die Menge selbst, hier die Einheit dazu. Beide stehen in der CII-Syntax im selben XML-Element.
Was die Regel prüft
Zu jeder abgerechneten Menge (BT-129) gehört ein Einheitencode (BT-130; BT = Business Term, das nummerierte Feld der Norm). Erwartet wird kein Freitext, sondern ein Code aus der UN/ECE-Recommendation-20-Liste (ergänzt um Rec 21). Die für Handwerk und B2B wichtigsten:
H87= StückHUR= StundeMTR= Meter,MTK= Quadratmeter,MTQ= KubikmeterKGM= KilogrammLTR= LiterDAY= TagC62= Einheit (neutrale Zähleinheit)
In der XML steht der Code als Attribut: <ram:BilledQuantity unitCode="HUR">8</ram:BilledQuantity>.
Warum sie in der Praxis fehlschlägt
Fast immer sind es Freitext-Einheiten aus den Stammdaten: „Std.", „Stk", „pausch.", „m²". Auf der Papierrechnung völlig üblich, aber kein gültiger Code. Manche Software schreibt den Freitext ins unitCode-Attribut (dann meckert die Codelisten-Prüfung), andere lassen das Attribut bei unbekannter Einheit ganz weg, und BR-23 schlägt an.
Zweiter Fall: Importierte Positionen aus Aufmaß- oder Kalkulationsprogrammen, deren Einheitenkatalog nicht auf UN/ECE gemappt ist.
So behebst du den Fehler
Hinterleg in deinen Artikel- oder Leistungsstammdaten die Einheit als Auswahl aus der Codeliste, nicht als Freitext, und lass die Anzeige („Std.") getrennt vom Code (HUR) laufen. Wenn du unsicher bist, welcher Code passt: C62 ist die neutrale Zähleinheit und immer gültig, H87 das gängige „Stück". Belegschmied bietet die Einheiten als Auswahlliste mit deutschen Bezeichnungen an und schreibt intern immer den UN/ECE-Code.
Wer XML selbst erzeugt: Das Attribut heißt unitCode und sitzt direkt an ram:BilledQuantity, nicht in einem eigenen Element.
XML-Beispiel: vorher und nachher
Menge vorhanden, Einheitencode fehlt:
<!-- verletzt BR-23: BilledQuantity ohne unitCode-Attribut -->
<ram:SpecifiedLineTradeDelivery>
<ram:BilledQuantity>8</ram:BilledQuantity>
</ram:SpecifiedLineTradeDelivery>
Korrigiert mit UN/ECE-Code für Stunden:
<ram:SpecifiedLineTradeDelivery>
<ram:BilledQuantity unitCode="HUR">8</ram:BilledQuantity>
</ram:SpecifiedLineTradeDelivery>
Rechnung selbst prüfen
Lade deine Datei hoch und sieh in Sekunden, welche Regeln sie besteht und welche nicht. Kostenlos, ohne Anmeldung, nichts wird gespeichert.