robin.vision Termin

SmartFormular

Werkzeuge › SmartFormular E-Rechnung lite › Prüfregeln › BR-O-01

BR-O-01

Positionen, Nachlässe oder Zuschläge nutzen die Steuerkategorie „nicht steuerbar“ (O), die Steueraufschlüsselung (BG-23) führt sie aber …

Prüfregel der EN 16931 (CEN, Prüfregeln 1.3.16) · Stufe: Fehler

Was die Meldung bedeutet

Positionen, Nachlässe oder Zuschläge nutzen die Steuerkategorie „nicht steuerbar“ (O), die Steueraufschlüsselung (BG-23) führt sie aber nicht richtig.

Was der Rechnungssteller ändern muss

In der Steueraufschlüsselung eine Zeile für O angeben (genau eine).

Betroffene Felder

Ihre Rechnung meldet BR-O-01? Prüfen Sie sie mit SmartFormular E-Rechnung lite, kostenlos testen bis 31.12.2026: Das Werkzeug zeigt alle Befunde mit Erklärung, die Rechnung lesbar und einen GiroCode zum Bezahlen – im Browser, ohne Upload.

E-Rechnung prüfen

Herkunft

Regelwerk
EN 16931 (CEN, Prüfregeln 1.3.16)
Syntax
CII, UBL
Stufe
Fehler

Originaltext der Regel

An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is "Not subject to VAT" shall contain exactly one VAT breakdown group (BG-23) with the VAT category code (BT-118) equal to "Not subject to VAT".

Quelle: CEN/TC 434, Prüfregeln der EN 16931 1.3.16, European Union Public Licence 1.2

Technische Angaben für die IT

UBL

Kontext: /ubl:Invoice | /cn:CreditNote
Test: not(((exists(//cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'O']) or exists(//cac:ClassifiedTaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'O'])) and (count(cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'O']) = 1)) or (not(//cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'O']) and not(//cac:ClassifiedTaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID[normalize-space(.) = 'O'])))

CII

Kontext: /rsm:CrossIndustryInvoice
Test: not(not(//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='O']) or (      count(//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='O'])=1 and      (exists(//ram:SpecifiedLineTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='O']) or     exists(//ram:CategoryTradeTax[ram:CategoryCode='O']))))

Verwandte Regeln

Alle Prüfregeln

Technische Erklärung von robin.vision, keine Steuer- oder Rechtsberatung. Stand der Prüfregeln: 31.08.2026 (Konfiguration des KoSIT-Prüfprogramms).