Zum Inhalt springen

Ironfang Finance - Regelreferenz

BR-CO-10: Eine Positionssumme korrigieren, die nicht der Summe der Positionen entspricht

Die Summe der Nettobeträge der Positionen in den Gesamtbeträgen muss den addierten Nettobeträgen der Positionen entsprechen, auf zwei Nachkommastellen gerundet.

EN 16931Fehler: Das Dokument ist ungültigSummenPositionen und Preise

Auf dieser Seite

Die kurze Antwort

BR-CO-10 schlägt fehl, wenn cac:LegalMonetaryTotal/cbc:LineExtensionAmount nicht die Summe der Nettobeträge der Positionen ist. Addieren Sie cbc:LineExtensionAmount aus jeder cac:InvoiceLine (oder cac:CreditNoteLine), runden Sie die Summe auf zwei Nachkommastellen und tragen Sie diesen Wert in die Gesamtbeträge ein.

Korrigieren Sie die Summe, nicht die Positionen, es sei denn, eine Position ist tatsächlich falsch. Alle weiteren Summen bauen auf dieser auf; rechnen Sie daher mit BR-CO-13 daneben, bis der Wert stimmt.

Was die Regel prüft

Die Regel liest zwei Dinge: das cbc:LineExtensionAmount innerhalb von cac:LegalMonetaryTotal und das cbc:LineExtensionAmount jeder Position im Dokument. Positionen mit negativem Nettobetrag zählen mit ihrem Vorzeichen.

Nachlässe und Zuschläge auf Dokumentenebene spielen keine Rolle. Sie gehören in die Summe der Nachlässe und die Summe der Zuschläge, nicht in diese Summe. Auch Nachlässe und Zuschläge auf Positionsebene werden nicht gesondert addiert, denn jeder Nettobetrag einer Position enthält sie bereits.

Die Summe der Positionen wird auf zwei Nachkommastellen gerundet und dann exakt verglichen. Es gibt keine Toleranz: Eine Summe von 66.01 gegenüber Positionen, die 66.00 ergeben, schlägt fehl.

BegriffBedeutungUBL-Element
BT-106Summe der Nettobeträge aller Rechnungspositionencac:LegalMonetaryTotal/cbc:LineExtensionAmount
BT-131Nettobetrag der Rechnungspositioncac:InvoiceLine/cbc:LineExtensionAmount (cac:CreditNoteLine/cbc:LineExtensionAmount in a credit note)

Wie es in einer Integration dazu kommt

Mögliche Ursachen, abgeleitet aus der Form der Regel und nicht aus gemessener Nutzung:

  • Die Summe stammt aus einem gespeicherten Auftrags- oder Buchungskopf, während die Positionen aus einer eigenen Tabelle aufgebaut werden, und eine Position wurde nach dem Speichern des Kopfes herausgefiltert, hinzugefügt oder geändert.
  • Korrekturpositionen mit negativen Beträgen werden bei der Berechnung der Summe übersprungen oder als Absolutwerte addiert.
  • Die Summe wird aus ungerundetem Menge mal Preis berechnet und einmal gerundet, während jeder Nettobetrag einer Position vor dem Schreiben auf zwei Nachkommastellen gerundet wird.
  • Ein Rabatt oder Zuschlag auf Dokumentenebene wird in die Positionssumme eingerechnet und zusätzlich als cac:AllowanceCharge übermittelt.
  • Beträge werden als binäre Gleitkommazahlen summiert, und das Ergebnis weicht nach der Formatierung um einen Cent ab.

So korrigieren Sie das Dokument

  1. Nehmen Sie das cbc:LineExtensionAmount jeder Position genau so, wie es im XML stehen wird, also bereits auf zwei Nachkommastellen gerundet.
  2. Summieren Sie diese Werte mit Dezimalarithmetik, behalten Sie das Vorzeichen negativer Positionen bei und runden Sie das Ergebnis auf zwei Nachkommastellen.
  3. Schreiben Sie das Ergebnis in cac:LegalMonetaryTotal/cbc:LineExtensionAmount.
  4. Berechnen Sie die Summe ohne Umsatzsteuer aus dem korrigierten Wert neu: Positionssumme minus Summe der Nachlässe plus Summe der Zuschläge. Das prüft als Nächstes BR-CO-13.

Das aufgezeichnete Beispiel hat drei Positionen, eine davon eine negative Korrektur.

Nettobeträge der Positionen: 58.00 + 10.00 + (-2.00) = 66.00
Übermittelte Positionssumme (BT-106): 67.00, daher schlägt BR-CO-10 fehl
Übermittelte Summe ohne Umsatzsteuer: 68.50, also 66.00 - 1.00 + 3.50
Gegenüber den übermittelten 67.00 erwartet BR-CO-13 67.00 - 1.00 + 3.50 = 69.50, daher schlägt auch diese Regel fehl

