BR-CO-03: Steuerdatum und Steuerdatumscode gleichzeitig

Das Datum der Steuerfälligkeit (BT-7) und der Code dafür (BT-8) schließen sich gegenseitig aus.

Regelwerk
EN 16931 (CEN)
Syntax
UBL und CII
Betroffene Felder
BT-7, BT-8

Offizieller Regeltext

Value added tax point date (BT-7) and Value added tax point date code (BT-8) are mutually exclusive.

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

Ein Verstoß führt im Szenario „XRechnung“ des KoSIT-Validators zur Ablehnung der Rechnung.

Typische Ursachen

Die Software schreibt sowohl ein festes Datum als auch einen Code wie „Rechnungsdatum“ in die Datei.

So behebst du den Fehler

Nur eine der beiden Angaben übermitteln. Beide sind optional; in XRechnung steht meist das Liefer- bzw. Leistungsdatum (BT-72 oder BG-14) in der Rechnung.

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: Steuerdatum (BT-7) und Code für das Steuerdatum (BT-8) gleichzeitig.

Falsch – ab Zeile 8
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
<cbc:Note>TESTDATEN: synthetische Rechnung aus dem E-Rechnungs-Testkorpus (Claw Labs). Keine echte Forderung, keine echten Firmen oder Personen.</cbc:Note>
<cbc:TaxPointDate>2026-09-29</cbc:TaxPointDate>
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
<cbc:BuyerReference>TEST-REF-2026-0815</cbc:BuyerReference>
<cac:InvoicePeriod>
  <cbc:DescriptionCode>3</cbc:DescriptionCode>
</cac:InvoicePeriod>
<cac:OrderReference>
  <cbc:ID>BEST-2026-0042</cbc:ID>
Richtig – ab Zeile 8 · ohne die markierten Zeilen
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
<cbc:Note>TESTDATEN: synthetische Rechnung aus dem E-Rechnungs-Testkorpus (Claw Labs). Keine echte Forderung, keine echten Firmen oder Personen.</cbc:Note>
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
<cbc:BuyerReference>TEST-REF-2026-0815</cbc:BuyerReference>
<cac:OrderReference>
  <cbc:ID>BEST-2026-0042</cbc:ID>

Prüfergebnis (KoSIT-Validator 1.6.3, Konfiguration 2026-08-31): falsche Datei abgelehnt, korrigierte Datei angenommen. Meldungen zur falschen Datei:

  • BR-CO-03 Value added tax point date (BT-7) and Value added tax point date code (BT-8) are mutually exclusive. Fundstelle: /Invoice[1]

Vollständige Dateien im Testkorpus: br-co-03-steuerdatum-und-code_ubl.xml (falsch) und standard_ubl.xml (richtig).

Beispiel in CII

Änderung gegenüber der gültigen Rechnung: Steuerdatum (BT-7) und Code für das Steuerdatum (BT-8) gleichzeitig.

Falsch – ab Zeile 195
  <ram:BasisAmount>501.55</ram:BasisAmount>
  <ram:CategoryCode>S</ram:CategoryCode>
  <ram:TaxPointDate>
    <udt:DateString format="102">20260929</udt:DateString>
  </ram:TaxPointDate>
  <ram:DueDateTypeCode>5</ram:DueDateTypeCode>
  <ram:RateApplicablePercent>19</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
Richtig – ab Zeile 195 · ohne die markierten Zeilen
  <ram:BasisAmount>501.55</ram:BasisAmount>
  <ram:CategoryCode>S</ram:CategoryCode>
  <ram:RateApplicablePercent>19</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>

Prüfergebnis (KoSIT-Validator 1.6.3, Konfiguration 2026-08-31): falsche Datei abgelehnt, korrigierte Datei angenommen. Meldungen zur falschen Datei:

  • BR-CO-03 Value added tax point date (BT-7) and Value added tax point date code (BT-8) are mutually exclusive. Fundstelle: /CrossIndustryInvoice[1]/SupplyChainTradeTransaction[1]/ApplicableHeaderTradeSettlement[1]/ApplicableTradeTax[1]

Vollständige Dateien im Testkorpus: br-co-03-steuerdatum-und-code_cii.xml (falsch) und standard_cii.xml (richtig).

Testdateien zu BR-CO-03

Technische Details: Kontext und Prüfausdruck aus dem Schematron

CII

Kontext:

//ram:ApplicableHeaderTradeSettlement/ram:ApplicableTradeTax

Prüfausdruck:

((//ram:TaxPointDate) and not(//ram:DueDateTypeCode)) or (not (//ram:TaxPointDate) and (//ram:DueDateTypeCode)) or (not (//ram:TaxPointDate) and not (//ram:DueDateTypeCode))

UBL

Kontext:

/ubl:Invoice | /cn:CreditNote

Prüfausdruck:

(exists(cbc:TaxPointDate) and not(cac:InvoicePeriod/cbc:DescriptionCode)) or (not(cbc:TaxPointDate) and exists(cac:InvoicePeriod/cbc:DescriptionCode)) or (not(cbc:TaxPointDate) and not(cac:InvoicePeriod/cbc:DescriptionCode))

Technische Formatprüfung nach XRechnung 3.0.2; keine steuerliche oder rechtliche Beratung.