Zum Inhalt springen

Ironfang Finance - Regelreferenz

BR-CO-15: Eine Summe mit Umsatzsteuer korrigieren, die nicht die Summe ohne Umsatzsteuer plus die Umsatzsteuersumme ist

Die Summe mit Umsatzsteuer muss der Summe ohne Umsatzsteuer plus der Umsatzsteuersumme in der Dokumentwährung entsprechen, auf zwei Nachkommastellen gerundet.

EN 16931Fehler: Das Dokument ist ungültigSummenUmsatzsteuer

Auf dieser Seite

Die kurze Antwort

BR-CO-15 schlägt fehl, wenn cac:LegalMonetaryTotal/cbc:TaxInclusiveAmount nicht cbc:TaxExclusiveAmount plus die Umsatzsteuersumme ist. Die Umsatzsteuersumme ist das cbc:TaxAmount direkt unter cac:TaxTotal, dessen currencyID zu cbc:DocumentCurrencyCode passt. Addieren Sie beide, runden Sie auf zwei Nachkommastellen und schreiben Sie das Ergebnis als Summe mit Umsatzsteuer.

Die Regel schlägt auch fehl, wenn sich diese Umsatzsteuersumme nicht bestimmen lässt: Das Dokument muss genau ein cac:TaxTotal/cbc:TaxAmount in der Dokumentwährung enthalten.

Was die Regel prüft

Die Regel läuft einmal auf dem Wurzelelement des Dokuments. Zuerst zählt sie die cbc:TaxAmount-Elemente direkt unter einem cac:TaxTotal auf Wurzelebene, deren currencyID gleich cbc:DocumentCurrencyCode ist. Es muss genau eines sein. Keines oder zwei lassen die Regel fehlschlagen, unabhängig davon, was die Summen aussagen.

Dann addiert sie diesen Betrag zu cbc:TaxExclusiveAmount, rundet auf zwei Nachkommastellen und vergleicht das Ergebnis exakt mit cbc:TaxInclusiveAmount. Eine Summe mit Umsatzsteuer von 80.21, wo die Addition 80.20 ergibt, schlägt fehl.

Ein zweites cac:TaxTotal in der Buchungswährung der Umsatzsteuer wird ignoriert, weil seine currencyID nicht die Dokumentwährung ist.

Vorauszahlungs- und Rundungsbeträge sind nicht Teil dieses Werts. Sie kommen erst danach hinzu, zwischen der Summe mit Umsatzsteuer und dem fälligen Betrag.

BegriffBedeutungUBL-Element
BT-112Gesamtbetrag der Rechnung einschließlich Umsatzsteuercac:LegalMonetaryTotal/cbc:TaxInclusiveAmount
BT-109Gesamtbetrag der Rechnung ohne Umsatzsteuercac:LegalMonetaryTotal/cbc:TaxExclusiveAmount
BT-110Gesamtbetrag der Umsatzsteuercac:TaxTotal/cbc:TaxAmount
BT-5Code für die Rechnungswährungcbc:DocumentCurrencyCode

Wie es in einer Integration dazu kommt

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

  • Die Summe mit Umsatzsteuer wird aus dem Quellsystem kopiert, in dem die Umsatzsteuer anders gerundet wurde als die Umsatzsteuersumme, die ins XML geschrieben wird.
  • Einer der beiden Eingangswerte wurde beim Mapping korrigiert, etwa die Umsatzsteuersumme aus der Aufschlüsselung neu berechnet, und die Summe mit Umsatzsteuer blieb, wie sie war.
  • Die Summe mit Umsatzsteuer wird abzüglich einer Anzahlung oder mit bereits angewandter Bargeldrundung übermittelt; das gehört stattdessen in den fälligen Betrag.
  • Die currencyID der Umsatzsteuersumme ist nicht derselbe Code wie cbc:DocumentCurrencyCode, sodass keine Umsatzsteuersumme gefunden wird.
  • Das cac:TaxTotal fehlt, oder die Steuersumme in der Dokumentwährung wird doppelt ausgegeben.

So korrigieren Sie das Dokument

  1. Stellen Sie sicher, dass die Eingangswerte endgültig sind: die Summe ohne Umsatzsteuer (BR-CO-13) und die Umsatzsteuersumme (BR-CO-14).
  2. Prüfen Sie, dass genau ein cac:TaxTotal/cbc:TaxAmount die Dokumentwährung in currencyID trägt.
  3. Addieren Sie die Summe ohne Umsatzsteuer und diese Umsatzsteuersumme mit Dezimalarithmetik und runden Sie auf zwei Nachkommastellen.
  4. Schreiben Sie das Ergebnis in cac:LegalMonetaryTotal/cbc:TaxInclusiveAmount und berechnen Sie daraus den fälligen Betrag neu. Das prüft als Nächstes BR-CO-16.

