BR-47: Steueraufschlüsselung ohne Kategorie-Code
Jede Zeile der Umsatzsteuer-Aufschlüsselung (BG-23) muss über einen Kategorie-Code (BT-118) definiert sein, etwa S für Standardsatz oder AE für Reverse Charge.
Each VAT breakdown (BG-23) shall be defined through a VAT category code (BT-118).
Der Kategorie-Code ist das Sortiermerkmal der gesamten Steueraufschlüsselung: Er sagt, nach welcher steuerlichen Behandlung eine Zeile gruppiert ist. Ohne ihn weiß der Empfänger nicht, ob er es mit Regelbesteuerung, Befreiung oder Reverse Charge zu tun hat.
Was die Regel prüft
Jede Zeile der Umsatzsteuer-Aufschlüsselung (BG-23, BG = Business Group, eine Feldgruppe der Norm) muss einen Kategorie-Code (BT-118, BT = Business Term) aus der Codeliste UNTDID 5305 tragen. Die für deutsche Rechnungen relevanten Werte:
- S: Standardsatz (19 % oder 7 %, der Normalfall)
- E: steuerbefreit
- AE: Umkehrung der Steuerschuldnerschaft (§ 13b UStG, typisch bei Bauleistungen)
- K: innergemeinschaftliche Lieferung
- G: Ausfuhr in ein Drittland
- Z: echter Nullsatz (in Deutschland selten)
- O: nicht steuerbar
In CII-Syntax steht der Code in ram:CategoryCode innerhalb von ram:ApplicableTradeTax.
Warum sie in der Praxis fehlschlägt
Erster Auslöser: Die Software kennt nur Steuersätze, keine Kategorien. Sie schreibt 19.00 in den Satz, lässt den Code aber weg, weil das interne Datenmodell keinen hat. Für die EN 16931 ist der Satz allein nicht aussagekräftig, denn 0 % kann E, AE, K, G, Z oder O bedeuten.
Zweiter Auslöser: Der Code steht auf Positionsebene (BT-151), aber die daraus aufsummierte Dokumenten-Aufschlüsselung übernimmt ihn nicht. Beide Ebenen brauchen den Code, sonst meldet der Validator zusätzlich BR-CO-04.
So behebst du den Fehler
Ergänze in jeder Aufschlüsselungszeile den passenden Code. Für normale Inlandsrechnungen mit 19 % oder 7 % ist das immer S. Bei 0 % musst du inhaltlich entscheiden, welcher Sonderfall vorliegt, und dann auch die Folgeregeln der jeweiligen Serie beachten (BR-AE-, BR-E- usw.). Belegschmied leitet den Kategorie-Code automatisch aus der gewählten Steuerbehandlung ab.
XML-Beispiel: vorher und nachher
Die Aufschlüsselung hat Beträge und Satz, aber keinen Kategorie-Code:
<!-- verletzt BR-47: ApplicableTradeTax ohne CategoryCode -->
<ram:ApplicableTradeTax>
<ram:CalculatedAmount>190.00</ram:CalculatedAmount>
<ram:TypeCode>VAT</ram:TypeCode>
<ram:BasisAmount>1000.00</ram:BasisAmount>
<ram:RateApplicablePercent>19.00</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
Korrigiert mit Kategorie-Code (BT-118):
<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>
Rechnung selbst prüfen
Lade deine Datei hoch und sieh in Sekunden, welche Regeln sie besteht und welche nicht. Kostenlos, ohne Anmeldung, nichts wird gespeichert.