BR-21
Jede Rechnungsposition (BG-25) muss eine Positionsnummer (BT-126) tragen. Sie ist der Anker, über den der Empfänger eine einzelne Zeile bespricht oder reklamiert.
- Schweregrad
- Fehler
- Gilt für
- CII, UBL
- Regelwerk
- v2026-01-31
Offizieller Regeltext
Each Invoice line (BG-25) shall have an Invoice line identifier (BT-126).
Warum tritt BR-21 auf?
Positionen entstehen als Liste, deren Reihenfolge implizit die Nummer ist. Beim Serialisieren wird der Index nicht mitgeschrieben, weil er im Quellobjekt kein Feld war.
Wie behebt man BR-21?
Vergeben Sie eine je Rechnung eindeutige Nummer in BT-126: cbc:ID in cac:InvoiceLine (UBL), ram:AssociatedDocumentLineDocument/ram:LineID (CII). Eine fortlaufende Zahl ab 1 genügt.
Im XML
Ausschnitt in UBL. Der CII-Pfad steht oben im Text — dieselbe Änderung, andere Elementnamen.
<cac:InvoiceLine>
<cbc:InvoicedQuantity unitCode="C62">10</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">1000.00</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>Beratungsleistung</cbc:Name>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">100.00</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine><cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="C62">10</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">1000.00</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>Beratungsleistung</cbc:Name>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">100.00</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>NormAPI liefert technische Validierung, keine Steuer- oder Rechtsberatung.