Zum Inhalt springen

Ironfang Finance - Regelreferenz

PEPPOL-EN16931-R053: Die gesamte Umsatzsteueraufschlüsselung in eine einzige Steuersumme legen

Das Dokument muss genau ein cac:TaxTotal mit cac:TaxSubtotal-Elementen haben. Legen Sie jede Umsatzsteueraufschlüsselung in diese eine Steuersumme.

Peppol BIS BillingFehler: Das Dokument ist ungültigUmsatzsteuerSummen

Auf dieser Seite

Die kurze Antwort

PEPPOL-EN16931-R053 schlägt fehl, wenn die Anzahl der cac:TaxTotal-Elemente auf Wurzelebene, die ein cac:TaxSubtotal enthalten, nicht genau eins ist. Legen Sie jede Umsatzsteueraufschlüsselung, ein cac:TaxSubtotal je Kategorie und Steuersatz, in ein einziges cac:TaxTotal, dessen cbc:TaxAmount die Summe ihrer Steuerbeträge ist.

Null schlägt ebenfalls fehl. Ein Dokument ganz ohne Umsatzsteueraufschlüsselung meldet diese Regel neben den Regeln von EN 16931 für die fehlende Aufschlüsselung.

Was die Regel prüft

Die Regel läuft einmal auf dem Wurzelelement und zählt die Kindelemente cac:TaxTotal, die mindestens ein cac:TaxSubtotal enthalten. Sie besteht nur, wenn diese Anzahl genau eins ist.

Ein cac:TaxTotal ohne Aufschlüsselung wird nicht mitgezählt. Peppol erlaubt ein solches, und nur wenn cbc:TaxCurrencyCode vorhanden ist, für die Umsatzsteuersumme in der Buchungswährung; das setzt PEPPOL-EN16931-R054 durch.

Beträge werden nicht verglichen. Die aufgezeichnete Aufteilung hält die Zahlen richtig, 11.70 und 0.00 ergeben zusammen die frühere Umsatzsteuersumme, und wird trotzdem wegen der Anzahl abgelehnt.

Im Versuch meldete ein Dokument ohne cac:TaxTotal diese Regel zusammen mit BR-CO-15, BR-CO-18 und BR-S-01. Eines, dessen einzige Steuersumme ihre Aufschlüsselung verloren hatte, meldete sie zusammen mit BR-CO-18, BR-S-01 und PEPPOL-EN16931-R054.

BegriffBedeutungUBL-Element
BG-23Umsatzsteueraufschlüsselungcac:TaxTotal/cac:TaxSubtotal
BT-110Gesamtbetrag der Umsatzsteuercac:TaxTotal/cbc:TaxAmount

Wie es in einer Integration dazu kommt

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

  • Das Mapping gibt ein cac:TaxTotal je Steuersatz aus und bildet damit eine Quelltabelle ab, die eine Steuerzeile je Steuersatz enthält.
  • Eine Schleife über die Steuerkategorien öffnet und schließt die Steuersumme innerhalb der Schleife statt einmal um sie herum.
  • Umsatzsteuer in einer zweiten Währung wird als vollständige Kopie der Aufschlüsselung übermittelt, was eine zweite Steuersumme mit Aufschlüsselung ergibt.

So korrigieren Sie das Dokument

  1. Öffnen Sie ein einziges cac:TaxTotal direkt unter dem Wurzelelement, nach etwaigen cac:AllowanceCharge auf Dokumentenebene und vor cac:LegalMonetaryTotal.
  2. Schreiben Sie darin ein cac:TaxSubtotal für jede im Dokument verwendete Kombination aus Umsatzsteuerkategorie und Steuersatz.
  3. Setzen Sie sein cbc:TaxAmount auf die Summe der Steuerbeträge der Aufschlüsselung, auf zwei Nachkommastellen gerundet, in der Dokumentwährung.
  4. Muss die Umsatzsteuer zusätzlich in einer Buchungswährung angegeben werden, ergänzen Sie cbc:TaxCurrencyCode und ein zweites cac:TaxTotal, das nur ein cbc:TaxAmount in dieser Währung enthält. Es trägt keine Aufschlüsselung und wird daher hier nicht mitgezählt.

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 Aufschlüsselungen zum Normalsatz und zum Nullsatz stehen in zwei getrennten Steuersummen

