Zum Inhalt springen

BR-O-08: Basisbetrag der Kategorie O (BT-116) passt nicht zu Positionen und Zu-/Abschlägen

Offizielle Meldung

[BR-O-08] In a VAT breakdown (BG-23) where the VAT category code (BT-118) is " Not subject to VAT" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amounts (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are "Not subject to VAT".

EN 16931 (CII) · Fehler · Sprache der Meldung: Englisch · Stand: xrechnung-3.0.2-validator-configuration-2026-08-31

[BR-O-08] In a VAT breakdown (BG-23) where the VAT category code (BT-118) is " Not subject to VAT" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amounts (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are "Not subject to VAT".

EN 16931 (UBL) · Fehler · Sprache der Meldung: Englisch · Stand: xrechnung-3.0.2-validator-configuration-2026-08-31

[BR-O-08] In a VAT breakdown (BG-23) where the VAT category code (BT-118) is " Not subject to VAT" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amounts (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are "Not subject to VAT".

Factur-X / ZUGFeRD EN 16931 · Fehler · Sprache der Meldung: Englisch · Stand: Factur-X 1.08 / ZUGFeRD 2.4
Schweregrad
Fehler Die Rechnung gilt als ungültig und kann vom Empfänger abgelehnt werden.
Gilt für
EN 16931 (CII), EN 16931 (UBL), Factur-X / ZUGFeRD EN 16931
Betroffene Felder
BG-23, BT-118, BT-116, BT-131, BT-92, BT-99, BT-151, BT-95, BT-102

Was bedeutet das?

In einer Aufschlüsselung (BG-23) mit der Kategorie O (Not subject to VAT, nicht steuerbar, außerhalb des Anwendungsbereichs der Umsatzsteuer) muss der Steuerbasisbetrag (VAT category taxable amount, BT-116) gleich der Summe der Nettobeträge der Positionen (BT-131) abzüglich der Abschläge (BT-92) und zuzüglich der Zuschläge (BT-99) auf Dokumentenebene mit der Kategorie O sein. Der Betrag weicht davon ab.
Die Summen werden über alle Einträge der Kategorie O gebildet. CII und UBL verlangen, dass der Betrag genau stimmt; CII rundet die drei Summen vorher je auf zwei Nachkommastellen.

Typische Ursachen

Der Basisbetrag wurde von Hand eingetragen oder nach einer Änderung der Positionen nicht neu berechnet.
Ein Zu- oder Abschlag auf Dokumentenebene der Kategorie O wurde nicht oder mit falschem Vorzeichen berücksichtigt.
Die Positionen der Kategorie O sind auf mehrere Aufschlüsselungen verteilt (z. B. mit und ohne Steuersatz); jede enthält nur einen Teil der Summe (siehe auch BR-O-01).

So beheben Sie den Fehler

BT-116 je Kategorie neu berechnen: Summe BT-131 der Positionen + Summe BT-99 der Zuschläge − Summe BT-92 der Abschläge, jeweils nur Einträge mit der Kategorie O, auf zwei Nachkommastellen gerundet.
CII: ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:BasisAmount, UBL: cac:TaxTotal/cac:TaxSubtotal/cbc:TaxableAmount.
Die Rechnung erneut erzeugen und prüfen.

In E-Rechnungsfreund

Im Rechnungsformular wird der Nettobetrag je Steuerkategorie und Steuersatz (BT-116) beim Erzeugen der XML aus den Rechnungspositionen und den Zu-/Abschlägen berechnet und auf zwei Nachkommastellen gerundet; der Wert im Feld „Nettobetrag (BT-116)“ im Abschnitt „Steueraufstellung (BG-23)“ wird dafür nicht übernommen. Beträge von Zu-/Abschlägen mit höchstens zwei Nachkommastellen erfassen.
Bei allen Positionen und Zu-/Abschlägen der Kategorie O die Felder „Steuersatz % (BT-152)“ und „St-Satz %“ (Ansicht „Experte“) leer lassen, damit nur eine Aufschlüsselung entsteht.

Beispiel

Fehlerhaft

<!-- Positionen O: 600.00 + 400.00, Abschlag O: 50.00 -->
<ram:ApplicableTradeTax>
  <ram:CalculatedAmount>0.00</ram:CalculatedAmount>
  <ram:TypeCode>VAT</ram:TypeCode>
  <ram:BasisAmount>1000.00</ram:BasisAmount>
  <ram:CategoryCode>O</ram:CategoryCode>
  <ram:ExemptionReasonCode>VATEX-EU-O</ram:ExemptionReasonCode>
</ram:ApplicableTradeTax>

Richtig

<!-- Positionen O: 600.00 + 400.00, Abschlag O: 50.00 -->
<ram:ApplicableTradeTax>
  <ram:CalculatedAmount>0.00</ram:CalculatedAmount>
  <ram:TypeCode>VAT</ram:TypeCode>
  <ram:BasisAmount>950.00</ram:BasisAmount>
  <ram:CategoryCode>O</ram:CategoryCode>
  <ram:ExemptionReasonCode>VATEX-EU-O</ram:ExemptionReasonCode>
</ram:ApplicableTradeTax>
Für Entwickler: Prüfausdruck je Syntax

EN 16931 (CII) (CII)

Kontext: //rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode = 'O'][upper-case(ram:TypeCode) = 'VAT']

ram:BasisAmount = (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement[ram:ApplicableTradeTax/ram:CategoryCode = 'O']/ram:SpecifiedTradeSettlementLineMonetarySummation/xs:decimal(ram:LineTotalAmount))*10*10)div 100) + (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[(ram:ChargeIndicator/udt:Indicator cast as xs:boolean)=true() and ram:CategoryTradeTax/ram:CategoryCode='O']/xs:decimal(ram:ActualAmount[1]))*10*10)div 100) - (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[(ram:ChargeIndicator/udt:Indicator cast as xs:boolean)=false() and ram:CategoryTradeTax/ram:CategoryCode='O']/xs:decimal(ram:ActualAmount[1]))*10*10)div 100)

