Zum Inhalt springen

Ironfang Finance - Regelreferenz

BR-O-13: Nachlässe auf Dokumentenebene auf einer nicht steuerbaren Rechnung in der Kategorie O halten

Steht die Umsatzsteueraufschlüsselung in der Kategorie O, muss jeder Nachlass auf Dokumentenebene ebenfalls in O stehen; ein Rabatt als S mit 20 wird auf einem solchen Dokument abgewiesen.

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

Auf dieser Seite

Die kurze Antwort

BR-O-13 schlägt fehl, wenn das Dokument eine Umsatzsteueraufschlüsselung für O und einen Nachlass hat, also ein cac:AllowanceCharge mit cbc:ChargeIndicator false, dessen cac:TaxCategory im Schema VAT in einer anderen Kategorie steht. In der aufgezeichneten Rechnung ist der Loyalty discount über 5.00 als S mit 20 kodiert, während Position und Aufschlüsselung in O stehen. Setzen Sie den Nachlass zurück auf O, ohne Satz, und ziehen Sie ihn im Steuerbasisbetrag für O ab.

Ein Rabatt übernimmt die umsatzsteuerliche Behandlung dessen, was er mindert. Auf einer Rechnung, auf der alles nicht steuerbar ist, würde ein Rabatt zum Normalsatz Umsatzsteuer mindern, die nie berechnet wurde.

Was die Regel prüft

Nachdem sie eine Aufschlüsselung für O gefunden hat, zählt die Regel cac:TaxCategory-Elemente im Schema VAT mit einer anderen cbc:ID als O innerhalb von Nachlässen, wo immer diese Nachlässe stehen, und verlangt, dass die Zahl null ist. BR-O-11 sieht diesen Fall nicht, weil keine zweite Aufschlüsselung existiert.

Die Suche reicht unter die Wurzel. Im Versuch meldete ein Nachlass über 0.00 innerhalb der Position in O, mit einer cac:TaxCategory S mit 20, diese Regel mit BR-S-01, BR-S-03 und der Warnung UBL-CR-558, die von einer Steuerkategorie in einem Positionsnachlass abrät.

Jede andere Kategorie wird erfasst. Mit dem Rabatt stattdessen als E mit 0 kodiert lauteten die Befunde diese Regel, BR-E-01 und BR-E-03; als Z mit 0 diese Regel, BR-Z-01 und BR-Z-03.

Dem Rabatt zum Normalsatz eine eigene Aufschlüsselung zu geben ändert nur die Gesellschaft, in der diese Regel auftritt: Im Versuch ersetzte eine Aufschlüsselung für S über -5.00 den Befund BR-S-01 durch BR-O-11, und diese Regel sowie BR-S-03 blieben.

BegriffBedeutungUBL-Element
BG-20Nachlässe auf Dokumentenebenecac:AllowanceCharge[cbc:ChargeIndicator = false]
BT-95Code der Umsatzsteuerkategorie des Nachlasses auf Dokumentenebenecac:AllowanceCharge[cbc:ChargeIndicator = false]/cac:TaxCategory/cbc:ID
BT-118Code der Umsatzsteuerkategoriecac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:ID

Wie es in einer Integration dazu kommt

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

  • Rabatte werden aus einer Vorlage mit dem Normalsatz erzeugt, gleich welche Kategorie die Rechnung hat, der sie hinzugefügt werden.
  • Der Rabatt übernimmt seine Kategorie aus dem Standardsteuercode des Verkäufers statt aus den Positionen, die er mindert.
  • Eine Aktionslogik außerhalb des Rechnungssystems fügt den Nachlass mit ihren eigenen Steuereinstellungen hinzu.

So korrigieren Sie das Dokument

  1. Ermitteln Sie, welche Positionen der Nachlass mindert. Stehen sie alle in O, gehört auch der Nachlass in O.
  2. Ändern Sie die cac:TaxCategory/cbc:ID des Nachlasses auf O und löschen Sie sein cbc:Percent, wie BR-O-06 es verlangt.
  3. Ziehen Sie den Nachlass in der Aufschlüsselung für O ab: Im aufgezeichneten Beispiel geht der Steuerbasisbetrag für O von 25.00 auf 20.00, im Einklang mit den Summen, die den Rabatt bereits abziehen.
  4. Bezieht sich der Nachlass tatsächlich auf steuerpflichtige Leistungen, gehören diese Leistungen und der Nachlass auf eine eigene Rechnung mit eigener Aufschlüsselung.

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: ein Treuerabatt zum Normalsatz auf einem Dokument, dessen einzige Aufschlüsselung O ist

