BR-CO-03: Steuerdatum und Steuerdatum-Code schließen sich aus
Die Rechnung enthält sowohl ein Umsatzsteuer-Datum (BT-7) als auch einen Umsatzsteuer-Datum-Code (BT-8). Erlaubt ist nur eines von beiden, meist füllt die Software beide Felder gleichzeitig.
Value added tax point date (BT-7) and Value added tax point date code (BT-8) are mutually exclusive.
Die Norm bietet zwei Wege, den Zeitpunkt anzugeben, zu dem die Umsatzsteuer entsteht: als konkretes Datum oder als Code, der auf ein anderes Datum der Rechnung verweist. Beide gleichzeitig sind widersprüchlich und deshalb verboten.
Was die Regel prüft
BT-7 (BT = Business Term, das nummerierte Feld der Norm) ist das Datum des Steuertatbestands als konkreter Kalendertag. BT-8 ist stattdessen ein Code, der sagt: Der Steuerzeitpunkt ergibt sich aus einem bereits vorhandenen Datum, erlaubt sind 5 (Rechnungsdatum), 29 (Lieferdatum) und 72 (Zahlungsdatum). In der Rechnung darf höchstens eines der beiden Felder stehen. Beide leer ist zulässig.
Warum sie in der Praxis fehlschlägt
Typischer Auslöser ist Software, die es „besonders vollständig" meint: Sie schreibt das Lieferdatum als BT-7 in die XML und setzt zusätzlich den Code 29, der genau dasselbe aussagt. Für den Validator ist das keine Bestätigung, sondern ein Konflikt.
Zweiter Fall: Verwechslung mit dem Leistungsdatum. Deutsche Rechnungen brauchen ein Liefer- bzw. Leistungsdatum, das gehört aber in BT-72 (Actual delivery date) oder in den Abrechnungszeitraum (BG-14), nicht in BT-7. Wer das Leistungsdatum in BT-7 presst, während die Software intern noch einen BT-8-Code setzt, produziert genau diese Kollision.
So behebst du den Fehler
Entscheide dich für eine der beiden Angaben und entferne die andere. Für deutsche Rechnungen ist die pragmatische Lösung fast immer: BT-7 und BT-8 beide weglassen und das Leistungsdatum regulär als BT-72 oder als Abrechnungszeitraum übermitteln. Damit ist auch die deutsche Anforderung an das Leistungsdatum erfüllt, ohne dass die beiden Spezialfelder kollidieren können.
XML-Beispiel: vorher und nachher
In CII liegen beide Felder in derselben Steuerangabe auf Dokumentebene:
<!-- verletzt BR-CO-03: TaxPointDate (BT-7) und DueDateTypeCode (BT-8) gleichzeitig -->
<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:TaxPointDate>
<udt:DateString format="102">20260315</udt:DateString>
</ram:TaxPointDate>
<ram:DueDateTypeCode>29</ram:DueDateTypeCode>
<ram:RateApplicablePercent>19</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
<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:DueDateTypeCode>29</ram:DueDateTypeCode>
<ram:RateApplicablePercent>19</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.