Zum Inhalt springen

Ironfang Finance - Regelreferenz

BR-CO-17: Einen Betrag der Umsatzsteueraufschlüsselung korrigieren, der nicht Steuerbasisbetrag mal Satz entspricht

Jeder Steuerbetrag einer Umsatzsteueraufschlüsselung muss zu seinem Steuerbasisbetrag mal Satz passen. Die Prüfung toleriert eine Abweichung unter 1.00, der richtige Wert nicht.

EN 16931Fehler: Das Dokument ist ungültigUmsatzsteuerSummen

Auf dieser Seite

Die kurze Antwort

BR-CO-17 schlägt fehl, wenn das cbc:TaxAmount eines cac:TaxSubtotal nicht zum cbc:TaxableAmount dieses Blocks multipliziert mit seinem cac:TaxCategory/cbc:Percent passt. Der richtige Wert ist Steuerbasisbetrag x Satz / 100, auf zwei Nachkommastellen gerundet. Berechnen Sie ihn neu und übernehmen Sie den korrigierten Wert dann in die Umsatzsteuersumme und die davon abhängigen Summen.

Die Regel läuft auf jeder Umsatzsteueraufschlüsselung, unabhängig von ihrer Kategorie. Bei einer Aufschlüsselung zum Normalsatz prüft BR-S-09 dieselbe Berechnung noch einmal, daher werden beide normalerweise zusammen gemeldet.

Was die Regel prüft

Bei einer Aufschlüsselung mit einem Satz ungleich null berechnet die Regel Steuerbasisbetrag x Satz / 100, rundet auf zwei Nachkommastellen und vergleicht das Ergebnis mit dem Steuerbetrag. Der Vergleich ist nicht exakt: Er besteht, wenn beide um weniger als 1.00 voneinander abweichen, und schlägt bei einer Abweichung von genau 1.00 oder mehr fehl. Bei 25.00 zu 20 %, wo der berechnete Betrag 5.00 ist, bestehen Steuerbeträge von 4.01 und 5.99, während 4.00 und 6.00 fehlschlagen.

Das Einhalten dieser Toleranz macht den Wert nicht richtig. Eine Aufschlüsselung von 5.90 auf 25.00 zu 20 % besteht die Validierung, wenn die Summen ihr folgen, und die Rechnung weist trotzdem 0.90 zu viel Umsatzsteuer aus. Betrachten Sie die Toleranz als Spielraum der Prüfung, nicht als Rundungsspielraum, den Sie nutzen dürfen.

Ist der Satz 0 oder hat die Aufschlüsselung überhaupt kein cbc:Percent, muss der Steuerbetrag nur auf die ganze Zahl null gerundet werden: 0.40 kommt an dieser Regel vorbei, 0.50 nicht. Die Kategorieregeln sind strenger; eine Aufschlüsselung zum Nullsatz mit 0.40 Steuer wird dennoch von BR-Z-09 zurückgewiesen.

Beide Beträge werden als Absolutwerte verglichen, daher betrachtet die Regel das Vorzeichen nicht. Ein Steuerbetrag von -5.00 auf einen Steuerbasisbetrag von 25.00 besteht sie.

Nur die drei Werte innerhalb der Aufschlüsselung werden gelesen. Ob die Umsatzsteuersumme des Dokuments zu den Aufschlüsselungen passt, ist eine eigene Prüfung, BR-CO-14.

BegriffBedeutungUBL-Element
BT-117Kategoriespezifischer Steuerbetragcac:TaxTotal/cac:TaxSubtotal/cbc:TaxAmount
BT-116Kategoriespezifischer Steuerbasisbetragcac:TaxTotal/cac:TaxSubtotal/cbc:TaxableAmount
BT-119Kategoriespezifischer Umsatzsteuersatzcac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:Percent

Wie es in einer Integration dazu kommt

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

  • Die Umsatzsteuer wird je Position berechnet und die Ergebnisse der Positionen werden in der Aufschlüsselung summiert, sodass sie sich von Steuerbasisbetrag x Satz entfernt. Abweichungen von wenigen Cent bleiben innerhalb der Toleranz; eine größere Lücke bedeutet meist, dass eine Position mit einem anderen Satz besteuert wurde als dem, den die Aufschlüsselung angibt.
  • Der Steuerbetrag stammt aus einer Buchung, während Steuerbasisbetrag und Satz aus den Positionen neu aufgebaut werden, und beide entstanden zu unterschiedlichen Zeitpunkten oder aus unterschiedlichen Daten.
  • Der Satz ist als Bruch geschrieben, 0.2 statt 20, sodass der berechnete Betrag ein Hundertstel des beabsichtigten ist.
  • Der Steuerbasisbetrag wurde durch einen Nachlass oder Zuschlag auf Dokumentenebene geändert, und der Steuerbetrag wurde nicht neu berechnet.
  • Ein Bruttobetrag oder die Steuer einer anderen Kategorie wird in cbc:TaxAmount gemappt.