<cac:AllowanceCharge>
  <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
  <cbc:AllowanceChargeReasonCode>95</cbc:AllowanceChargeReasonCode>
  <cbc:AllowanceChargeReason>Loyalty discount</cbc:AllowanceChargeReason>
  <cbc:Amount currencyID="GBP">5.00</cbc:Amount>
  <cac:TaxCategory>
    <cbc:ID>S</cbc:ID>
    <cbc:Percent>20</cbc:Percent>
    <cac:TaxScheme>
      <cbc:ID>VAT</cbc:ID>
    </cac:TaxScheme>
  </cac:TaxCategory>
</cac:AllowanceCharge>
<cac:TaxTotal>
  <cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
  <cac:TaxSubtotal>
    <cbc:TaxableAmount currencyID="GBP">25.00</cbc:TaxableAmount>
    <cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
    <cac:TaxCategory>
      <cbc:ID>O</cbc:ID>
      <!-- reason code and text omitted from this fragment -->
      <cac:TaxScheme>
        <cbc:ID>VAT</cbc:ID>
      </cac:TaxScheme>
    </cac:TaxCategory>
  </cac:TaxSubtotal>
</cac:TaxTotal>

Ausschnitt der korrigierten Rechnung: Der Rabatt steht in O und wird in der Aufschlüsselung für O abgezogen

<cac:AllowanceCharge>
  <cbc:ChargeIndicator>false</cbc:ChargeIndicator>
  <cbc:AllowanceChargeReasonCode>95</cbc:AllowanceChargeReasonCode>
  <cbc:AllowanceChargeReason>Loyalty discount</cbc:AllowanceChargeReason>
  <cbc:Amount currencyID="GBP">5.00</cbc:Amount>
  <cac:TaxCategory>
    <cbc:ID>O</cbc:ID>
    <cac:TaxScheme>
      <cbc:ID>VAT</cbc:ID>
    </cac:TaxScheme>
  </cac:TaxCategory>
</cac:AllowanceCharge>
<cac:TaxTotal>
  <cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
  <cac:TaxSubtotal>
    <cbc:TaxableAmount currencyID="GBP">20.00</cbc:TaxableAmount>
    <cbc:TaxAmount currencyID="GBP">0.00</cbc:TaxAmount>
    <cac:TaxCategory>
      <cbc:ID>O</cbc:ID>
      <!-- reason code and text omitted from this fragment -->
      <cac:TaxScheme>
        <cbc:ID>VAT</cbc:ID>
      </cac:TaxScheme>
    </cac:TaxCategory>
  </cac:TaxSubtotal>
</cac:TaxTotal>

In der fehlerhaften Rechnung hat der Loyalty discount die cbc:ID S und das cbc:Percent 20, und der Steuerbasisbetrag für O ist 25.00, die Position ohne den Rabatt; die korrigierte Rechnung kodiert den Rabatt als O ohne Satz und zieht ihn ab, was 20.00 ergibt. Die fehlerhafte Aufschlüsselung wurde auf 25.00 gesetzt, damit sie zu ihrem eigenen Inhalt in O passt und BR-O-08 still bleibt; mit dem allein umkodierten Rabatt kam diese Regel im Versuch zu den Befunden hinzu. Das fehlerhafte Dokument meldet außerdem BR-S-01, da der Nachlass zum Normalsatz keine Aufschlüsselung zum Normalsatz hat, und BR-S-03, da ein Nachlass zum Normalsatz eine Umsatzsteuer-Identifikationsnummer des Verkäufers, eine Steuernummer oder einen Steuervertreter braucht.

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; die Gutschriftfassung der fehlerhaften Rechnung meldete im Versuch dieselben drei Befunde.
  • Positionen und Zuschläge haben die passenden Regeln BR-O-12 und BR-O-14. Nur eine Aufschlüsselung für O schaltet die drei ein; ein Nachlass in O auf einem Dokument ohne Aufschlüsselung für O ist eine Sache für BR-O-01.

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-O-13 (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.