VERAX-CHECK
Business RuleBR-FXEXT-O-1

Kategorie O steht nur auf einer Seite der Rechnung

Info

Erklärung/Beschreibung
Die Steuerkategorie O (Nicht steuerbar) steht in der Rechnung nur auf einer Seite: entweder tragen Posten diese Kategorie, ohne dass die Umsatzsteueraufschlüsselung sie führt - oder die Aufschlüsselung führt sie, und kein einziger Posten der Rechnung trägt sie.
Was bedeutet das?
Einsteiger
In Ihrer Rechnung wird die Steuerkategorie O verwendet - aber nur an einer Stelle.

Jede Steuerart, die bei einer Position, einem Nachlass oder einem Zuschlag steht, muss auch in der Steuerübersicht am Ende der Rechnung auftauchen. Und umgekehrt: Jede Steuerart, die in der Steuerübersicht steht, muss bei mindestens einem Posten der Rechnung vorkommen.

Was zu tun ist:
Sehen Sie nach, welche Steuerarten Ihre Positionen tragen, und vergleichen Sie sie mit den Zeilen der Steuerübersicht. Fehlt dort eine, ergänzen Sie sie. Steht dort eine Steuerart, die kein Posten trägt, gehört sie gelöscht - oder es fehlt die passende Position.

Um Beträge geht es hier nicht - nur darum, dass beide Seiten dieselben Steuerarten kennen.
Fachkraft
Geprüft wird die Kategorie O auf beiden Seiten der Rechnung:

- Aufschlüsselung: BT-118 in BG-23
- Position: BT-151 (nur reguläre Positionen, Untertyp DETAIL oder ohne Angabe)
- Nachlass auf Dokumentenebene: BT-95 (BG-20)
- Zuschlag auf Dokumentenebene: BT-102 (BG-21)
- Logistikgebühr: die Kategorie der Gebühr

Zulässig sind genau zwei Zustände: die Kategorie kommt nirgends vor, oder sie kommt in der Aufschlüsselung UND bei mindestens einem Posten vor.

So gehen Sie vor:
1. Listen Sie alle Posten mit Kategorie O auf. Gibt es welche, muss BG-23 eine Zeile mit BT-118 = O führen.
2. Prüfen Sie den umgekehrten Weg auf Kategorieebene: Führt die Aufschlüsselung O, muss irgendwo in der Rechnung mindestens ein Posten diese Kategorie tragen. Ob jede einzelne Zeile der Aufschlüsselung eigene Posten hat, prüft diese Regel NICHT.
3. Beachten Sie die Positionsart: Positionen mit einem anderen Untertyp als DETAIL zählen auf der Positionsseite nicht mit.

Diese Regel sagt nichts über Beträge. Ob die Summen stimmen, prüfen die Regeln der 08er-Familie.
Entwickler
Schematron-Assert BR-FXEXT-O-01.
Kontext: /rsm:CrossIndustryInvoice - die Regel arbeitet auf dem ganzen Dokument, nicht auf einem einzelnen Knoten.

⭐ Kein flag-Attribut am Assert - anders als bei den 08ini- und 08rev-Regeln, die flag="warning" tragen.

Der Test ist ODER-verknüpft:

(count(//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='O'])=0
and count(//ram:SpecifiedLineTradeSettlement[DETAIL oder ohne]/ram:ApplicableTradeTax[ram:CategoryCode='O'])=0
and count(//ram:CategoryTradeTax[ram:CategoryCode='O'])=0
and count(//ram:AppliedTradeTax[ram:CategoryCode='O'])=0)
or
(count(//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax[ram:CategoryCode='O'])>=1
and (exists(Position) or exists(ram:CategoryTradeTax) or exists(ram:AppliedTradeTax)))

🔴 Der Meldungstext beschreibt nur den ersten Weg (Posten ohne Aufschlüsselung). Der zweite Zweig verlangt zusätzlich, dass zu einer vorhandenen Aufschlüsselung mindestens ein Posten existiert.
⚠️ Beides sind count()- und exists()-Prüfungen über das ganze Dokument - KEINE Zuordnung Zeile für Zeile. Mehrere Aufschlüsselungen mit O und ein einziger Posten mit O erfüllen die Regel bereits.
Gemessen am 23.08.2026 auf PROD mit X15_04_verwaiste_aufschluesselung.xml: drei Aufschlüsselungen der Kategorie E, eine davon ohne eigene Posten (Basis 0,00, eigener Befreiungsgrund) - Ergebnis valide, kein Treffer dieser Regel, nur drei 08ini-Warnungen.
Der Kundentext ist gegen den Testausdruck geschrieben, nicht gegen die Meldung.

ram:CategoryTradeTax deckt Nachlässe und Zuschläge auf Dokumentenebene ab, ram:AppliedTradeTax die Logistikgebühren.

Abgrenzung: Diese Regel ersetzt die alte Kern-Regel BR-O-1 der EN 16931 (MASSNAHMEN_2.5.2, Gruppe A). Sie prüft Vorhandensein, nicht Beträge - dafür sind die 08er-Regeln zuständig.
Tipp/Lösung
Vergleichen Sie die Steuerarten Ihrer Positionen, Nachlässe und Zuschläge mit den Zeilen der Umsatzsteueraufschlüsselung - jede muss auf beiden Seiten stehen.
Prüfschritte
  • Kategorie O muss in BG-23 (BT-118) und bei mindestens einem Posten stehen - oder nirgends
  • Auch der umgekehrte Fall reißt: die Aufschlüsselung führt O, aber kein Posten der Rechnung trägt diese Kategorie
  • Eine überzählige Zeile in der Steuerübersicht löst diese Regel nicht aus, solange irgendein Posten dieselbe Kategorie trägt - das fangen die Regeln der 08er-Familie
  • Positionen mit einem anderen Untertyp als DETAIL zählen auf der Positionsseite nicht mit
  • Nachlässe (BT-95), Zuschläge (BT-102) und Logistikgebühren zählen wie Positionen
  • Um Beträge geht es hier nicht - das prüfen die Regeln der 08er-Familie
  • Betrifft die Steuerkategorie O - nur ZUGFeRD und Factur-X im Profil EXTENDED
Stammdaten
IDBR-FXEXT-O-1 (BR-FXEXT-O-01)
BezeichnungKategorie O steht nur auf einer Seite der Rechnung
BereichFactur-X
CodelisteUN/CEFACT UNCL 5305 USt-Kategorien
QuelleFactur-X 1.09.2 EXTENDED
BR-Gruppefacturx
Fehler BR-FXEXT-O-1? Lade deine Rechnung hoch und finde die Lösung – Jetzt prüfen

Profile

Gültig für Profile
ZUGFeRD / Factur-X Extended
Hinweis
ZUGFeRD 2.x und Factur-X sind technisch identisch und nutzen dieselbe Datenstruktur (CII nach EN 16931).

Verwandte Regeln