Zum Inhalt springen

Ironfang Finance - Regelreferenz

BR-CO-16: Einen fälligen Betrag korrigieren, der sich nicht aus der Summe mit Umsatzsteuer ergibt

Der fällige Betrag muss der Summe mit Umsatzsteuer minus dem Vorauszahlungsbetrag plus dem Rundungsbetrag entsprechen, auf zwei Nachkommastellen.

EN 16931Fehler: Das Dokument ist ungültigSummen

Auf dieser Seite

Die kurze Antwort

BR-CO-16 schlägt fehl, wenn cbc:PayableAmount nicht cbc:TaxInclusiveAmount minus cbc:PrepaidAmount plus cbc:PayableRoundingAmount ist, alle innerhalb von cac:LegalMonetaryTotal. Berechnen Sie den fälligen Betrag aus diesen Werten neu, so wie sie im XML stehen.

Ist der fällige Betrag richtig und spiegelt er eine bereits erhaltene Zahlung oder eine Bargeldrundung wider, fehlt meist das Element, das ihn erklärt. Übermitteln Sie den Vorauszahlungsbetrag oder den Rundungsbetrag, statt den fälligen Betrag zwangsweise auf die Summe zurückzusetzen.

Was die Regel prüft

Die Regel liest vier Elemente von cac:LegalMonetaryTotal und sonst nichts. Sie verlangt, dass der fällige Betrag minus dem Rundungsbetrag der Summe mit Umsatzsteuer minus dem Vorauszahlungsbetrag entspricht, gerechnet auf zwei Nachkommastellen. Der Vergleich ist exakt: Ein fälliger Betrag von 70.01, wo 70.00 erwartet wird, schlägt fehl.

Vorauszahlungsbetrag und Rundungsbetrag sind jeweils optional, und ein fehlender zählt als nichts. Fehlen beide, muss der fällige Betrag der Summe mit Umsatzsteuer entsprechen. Einen der beiden als 0.00 zu übermitteln, führt zum selben Ergebnis, wie ihn wegzulassen.

Der Rundungsbetrag wird addiert, daher kommt es auf sein Vorzeichen an. Bei einer Summe mit Umsatzsteuer von 80.20 und einer Vorauszahlung von 10.00 gehört zu einem Rundungsbetrag von -0.20 ein fälliger Betrag von 70.00 und zu einem Rundungsbetrag von 0.20 einer von 70.40.

Der fällige Betrag muss nicht positiv sein. Eine vollständig vorausbezahlte Rechnung mit 0.00 fällig besteht, ebenso eine Überzahlung, die einen negativen fälligen Betrag hinterlässt.

BegriffBedeutungUBL-Element
BT-115Fälliger Zahlungsbetragcac:LegalMonetaryTotal/cbc:PayableAmount
BT-112Gesamtbetrag der Rechnung einschließlich Umsatzsteuercac:LegalMonetaryTotal/cbc:TaxInclusiveAmount
BT-113Gezahlter Betragcac:LegalMonetaryTotal/cbc:PrepaidAmount
BT-114Rundungsbetragcac:LegalMonetaryTotal/cbc:PayableRoundingAmount

Wie es in einer Integration dazu kommt

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

  • Der fällige Betrag ist der offene Saldo aus der Buchhaltung nach einer Anzahlung oder Teilzahlung, aber cbc:PrepaidAmount wird nicht übermittelt, sodass die Regel die volle Summe mit Umsatzsteuer erwartet.
  • Eine Bargeldrundung wird auf den fälligen Betrag angewandt, ohne cbc:PayableRoundingAmount zu übermitteln, oder der Rundungsbetrag wird mit umgekehrtem Vorzeichen übermittelt.
  • Der fällige Betrag wird aus der Summe ohne Umsatzsteuer befüllt oder aus einer Summe mit Umsatzsteuer, die später neu berechnet wurde.
  • Ein Vorauszahlungsbetrag wird übermittelt, aber der fällige Betrag zeigt weiterhin die volle Summe.
  • Ein Platzhalter- oder Standardwert gelangt in cbc:PayableAmount, weil das Quellfeld leer war.

