Zum Inhalt springen

Ironfang Finance - Regelreferenz

BR-CO-18: Die fehlende Umsatzsteueraufschlüsselung im Steuerblock ergänzen

Jede Rechnung und jede Gutschrift braucht mindestens eine Umsatzsteueraufschlüsselung: ein TaxSubtotal innerhalb eines TaxTotal auf Dokumentenebene.

EN 16931Fehler: Das Dokument ist ungültigUmsatzsteuerSummen

Auf dieser Seite

Die kurze Antwort

BR-CO-18 schlägt fehl, wenn das Dokument kein cac:TaxSubtotal innerhalb eines cac:TaxTotal direkt unter dem Wurzelelement hat. Fügen Sie für jede Umsatzsteuerkategorie und jeden Satz, die in den Positionen und in den Nachlässen und Zuschlägen auf Dokumentenebene verwendet werden, ein cac:TaxSubtotal mit Steuerbasisbetrag, Steuerbetrag und cac:TaxCategory hinzu.

Ein cac:TaxTotal, das nur das gesamte cbc:TaxAmount enthält, genügt nicht, auch wenn dieser Betrag stimmt.

Was die Regel prüft

Dies ist eine Vorhandenseinsprüfung auf dem Wurzelelement des Dokuments: Mindestens ein cac:TaxTotal/cac:TaxSubtotal muss existieren. Sie schaut nicht in die Aufschlüsselung hinein; Beträge und Kategorie prüfen andere Regeln.

Das XSD akzeptiert ein cac:TaxTotal ohne cac:TaxSubtotal und ein Dokument ganz ohne cac:TaxTotal, daher wird das Fehlen zuerst hier gemeldet und nicht vom Schema-Prüfschritt.

Ein Dokument ohne zu zahlende Umsatzsteuer braucht trotzdem eine Aufschlüsselung. Eine steuerbefreite Rechnung mit einer Umsatzsteuersumme von 0.00 schlägt bei dieser Regel fehl, sobald ihr cac:TaxSubtotal entfernt wird.

BegriffBedeutungUBL-Element
BG-23Umsatzsteueraufschlüsselungcac:TaxTotal/cac:TaxSubtotal

Wie es in einer Integration dazu kommt

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

  • Das Mapping schreibt die Umsatzsteuersumme aus einem Kopffeld und baut die Aufschlüsselung je Kategorie nie auf.
  • Die Aufschlüsselung wird nur erzeugt, wenn der Umsatzsteuerbetrag größer als null ist, sodass Dokumente zum Nullsatz, steuerbefreite Dokumente und Dokumente mit Umkehr der Steuerschuldnerschaft sie verlieren.
  • Die Gruppierung nach Umsatzsteuerkategorie im Quellsystem liefert keine Zeilen, etwa weil den Positionen kein Steuerschlüssel zugeordnet ist, und die Schleife, die cac:TaxSubtotal schreibt, gibt nichts aus.
  • Die Aufschlüsselung wird in ein cac:TaxTotal unter jeder Position geschrieben statt in das cac:TaxTotal auf Dokumentenebene. Nur Aufschlüsselungen direkt unter dem Wurzelelement zählen.

So korrigieren Sie das Dokument

  1. Gruppieren Sie die Nettobeträge der Positionen, die Nachlässe auf Dokumentenebene und die Zuschläge auf Dokumentenebene nach Code der Umsatzsteuerkategorie und Satz.
  2. Schreiben Sie für jede Gruppe ein cac:TaxSubtotal mit cbc:TaxableAmount, cbc:TaxAmount und einer cac:TaxCategory mit cbc:ID, cbc:Percent und cac:TaxScheme/cbc:ID mit dem Wert VAT. Einige Kategorien brauchen außerdem einen Befreiungsgrund.
  3. Setzen Sie die Aufschlüsselungen in das cac:TaxTotal, das die Umsatzsteuersumme in der Dokumentwährung trägt, und machen Sie dessen cbc:TaxAmount zur Summe der Steuerbeträge der Aufschlüsselungen. BR-CO-14 prüft das.
  4. Verwenden Sie die Umsatzsteuerkategorien, die der Geschäftsvorfall tatsächlich hat. Fügen Sie keine Aufschlüsselung für eine Kategorie hinzu, die in den Positionen nicht vorkommt, nur um diese Regel zu erfüllen.

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: Der Steuerblock hat einen Betrag, aber keine Aufschlüsselung

<cac:TaxTotal>
  <cbc:TaxAmount currencyID="GBP">5.00</cbc:TaxAmount>
</cac:TaxTotal>

Ausschnitt der korrigierten Rechnung: eine Aufschlüsselung zum Normalsatz für die einzige Position über 25.00

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

Das korrigierte Dokument hat das cac:TaxSubtotal, das dem fehlerhaften fehlt; sonst unterscheidet sich nichts. Das fehlerhafte Dokument meldet außerdem BR-S-01, weil seine Position zum Normalsatz besteuert ist und keine Aufschlüsselung zum Normalsatz existiert, sowie zwei Peppol-Befunde zur Form der Steuerblöcke: PEPPOL-EN16931-R053, weil kein Steuerblock eine Aufschlüsselung trägt, und PEPPOL-EN16931-R054, weil ein Steuerblock ohne Aufschlüsselung vorhanden ist, obwohl keine Buchungswährung der Umsatzsteuer angegeben ist. Das Wiederherstellen der Aufschlüsselung behebt alle vier 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, deren einzige Aufschlüsselung entfernt wurde, meldet dieselben vier Befunde.
  • Welche Kategorieregel diesen Befund begleitet, hängt von den Umsatzsteuerkategorien im Dokument ab. Das aufgezeichnete Beispiel ist zum Normalsatz besteuert und meldet BR-S-01; eine steuerbefreite Rechnung meldet stattdessen die entsprechende Regel der Befreiungskategorie.
  • BR-CO-14 bleibt in dieser Situation stumm. Die Regel überspringt einen Steuerblock ohne Aufschlüsselung, daher wird die Umsatzsteuersumme erst dann mit einer Aufschlüsselung verglichen, wenn wieder eine vorhanden ist.
  • Ein leeres cac:TaxSubtotal-Element umgeht die Regel nicht: Der XSD-Prüfschritt weist es zurück, und die späteren Prüfschritte werden übersprungen.

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