Zum Inhalt springen

BR-S-09: Steuerbetrag der Kategorie S (BT-117) passt nicht zu Basis und Steuersatz

Offizielle Meldung

[BR-S-09] The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where VAT category code (BT-118) is "Standard rated" shall equal the VAT category taxable amount (BT-116) multiplied by the VAT category rate (BT-119).

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

[BR-S-09] The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where VAT category code (BT-118) is "Standard rated" shall equal the VAT category taxable amount (BT-116) multiplied by the VAT category rate (BT-119).

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

[BR-S-09] The VAT category tax amount (BT-117) in a VAT breakdown (BG-23) where VAT category code (BT-118) is "Standard rated" shall equal the VAT category taxable amount (BT-116) multiplied by the VAT category rate (BT-119).

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
BT-117, BG-23, BT-118, BT-116, BT-119

Was bedeutet das?

In einer Aufschlüsselung (BG-23) mit der Kategorie S (Standard rated, steuerpflichtig mit Steuersatz über 0) muss der Steuerbetrag (VAT category tax amount, BT-117) gleich dem Basisbetrag (BT-116) multipliziert mit dem Steuersatz (BT-119) sein: BT-117 = BT-116 × BT-119 / 100. Der Betrag weicht davon ab.
Die offizielle Prüfung vergleicht in CII und UBL die Beträge ohne Vorzeichen und lässt eine Abweichung von weniger als einer Währungseinheit zu.

Typische Ursachen

Der Steuerbetrag wurde mit einem anderen Satz berechnet als dem in BT-119 angegebenen.
Der Basisbetrag (BT-116) wurde geändert, ohne den Steuerbetrag neu zu berechnen.
Beim Berechnen wurde das Komma verschoben, z. B. Satz 1,9 statt 19.

So beheben Sie den Fehler

BT-117 je Aufschlüsselung als BT-116 × BT-119 / 100 berechnen und auf zwei Nachkommastellen runden.
Danach den Gesamtbetrag der Umsatzsteuer (BT-110) neu bilden (BR-CO-14).
CII: ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:CalculatedAmount, UBL: cac:TaxTotal/cac:TaxSubtotal/cbc:TaxAmount.

In E-Rechnungsfreund

Im Rechnungsformular wird der Steuerbetrag je Steuerkategorie (BT-117) beim Erzeugen der XML aus Nettobetrag und Steuersatz berechnet und auf zwei Nachkommastellen gerundet; der Wert im Feld „Steuerbetrag (BT-117)“ im Abschnitt „Steueraufstellung (BG-23)“ wird dafür nicht übernommen. Die Rechnung erneut erzeugen und prüfen.

Beispiel

Fehlerhaft

<ram:ApplicableTradeTax>
  <ram:CalculatedAmount>19.00</ram:CalculatedAmount>
  <ram:TypeCode>VAT</ram:TypeCode>
  <ram:BasisAmount>1000.00</ram:BasisAmount>
  <ram:CategoryCode>S</ram:CategoryCode>
  <ram:RateApplicablePercent>19.00</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>

Richtig

<ram:ApplicableTradeTax>
  <ram:CalculatedAmount>190.00</ram:CalculatedAmount>
  <ram:TypeCode>VAT</ram:TypeCode>
  <ram:BasisAmount>1000.00</ram:BasisAmount>
  <ram:CategoryCode>S</ram:CategoryCode>
  <ram:RateApplicablePercent>19.00</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
Für Entwickler: Prüfausdruck je Syntax

EN 16931 (CII) (CII)

Kontext: //ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode[.='S']

(abs(xs:decimal(../ram:CalculatedAmount)) - 1 < round(abs(xs:decimal(../ram:BasisAmount)) * ../ram:RateApplicablePercent) div 100 ) and (abs(xs:decimal(../ram:CalculatedAmount)) + 1 > round(abs(xs:decimal(../ram:BasisAmount)) * ../ram:RateApplicablePercent) div 100 )

EN 16931 (UBL) (UBL)

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

(abs(xs:decimal(../cbc:TaxAmount)) - 1 < round((abs(xs:decimal(../cbc:TaxableAmount)) * (xs:decimal(cbc:Percent) div 100)) * 10 * 10) div 100 ) and (abs(xs:decimal(../cbc:TaxAmount)) + 1 > round((abs(xs:decimal(../cbc:TaxableAmount)) * (xs:decimal(cbc:Percent) div 100)) * 10 * 10) div 100 )

Factur-X / ZUGFeRD EN 16931 (CII)

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

Kontext: //ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode[.='S']

(abs(xs:decimal(../ram:CalculatedAmount)) - 1 < round(abs(xs:decimal(../ram:BasisAmount)) * ../ram:RateApplicablePercent) div 100 ) and (abs(xs:decimal(../ram:CalculatedAmount)) + 1 > round(abs(xs:decimal(../ram:BasisAmount)) * ../ram:RateApplicablePercent) div 100 )

Verwandte Prüfregeln

  • BR-S-01: Umsatzsteueraufschlüsselung der Kategorie S fehlt
  • BR-S-02: USt-IdNr. oder Steuernummer des Verkäufers fehlt bei einer Position der Kategorie S
  • BR-S-03: USt-IdNr. oder Steuernummer des Verkäufers fehlt bei einem Abschlag der Kategorie S
  • BR-S-04: USt-IdNr. oder Steuernummer des Verkäufers fehlt bei einem Zuschlag der Kategorie S
  • BR-S-05: Steuersatz einer Position der Kategorie S ist nicht größer als 0
  • BR-S-06: Steuersatz eines Abschlags der Kategorie S ist nicht größer als 0

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