<cac:TaxTotal>
  <cbc:TaxAmount currencyID="GBP">11.70</cbc:TaxAmount>
  <cac:TaxSubtotal>
    <cbc:TaxableAmount currencyID="GBP">58.50</cbc:TaxableAmount>
    <cbc:TaxAmount currencyID="GBP">11.70</cbc:TaxAmount>
    <cac:TaxCategory>
      <cbc:ID>S</cbc:ID>
      <cbc:Percent>20</cbc:Percent>
      <!-- tax scheme omitted from this fragment -->
    </cac:TaxCategory>
  </cac:TaxSubtotal>
</cac:TaxTotal>
<cac:TaxTotal>
  <cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
  <cac:TaxSubtotal>
    <cbc:TaxableAmount currencyID="GBP">10.00</cbc:TaxableAmount>
    <cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
    <cac:TaxCategory>
      <cbc:ID>Z</cbc:ID>
      <cbc:Percent>0</cbc:Percent>
      <!-- tax scheme omitted from this fragment -->
    </cac:TaxCategory>
  </cac:TaxSubtotal>
</cac:TaxTotal>

Ausschnitt der korrigierten Rechnung: eine Steuersumme von 11.70, die beide Aufschlüsselungen enthält

<cac:TaxTotal>
  <cbc:TaxAmount currencyID="GBP">11.70</cbc:TaxAmount>
  <cac:TaxSubtotal>
    <cbc:TaxableAmount currencyID="GBP">58.50</cbc:TaxableAmount>
    <cbc:TaxAmount currencyID="GBP">11.70</cbc:TaxAmount>
    <cac:TaxCategory>
      <cbc:ID>S</cbc:ID>
      <cbc:Percent>20</cbc:Percent>
      <!-- tax scheme omitted from this fragment -->
    </cac:TaxCategory>
  </cac:TaxSubtotal>
  <cac:TaxSubtotal>
    <cbc:TaxableAmount currencyID="GBP">10.00</cbc:TaxableAmount>
    <cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
    <cac:TaxCategory>
      <cbc:ID>Z</cbc:ID>
      <cbc:Percent>0</cbc:Percent>
      <!-- tax scheme omitted from this fragment -->
    </cac:TaxCategory>
  </cac:TaxSubtotal>
</cac:TaxTotal>

Die fehlerhafte Rechnung schließt die Steuersumme nach der Aufschlüsselung zum Normalsatz und öffnet für die Aufschlüsselung zum Nullsatz eine zweite, mit eigener Umsatzsteuersumme von 0.00; die korrigierte Rechnung hält beide Aufschlüsselungen in einer Steuersumme von 11.70. Jede Steuersumme stimmt weiterhin mit ihrer eigenen Aufschlüsselung überein, daher besteht BR-CO-14. Das fehlerhafte Dokument meldet außerdem BR-CO-15 aus dem Prüfschritt EN 16931. Diese Regel erwartet genau eine Umsatzsteuersumme in der Dokumentwährung, die zur Summe ohne Umsatzsteuer addiert wird, findet zwei, 11.70 und 0.00, und schlägt wegen der Anzahl fehl, obwohl 68.50 + 11.70 + 0.00 weiterhin die Summe einschließlich Umsatzsteuer von 80.20 ergibt. Das Zusammenführen der Steuersummen 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. Im Versuch meldete eine auf dieselbe Weise aufgeteilte Gutschrift dieselben zwei Regeln.
  • Es ist eine Regel von Peppol BIS, und der Prüfschritt EN 16931 zählt Steuersummen als solche nicht. Eine aufgeteilte Aufschlüsselung scheitert trotzdem an beiden Prüfschritten, weil BR-CO-15 auf die zweite Umsatzsteuersumme in der Dokumentwährung reagiert.
  • Eine zweite Steuersumme, die die Aufschlüsselung in einer Buchungswährung wiederholt, wird ebenfalls gezählt. Im Versuch meldete eine EUR-Kopie der Aufschlüsselung zum Normalsatz unter anderem diese Regel, PEPPOL-EN16931-R051 für jeden ihrer Beträge und PEPPOL-EN16931-R054. Die Buchungswährung erhält ein einzelnes cbc:TaxAmount ohne Aufschlüsselung.

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-24.

Die offizielle Definition von PEPPOL-EN16931-R053 (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.