Zum Inhalt springen

Ironfang Finance - Regelreferenz

BR-Z-07: Einem Zuschlag auf Dokumentenebene zum Nullsatz den Umsatzsteuersatz 0 geben

Ein Zuschlag auf Dokumentenebene in der Umsatzsteuerkategorie Z muss in cbc:Percent den Satz 0 angeben. Ein fehlender Satz schlägt fehl, ebenso jeder andere Wert.

EN 16931Fehler: Das Dokument ist ungültigUmsatzsteuerNachlässe und Zuschläge

Auf dieser Seite

Die kurze Antwort

BR-Z-07 schlägt für jeden Zuschlag fehl, dessen cac:TaxCategory die cbc:ID Z im Schema VAT und ein cbc:Percent hat, das fehlt oder ungleich 0 ist. Schreiben Sie <cbc:Percent>0</cbc:Percent> nach dem Kategoriecode; im aufgezeichneten Beispiel hatte der Lieferzuschlag überhaupt kein Satzelement.

Der Nullsatz muss angegeben, nicht nur gemeint sein. Eine Kategorie Z ohne Satz ist unvollständig, nicht null.

Was die Regel prüft

Die Regel prüft jede cac:TaxCategory zum Nullsatz im Schema VAT in einem Zuschlag, auch in einem Zuschlag innerhalb einer Rechnungsposition. Im Versuch meldete ein Positionszuschlag in Kategorie Z mit 20 diese Regel am cac:AllowanceCharge der Position, neben der Warnung UBL-CR-558.

Der Satz muss als Zahl gleich null sein. Im Versuch meldete der Lieferzuschlag mit 5 und mit 20 jeweils diese Regel, während -0.0 bestand.

Ein fehlender Satz wird nicht als null gelesen; das ist der Fehler im aufgezeichneten Beispiel.

Sonst reagiert nichts auf den fehlenden Satz. Die Regel für den Steuerbasisbetrag zum Nullsatz zählt den Zuschlag allein über seine Kategorie, sodass die fehlerhafte Rechnung nur diese Regel meldet.

BegriffBedeutungUBL-Element
BT-102Code der Umsatzsteuerkategorie des Zuschlags auf Dokumentenebenecac:AllowanceCharge[cbc:ChargeIndicator = true]/cac:TaxCategory/cbc:ID
BT-103Umsatzsteuersatz des Zuschlags auf Dokumentenebenecac:AllowanceCharge[cbc:ChargeIndicator = true]/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:

  • Der Lieferzuschlag wird mit einem Kategoriekennzeichen und ohne Satz angelegt, und der Export schreibt nur die befüllten Felder.
  • Der Serialisierer lässt Elemente mit dem Wert null weg und damit cbc:Percent, sobald der Satz 0 ist.
  • Zuschläge übernehmen ihren Satz aus einem Standardsteuercode, dem Normalsatz, während ihre Kategorie von der Ware kopiert wird.
  • Der Zuschlag wurde vom Normalsatz auf den Nullsatz umgestellt, und sein Satz wurde nicht angepasst.

So korrigieren Sie das Dokument

  1. Finden Sie den Zuschlag über den Befund: Im aufgezeichneten Beispiel ist es cac:AllowanceCharge[1], das erste cac:AllowanceCharge unter der Wurzel.
  2. Bestätigen Sie anhand des Steuercodes des Zuschlags, dass er zum Nullsatz ist.
  3. Schreiben Sie cbc:Percent mit 0 direkt nach cbc:ID in seine cac:TaxCategory, vor cac:TaxScheme.
  4. Lassen Sie den Export den Satz für jede Kategorie schreiben, einen Satz von 0 eingeschlossen, statt Nullwerte zu überspringen.
  5. Ist der Zuschlag tatsächlich besteuert, verschieben Sie ihn in die richtige Kategorie mit dem richtigen Satz und bauen Sie beide Aufschlüsselungen neu auf.

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 Lieferzuschlag steht in Kategorie Z, hat aber keinen Satz

<cac:AllowanceCharge>
  <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
  <cbc:AllowanceChargeReasonCode>DL</cbc:AllowanceChargeReasonCode>
  <cbc:AllowanceChargeReason>Delivery</cbc:AllowanceChargeReason>
  <cbc:Amount currencyID="GBP">4.00</cbc:Amount>
  <cac:TaxCategory>
    <cbc:ID>Z</cbc:ID>
    <cac:TaxScheme>
      <cbc:ID>VAT</cbc:ID>
    </cac:TaxScheme>
  </cac:TaxCategory>
</cac:AllowanceCharge>

Ausschnitt der korrigierten Rechnung: der Lieferzuschlag gibt seinen Satz 0 an

<cac:AllowanceCharge>
  <cbc:ChargeIndicator>true</cbc:ChargeIndicator>
  <cbc:AllowanceChargeReasonCode>DL</cbc:AllowanceChargeReasonCode>
  <cbc:AllowanceChargeReason>Delivery</cbc:AllowanceChargeReason>
  <cbc:Amount currencyID="GBP">4.00</cbc:Amount>
  <cac:TaxCategory>
    <cbc:ID>Z</cbc:ID>
    <cbc:Percent>0</cbc:Percent>
    <cac:TaxScheme>
      <cbc:ID>VAT</cbc:ID>
    </cac:TaxScheme>
  </cac:TaxCategory>
</cac:AllowanceCharge>

Der fehlerhaften Rechnung fehlt cbc:Percent in der cac:TaxCategory des Lieferzuschlags, die korrigierte hat dort 0; sonst unterscheidet sich nichts. Das fehlerhafte Dokument meldet nur BR-Z-07. Die Aufschlüsselung zum Nullsatz über 29.00 stimmt weiterhin, da der Zuschlag über seine Kategorie Z in sie einfließt.

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 für UBL Invoice und CreditNote. Eine aus dem aufgezeichneten Beispiel gebaute Gutschrift meldete im Versuch nur diese Regel.
  • Wird vom Prüfschritt EN 16931 als fataler Befund an der cac:TaxCategory des Zuschlags gemeldet.
  • Nachlässe haben dieselbe Regel in BR-Z-06. Zuschläge zum Normalsatz brauchen nach BR-S-07 einen Satz über null, und ein Zuschlag ganz ohne Kategorie scheitert an BR-37.

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-28.1: Quelle geprüft am 2026-09-28, Erklärung zuletzt aktualisiert am 2026-09-28.

Die offizielle Definition von BR-Z-07 (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.