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.

Fehlerhaft
<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>
Korrigiert
<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.