Korrigierte Rechnung prüfen

Vorher und nachher

Dies sind Ausschnitte, keine vollständigen Dokumente. Die vollständigen synthetischen Dokumente, aus denen sie stammen, sind unten verlinkt.

Ausschnitt der fehlerhaften Rechnung: Die Summe lautet 67.00, die Positionen ergeben 66.00

<cac:LegalMonetaryTotal>
  <cbc:LineExtensionAmount currencyID="GBP">67.00</cbc:LineExtensionAmount>
  <cbc:TaxExclusiveAmount currencyID="GBP">68.50</cbc:TaxExclusiveAmount>
  <!-- remaining totals omitted from this fragment -->
</cac:LegalMonetaryTotal>

<cac:InvoiceLine>
  <cbc:ID>1</cbc:ID>
  <!-- note and quantity omitted from this fragment -->
  <cbc:LineExtensionAmount currencyID="GBP">58.00</cbc:LineExtensionAmount>
  <!-- accounting cost, order line reference, line allowance and charge, item and price omitted from this fragment -->
</cac:InvoiceLine>
<cac:InvoiceLine>
  <cbc:ID>2</cbc:ID>
  <!-- quantity omitted from this fragment -->
  <cbc:LineExtensionAmount currencyID="GBP">10.00</cbc:LineExtensionAmount>
  <!-- item and price omitted from this fragment -->
</cac:InvoiceLine>
<cac:InvoiceLine>
  <cbc:ID>3</cbc:ID>
  <!-- quantity omitted from this fragment -->
  <cbc:LineExtensionAmount currencyID="GBP">-2.00</cbc:LineExtensionAmount>
  <!-- item and price omitted from this fragment -->
</cac:InvoiceLine>

Ausschnitt der korrigierten Rechnung: Die Summe ist die Summe der drei Positionen

<cac:LegalMonetaryTotal>
  <cbc:LineExtensionAmount currencyID="GBP">66.00</cbc:LineExtensionAmount>
  <cbc:TaxExclusiveAmount currencyID="GBP">68.50</cbc:TaxExclusiveAmount>
  <!-- remaining totals omitted from this fragment -->
</cac:LegalMonetaryTotal>

Nur das cbc:LineExtensionAmount innerhalb von cac:LegalMonetaryTotal unterscheidet sich; die Positionen sind identisch. Das fehlerhafte Dokument meldet außerdem BR-CO-13, weil die Summe ohne Umsatzsteuer von 68.50 aus einer Positionssumme von 66.00 berechnet wurde und nicht mehr zu den übermittelten 67.00 passt. Die Korrektur der Positionssumme behebt beide Befunde.

Was der Validator gemeldet hat

Aufgezeichnet mit phive 12.1.0 / phive-rules-peppol 4.5.6 / Saxon-HE 12.10, der Engine hinter dem kostenlosen Validator, mit synthetischen Daten. Ein aufgezeichnetes Ergebnis ist ein Regressionsnachweis für diese Dokumente, keine Zertifizierung.

Wo die Regel gilt

  • Gilt gleichermaßen für UBL Invoice und CreditNote. In einer Gutschrift heißen die Positionen cac:CreditNoteLine; die Summe hat denselben Namen, und es erscheinen dieselben zwei Befunde.
  • Die Regel prüft nicht, wie ein Nettobetrag einer Position aus Menge, Preis und Positionsnachlässen berechnet wurde. Das ist eine eigene Peppol-Prüfung für jede Position.
  • Die Regel vergleicht nur die Zahlen. Sie liest currencyID nicht und rechnet nichts um.

Umfang und Quelle

Geschrieben für Peppol BIS Billing 3.0.21 (May 2026), EN 16931 1.3.16, angewendet auf Invoice- und CreditNote-Dokumente in UBL 2.1. Andere Profile, Syntaxen und Releases können diese Kennung anders definieren. Version des Hinweiskatalogs 2026-09-24.1: Quelle geprüft am 2026-09-24, Erklärung zuletzt aktualisiert am 2026-09-20.

Die offizielle Definition von BR-CO-10 (auf Englisch) enthält den normativen Wortlaut und den Test. Diese Seite ist unsere Erklärung dazu, keine Kopie.

Die Erklärung ändert das Urteil der Engine nicht. Dass Sie diesen Befund beheben, heißt nicht, dass das Dokument jeden Prüfschritt besteht. Die Validierung bescheinigt keine rechtliche oder steuerliche Konformität und überträgt kein Dokument über Peppol.