BG-23VAT breakdownBT-116VAT category taxable amountBT-117VAT category tax amountBT-118VAT category codeBT-119VAT category rate
Offizieller Regeltext
[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).
Der normative Text ist Englisch und wird unverändert zitiert.
Warum dieser Fehler auftritt
In einer Aufschlüsselung zum Regelsteuersatz (Kategorie S) muss der Steuerbetrag (BT-117) der Bemessungsgrundlage (BT-116) mal Steuersatz (BT-119) entsprechen; das Schematron erlaubt eine Abweichung unter 1.00 für positionsweise Rundung. Die Regel liest cac:TaxSubtotal/cbc:TaxAmount, cbc:TaxableAmount und cac:TaxCategory/cbc:Percent (UBL) bzw. ram:CalculatedAmount, ram:BasisAmount und ram:RateApplicablePercent (CII). Sie schlägt fehl, wenn der Satz als 0.19 angegeben ist, die Steuer auf einer anderen Basis als der geschriebenen berechnet wurde oder der Betrag mit abweichender Rundung aus einem PDF übernommen wurde.
So beheben Sie den Fehler
Formel: BT-117 = round(BT-116 x BT-119 / 100, 2), mit dem Satz als Prozentzahl (19, 7). Die Steuer aus dem exakt in die XML geschriebenen cbc:TaxableAmount / ram:BasisAmount berechnen. Rechnet Ihr System die Umsatzsteuer je Position und summiert, liegt das Ergebnis in der Toleranz, die Summen müssen aber weiterhin zu BR-CO-14 und BR-CO-15 passen. Je Satz ein Subtotal führen.
Beispiel (gültig)
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">100.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">19.00</cbc:TaxAmount>
<cac:TaxCategory><cbc:ID>S</cbc:ID><cbc:Percent>19</cbc:Percent><cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme></cac:TaxCategory>
</cac:TaxSubtotal>
Was der Validator prüft
Geprüftes Element (Kontext):
UBL
/*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'S'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']Test (XPath):
(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 )CII
//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax/ram:CategoryCode[.='S']Test (XPath):
(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 )
Rechnung prüfen
Legen Sie Ihre XML- oder PDF-Datei im Validator ab; jede verletzte Regel ist mit ihrer Seite hier verlinkt. Kostenlos, ohne Konto, die Datei wird nicht gespeichert.
Dieselbe Prüfung per API:
curl -F file=@invoice.xml https://einvoicechecker.com/v1/validateVerwandte Regeln
BR-AF-09The VAT category tax amount in a VAT breakdown where VAT category code is "IGIC" shall…BR-AG-09The VAT category tax amount in a VAT breakdown where VAT category code is "IPSI" shall…BR-S-08Bemessungsgrundlage Regelsatz (BT-116) passt nicht zu den PositionenBR-AF-08For each different value of VAT category rate where the VAT category code is "IGIC",…BR-AG-08For each different value of VAT category rate where the VAT category code is "IPSI",…BR-AE-08In a VAT breakdown where the VAT category code is "Reverse charge" the VAT category…BR-AE-09The VAT category tax amount in a VAT breakdown where the VAT category code is "Reverse…BR-CO-17Steuerbetrag je Kategorie (BT-117) entspricht nicht Basis mal Satz
Häufige Fragen
Was bedeutet BR-S-09?
BR-S-09 ist eine EN-16931-Kernregel: 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).
Wird meine Rechnung wegen BR-S-09 abgelehnt?
Ja. BR-S-09 ist als „fatal“ eingestuft; Validatoren (KoSIT, Peppol Access Points, ZRE/OZG-RE) weisen die Rechnung zurück, bis der Fehler behoben ist.
Für welche Formate gilt BR-S-09?
Jede EN-16931-Rechnung: XRechnung, ZUGFeRD 2.x / Factur-X (Profile EN 16931, EXTENDED, XRECHNUNG), Peppol BIS Billing 3.0 sowie nationale CIUS. Syntax: UBL und CII.
Quelle: EN 16931-1:2017 schematron (CEN TC434, via Peppol BIS 3.0.20). Katalog erzeugt aus dem offiziellen Schematron am 2026-10-14.