BR-S-05: Normalsatz-Position mit 0 %
Positionen der Kategorie S (Normalsatz) müssen einen Steuersatz über 0 haben.
- Regelwerk
- EN 16931 (CEN)
- Syntax
- UBL und CII
- Betroffene Felder
- BG-25, BT-151, BT-152
Offizieller Regeltext
In an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Standard rated" the Invoiced item VAT rate (BT-152) shall be greater than zero.
Regeltext aus den Validierungsartefakten zu EN 16931 in Version 1.3.16 (CEN/TC 434, veröffentlicht von ConnectingEurope), Lizenz EUPL 1.2; enthalten in der XRechnung-Validatorkonfiguration 2026-08-31.
Schweregrad
- UBL-Rechnung: Fehler
- UBL-Gutschrift: Fehler
- CII: Fehler
Ein Verstoß führt im Szenario „XRechnung“ des KoSIT-Validators zur Ablehnung der Rechnung.
Typische Ursachen
Steuerfreie oder nullbesteuerte Positionen werden mit Kategorie S und 0 % exportiert.
So behebst du den Fehler
Die passende Kategorie wählen – zum Beispiel E für steuerbefreit, Z für Nullsatz, AE für Reverse Charge – oder den richtigen Satz (19 % bzw. 7 %) eintragen.
Geprüftes Beispiel: falsch und richtig
Die Auszüge stammen aus vollständigen, synthetischen Rechnungen des E-Rechnungs-Testkorpus. Geänderte Zeilen sind hervorgehoben. Beide Dateien werden in den automatischen Tests mit dem KoSIT-Validator geprüft.
Beispiel in UBL
Änderung gegenüber der gültigen Rechnung: Position mit Kategorie S (Normalsatz) und Steuersatz 0 %.
</cac:PaymentTerms>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">75.91</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">399.55</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">75.91</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>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">102.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">0.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>0</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID></cac:PaymentTerms>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="EUR">95.29</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="EUR">501.55</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="EUR">95.29</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>19</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID> <cbc:LineExtensionAmount currencyID="EUR">501.55</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="EUR">501.55</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="EUR">577.46</cbc:TaxInclusiveAmount>
<cbc:PayableAmount currencyID="EUR">577.46</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<cac:InvoiceLine> <cbc:LineExtensionAmount currencyID="EUR">501.55</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="EUR">501.55</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="EUR">596.84</cbc:TaxInclusiveAmount>
<cbc:PayableAmount currencyID="EUR">596.84</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<cac:InvoiceLine><cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>0</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID><cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>19</cbc:Percent>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>Prüfergebnis (KoSIT-Validator 1.6.3, Konfiguration 2026-08-31): falsche Datei abgelehnt, korrigierte Datei angenommen. Meldungen zur falschen Datei:
Vollständige Dateien im Testkorpus: br-s-05-normalsatz-null_ubl.xml (falsch) und standard_ubl.xml (richtig).
Beispiel in CII
Änderung gegenüber der gültigen Rechnung: Position mit Kategorie S (Normalsatz) und Steuersatz 0 %.
<ram:TypeCode>VAT</ram:TypeCode>
<ram:CategoryCode>S</ram:CategoryCode>
<ram:RateApplicablePercent>0</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
<ram:SpecifiedTradeSettlementLineMonetarySummation> <ram:TypeCode>VAT</ram:TypeCode>
<ram:CategoryCode>S</ram:CategoryCode>
<ram:RateApplicablePercent>19</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
<ram:SpecifiedTradeSettlementLineMonetarySummation></ram:SpecifiedTradeSettlementPaymentMeans>
<ram:ApplicableTradeTax>
<ram:CalculatedAmount>75.91</ram:CalculatedAmount>
<ram:TypeCode>VAT</ram:TypeCode>
<ram:BasisAmount>399.55</ram:BasisAmount>
<ram:CategoryCode>S</ram:CategoryCode>
<ram:RateApplicablePercent>19</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
<ram:ApplicableTradeTax>
<ram:CalculatedAmount>0.00</ram:CalculatedAmount>
<ram:TypeCode>VAT</ram:TypeCode>
<ram:BasisAmount>102.00</ram:BasisAmount>
<ram:CategoryCode>S</ram:CategoryCode>
<ram:RateApplicablePercent>0</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
<ram:SpecifiedTradePaymentTerms></ram:SpecifiedTradeSettlementPaymentMeans>
<ram:ApplicableTradeTax>
<ram:CalculatedAmount>95.29</ram:CalculatedAmount>
<ram:TypeCode>VAT</ram:TypeCode>
<ram:BasisAmount>501.55</ram:BasisAmount>
<ram:CategoryCode>S</ram:CategoryCode>
<ram:RateApplicablePercent>19</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
<ram:SpecifiedTradePaymentTerms> <ram:LineTotalAmount>501.55</ram:LineTotalAmount>
<ram:TaxBasisTotalAmount>501.55</ram:TaxBasisTotalAmount>
<ram:TaxTotalAmount currencyID="EUR">75.91</ram:TaxTotalAmount>
<ram:GrandTotalAmount>577.46</ram:GrandTotalAmount>
<ram:DuePayableAmount>577.46</ram:DuePayableAmount>
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>
</ram:ApplicableHeaderTradeSettlement> <ram:LineTotalAmount>501.55</ram:LineTotalAmount>
<ram:TaxBasisTotalAmount>501.55</ram:TaxBasisTotalAmount>
<ram:TaxTotalAmount currencyID="EUR">95.29</ram:TaxTotalAmount>
<ram:GrandTotalAmount>596.84</ram:GrandTotalAmount>
<ram:DuePayableAmount>596.84</ram:DuePayableAmount>
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>
</ram:ApplicableHeaderTradeSettlement>Prüfergebnis (KoSIT-Validator 1.6.3, Konfiguration 2026-08-31): falsche Datei abgelehnt, korrigierte Datei angenommen. Meldungen zur falschen Datei:
Vollständige Dateien im Testkorpus: br-s-05-normalsatz-null_cii.xml (falsch) und standard_cii.xml (richtig).
Testdateien zu BR-S-05
- br-s-05-normalsatz-null_ubl.xml – Position mit Kategorie S (Normalsatz) und Steuersatz 0 %
- br-s-05-normalsatz-null_cii.xml – Position mit Kategorie S (Normalsatz) und Steuersatz 0 %
Technische Details: Kontext und Prüfausdruck aus dem Schematron
CII
Kontext:
//rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode = 'S'][upper-case(ram:TypeCode) = 'VAT']
Prüfausdruck:
ram:RateApplicablePercent > 0
UBL
Kontext:
cac:InvoiceLine/cac:Item/cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'S'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT'] | cac:CreditNoteLine/cac:Item/cac:ClassifiedTaxCategory[normalize-space(cbc:ID) = 'S'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']
Prüfausdruck:
(cbc:Percent) > 0
Technische Formatprüfung nach XRechnung 3.0.2; keine steuerliche oder rechtliche Beratung.