Das aufgezeichnete Beispiel hat eine Summe ohne Umsatzsteuer von 68.50, eine Umsatzsteuersumme von 11.70, eine Vorauszahlung von 10.00 und einen Rundungsbetrag von -0.20.

Erwartete Summe mit Umsatzsteuer: 68.50 + 11.70 = 80.20
Übermittelte Summe mit Umsatzsteuer (BT-112): 80.25, daher schlägt BR-CO-15 fehl
Übermittelter fälliger Betrag: 70.00, also 80.20 - 10.00 + (-0.20)
Gegenüber den übermittelten 80.25 erwartet BR-CO-16 80.25 - 10.00 + (-0.20) = 70.05, 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: 68.50 + 11.70 ergibt 80.20, die Summe mit Umsatzsteuer lautet aber 80.25

<cac:TaxTotal>
  <cbc:TaxAmount currencyID="GBP">11.70</cbc:TaxAmount>
  <!-- both VAT breakdowns omitted from this fragment -->
</cac:TaxTotal>

<cac:LegalMonetaryTotal>
  <cbc:LineExtensionAmount currencyID="GBP">66.00</cbc:LineExtensionAmount>
  <cbc:TaxExclusiveAmount currencyID="GBP">68.50</cbc:TaxExclusiveAmount>
  <cbc:TaxInclusiveAmount currencyID="GBP">80.25</cbc:TaxInclusiveAmount>
  <cbc:AllowanceTotalAmount currencyID="GBP">1.00</cbc:AllowanceTotalAmount>
  <cbc:ChargeTotalAmount currencyID="GBP">3.50</cbc:ChargeTotalAmount>
  <cbc:PrepaidAmount currencyID="GBP">10.00</cbc:PrepaidAmount>
  <cbc:PayableRoundingAmount currencyID="GBP">-0.20</cbc:PayableRoundingAmount>
  <cbc:PayableAmount currencyID="GBP">70.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>

Ausschnitt der korrigierten Rechnung: Die Summe mit Umsatzsteuer ist die Summe ohne Umsatzsteuer plus die Umsatzsteuersumme

<cac:LegalMonetaryTotal>
  <cbc:LineExtensionAmount currencyID="GBP">66.00</cbc:LineExtensionAmount>
  <cbc:TaxExclusiveAmount currencyID="GBP">68.50</cbc:TaxExclusiveAmount>
  <cbc:TaxInclusiveAmount currencyID="GBP">80.20</cbc:TaxInclusiveAmount>
  <cbc:AllowanceTotalAmount currencyID="GBP">1.00</cbc:AllowanceTotalAmount>
  <cbc:ChargeTotalAmount currencyID="GBP">3.50</cbc:ChargeTotalAmount>
  <cbc:PrepaidAmount currencyID="GBP">10.00</cbc:PrepaidAmount>
  <cbc:PayableRoundingAmount currencyID="GBP">-0.20</cbc:PayableRoundingAmount>
  <cbc:PayableAmount currencyID="GBP">70.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>

Nur cbc:TaxInclusiveAmount unterscheidet sich: 80.25 im fehlerhaften Dokument, 80.20 im korrigierten. Das fehlerhafte Dokument meldet außerdem BR-CO-16, weil der fällige Betrag von 70.00 aus 80.20 berechnet wurde und sich nicht aus den übermittelten 80.25 ergibt. Die Korrektur der Summe mit Umsatzsteuer 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; eine Gutschrift mit demselben Fehler meldet dieselben zwei Befunde.
  • Ein Dokument ganz ohne cac:TaxTotal meldet diese Regel zusammen mit BR-CO-18 und weiteren Regeln zur fehlenden Umsatzsteueraufschlüsselung. Zwei Steuersummen in der Dokumentwährung oder eine Umsatzsteuersumme, deren currencyID nicht die Dokumentwährung ist, melden jeweils diese Regel neben einem eigenen Peppol-Befund.
  • Wird eine Buchungswährung der Umsatzsteuer verwendet, stört das zusätzliche cac:TaxTotal in dieser Währung diese Regel nicht.

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