So korrigieren Sie das Dokument

  1. Nehmen Sie für jedes cac:TaxSubtotal das cbc:TaxableAmount und cac:TaxCategory/cbc:Percent so, wie sie übermittelt werden.
  2. Berechnen Sie Steuerbasisbetrag x Satz / 100 mit Dezimalarithmetik und runden Sie das Ergebnis auf zwei Nachkommastellen. Schreiben Sie es in das cbc:TaxAmount des Blocks.
  3. Weicht der berechnete Wert von dem ab, was Ihre Buchhaltung enthält, finden Sie vor dem Versand heraus, ob Steuerbasisbetrag, Satz oder gebuchte Steuer falsch ist. Verschieben Sie den Betrag nicht schrittweise, bis er in die Toleranz fällt.
  4. Setzen Sie cac:TaxTotal/cbc:TaxAmount auf die Summe der Steuerbeträge der Aufschlüsselung (BR-CO-14) und berechnen Sie dann cbc:TaxInclusiveAmount (BR-CO-15) und cbc:PayableAmount (BR-CO-16) neu.

Das aufgezeichnete Beispiel hat eine Aufschlüsselung: 25.00 steuerpflichtig zu 20 %.

Berechnete Steuer: 25.00 x 20 / 100 = 5.00
Übermittelter Steuerbetrag: 6.50
Abweichung: 1.50, nicht unter 1.00, daher schlägt die Regel fehl
Korrigiert: Steuerbetrag 5.00, Umsatzsteuersumme 5.00, Summe mit Umsatzsteuer 25.00 + 5.00 = 30.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: 6.50 Umsatzsteuer auf 25.00 zu 20 %, mit Summen, die auf dem falschen Wert aufbauen

<cac:TaxTotal>
  <cbc:TaxAmount currencyID="GBP">6.50</cbc:TaxAmount>
  <cac:TaxSubtotal>
    <cbc:TaxableAmount currencyID="GBP">25.00</cbc:TaxableAmount>
    <cbc:TaxAmount currencyID="GBP">6.50</cbc:TaxAmount>
    <cac:TaxCategory>
      <cbc:ID>S</cbc:ID>
      <cbc:Percent>20</cbc:Percent>
      <cac:TaxScheme>
        <cbc:ID>VAT</cbc:ID>
      </cac:TaxScheme>
    </cac:TaxCategory>
  </cac:TaxSubtotal>
</cac:TaxTotal>

<cac:LegalMonetaryTotal>
  <cbc:LineExtensionAmount currencyID="GBP">25.00</cbc:LineExtensionAmount>
  <cbc:TaxExclusiveAmount currencyID="GBP">25.00</cbc:TaxExclusiveAmount>
  <cbc:TaxInclusiveAmount currencyID="GBP">31.50</cbc:TaxInclusiveAmount>
  <!-- allowance, charge, prepaid and rounding totals (all 0.00) omitted from this fragment -->
  <cbc:PayableAmount currencyID="GBP">31.50</cbc:PayableAmount>
</cac:LegalMonetaryTotal>

Ausschnitt der korrigierten Rechnung: Die Aufschlüsselung beträgt 5.00, und die Summen folgen

<cac:TaxTotal>
  <cbc:TaxAmount currencyID="GBP">5.00</cbc:TaxAmount>
  <cac:TaxSubtotal>
    <cbc:TaxableAmount currencyID="GBP">25.00</cbc:TaxableAmount>
    <cbc:TaxAmount currencyID="GBP">5.00</cbc:TaxAmount>
    <cac:TaxCategory>
      <cbc:ID>S</cbc:ID>
      <cbc:Percent>20</cbc:Percent>
      <cac:TaxScheme>
        <cbc:ID>VAT</cbc:ID>
      </cac:TaxScheme>
    </cac:TaxCategory>
  </cac:TaxSubtotal>
</cac:TaxTotal>

<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, charge, prepaid and rounding totals (all 0.00) omitted from this fragment -->
  <cbc:PayableAmount currencyID="GBP">30.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>

Vier Werte unterscheiden sich: Das cbc:TaxAmount der Aufschlüsselung und das cac:TaxTotal/cbc:TaxAmount des Dokuments gehen von 6.50 auf 5.00, und cbc:TaxInclusiveAmount und cbc:PayableAmount gehen von 31.50 auf 30.00. Das fehlerhafte Dokument meldet außerdem BR-S-09, weil die Aufschlüsselung zum Normalsatz gehört und diese Regel die Berechnung für die Kategorie wiederholt. Keine Summenregel schlägt an, weil die Summen im fehlerhaften Dokument durchgängig auf den falschen 6.50 aufgebaut wurden. Wäre nur die Aufschlüsselung falsch gewesen, würde auch BR-CO-14 gemeldet.

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 denselben 6.50 auf 25.00 zu 20 % meldet dieselben zwei Regeln.
  • Jedes cac:TaxSubtotal innerhalb eines cac:TaxTotal wird geprüft, in jeder Umsatzsteuerkategorie. Die kategoriespezifischen Gegenstücke, etwa BR-S-09 für den Normalsatz und BR-Z-09 für den Nullsatz, laufen zusätzlich.
  • Beträge werden in der Währung verglichen, in der sie geschrieben sind. Die Regel rechnet keine Währungen um.
  • Eine Aufschlüsselung, die diese Regel besteht, kann in ihrem Steuerbasisbetrag trotzdem falsch sein. Bei Aufschlüsselungen zum Normalsatz prüft BR-S-08 ihn gegen die Positionen, Nachlässe und Zuschläge.

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