EN 16931 (UBL) (UBL)

Kontext: /*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'O'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']

(exists(//cac:InvoiceLine) and (xs:decimal(../cbc:TaxableAmount) = (sum(../../../cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='O']/xs:decimal(cbc:LineExtensionAmount)) + sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='O']/xs:decimal(cbc:Amount)) - sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='O']/xs:decimal(cbc:Amount))))) or (exists(//cac:CreditNoteLine) and (xs:decimal(../cbc:TaxableAmount) = (sum(../../../cac:CreditNoteLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='O']/xs:decimal(cbc:LineExtensionAmount)) + sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='O']/xs:decimal(cbc:Amount)) - sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='O']/xs:decimal(cbc:Amount)))))

Factur-X / ZUGFeRD EN 16931 (CII)

Technische ID in der Quelle: FX-SCH-A-000233

Kontext: //rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode = 'O']

ram:BasisAmount = (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement[ram:ApplicableTradeTax/ram:CategoryCode = 'O']/ram:SpecifiedTradeSettlementLineMonetarySummation/xs:decimal(ram:LineTotalAmount))*10*10)div 100) + (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[(ram:ChargeIndicator/udt:Indicator cast as xs:boolean)=true() and ram:CategoryTradeTax/ram:CategoryCode='O']/xs:decimal(ram:ActualAmount))*10*10)div 100) - (round(sum(/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeSettlement/ram:SpecifiedTradeAllowanceCharge[(ram:ChargeIndicator/udt:Indicator cast as xs:boolean)=false() and ram:CategoryTradeTax/ram:CategoryCode='O']/xs:decimal(ram:ActualAmount))*10*10)div 100)

Verwandte Prüfregeln

  • BR-O-01: Nicht genau eine Umsatzsteueraufschlüsselung der Kategorie O
  • BR-O-02: USt-IdNr. nicht erlaubt bei einer Position der Kategorie O
  • BR-O-03: USt-IdNr. nicht erlaubt bei einem Abschlag der Kategorie O
  • BR-O-04: USt-IdNr. nicht erlaubt bei einem Zuschlag der Kategorie O
  • BR-O-05: Steuersatz einer Position der Kategorie O nicht erlaubt
  • BR-O-06: Steuersatz eines Abschlags der Kategorie O nicht erlaubt

Zuletzt aktualisiert:
Erläuterung der Prüfregel, keine Rechts- oder Steuerberatung.