So korrigieren Sie das Dokument

  1. Bestätigen Sie zuerst die Summe mit Umsatzsteuer; BR-CO-15 prüft sie.
  2. Entscheiden Sie anhand der geschäftlichen Tatsachen, ob etwas im Voraus gezahlt wurde und ob der fällige Betrag gerundet wurde. Übermitteln Sie cbc:PrepaidAmount und cbc:PayableRoundingAmount entsprechend, oder lassen Sie sie weg.
  3. Berechnen Sie Summe mit Umsatzsteuer minus Vorauszahlungsbetrag plus Rundungsbetrag mit Dezimalarithmetik und runden Sie auf zwei Nachkommastellen.
  4. Schreiben Sie das Ergebnis in cac:LegalMonetaryTotal/cbc:PayableAmount.

Das aufgezeichnete Beispiel hat weder Vorauszahlung noch Rundung; beide werden als 0.00 übermittelt.

Erwarteter fälliger Betrag: 30.00 - 0.00 + 0.00 = 30.00
Übermittelter fälliger Betrag (BT-115): 999.99, daher schlägt BR-CO-16 fehl
Zum Vergleich: Das größere gültige Beispiel hat 80.20 - 10.00 + (-0.20) = 70.00

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 mit Umsatzsteuer beträgt 30.00 ohne Vorauszahlung, der fällige Betrag lautet aber 999.99

<cac:LegalMonetaryTotal>
  <cbc:LineExtensionAmount currencyID="GBP">25.00</cbc:LineExtensionAmount>
  <cbc:TaxExclusiveAmount currencyID="GBP">25.00</cbc:TaxExclusiveAmount>
  <cbc:TaxInclusiveAmount currencyID="GBP">30.00</cbc:TaxInclusiveAmount>
  <!-- allowance and charge totals omitted from this fragment -->
  <cbc:PrepaidAmount currencyID="GBP">0.00</cbc:PrepaidAmount>
  <cbc:PayableRoundingAmount currencyID="GBP">0.00</cbc:PayableRoundingAmount>
  <cbc:PayableAmount currencyID="GBP">999.99</cbc:PayableAmount>
</cac:LegalMonetaryTotal>

Ausschnitt der korrigierten Rechnung: Der fällige Betrag entspricht der Summe mit Umsatzsteuer

<cac:LegalMonetaryTotal>
  <cbc:LineExtensionAmount currencyID="GBP">25.00</cbc:LineExtensionAmount>
  <cbc:TaxExclusiveAmount currencyID="GBP">25.00</cbc:TaxExclusiveAmount>
  <cbc:TaxInclusiveAmount currencyID="GBP">30.00</cbc:TaxInclusiveAmount>
  <!-- allowance and charge totals omitted from this fragment -->
  <cbc:PrepaidAmount currencyID="GBP">0.00</cbc:PrepaidAmount>
  <cbc:PayableRoundingAmount currencyID="GBP">0.00</cbc:PayableRoundingAmount>
  <cbc:PayableAmount currencyID="GBP">30.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>

Nur cbc:PayableAmount unterscheidet sich: 999.99 im fehlerhaften Dokument, 30.00 im korrigierten. Das Dokument meldet nur diese Regel. Der fällige Betrag ist der letzte Wert in der Kette, daher wird keine andere Summe aus ihm berechnet.

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; die aufgezeichnete Gutschrift mit demselben Fehler meldet ebenfalls nur diese Regel.
  • cbc:PayableAmount selbst darf nicht fehlen. Der XSD-Prüfschritt weist ein Dokument ohne dieses Element zurück, und die Prüfschritte EN 16931 und Peppol werden dann übersprungen, sodass diese Regel nie erreicht wird.
  • Ein Fehler weiter oben in der Kette zeigt sich auch hier: Eine falsche Summe mit Umsatzsteuer meldet BR-CO-15 zusammen mit dieser Regel. Beheben Sie jenen Befund zuerst.

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-16 (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.