BR-03: Rechnungsdatum fehlt

Jede Rechnung braucht ein Rechnungsdatum (BT-2).

Regelwerk
EN 16931 (CEN)
Syntax
UBL und CII
Betroffene Felder
BT-2

Offizieller Regeltext

An Invoice shall have an Invoice issue date (BT-2).

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

Ein leeres Datumsfeld, etwa weil das Datum erst beim Versand gesetzt wird.

So behebst du den Fehler

Das Rechnungsdatum angeben – in UBL als cbc:IssueDate im Format JJJJ-MM-TT, in CII als ram:IssueDateTime/udt:DateTimeString mit format="102" im Format JJJJMMTT.

In UBL verhindert schon das XML-Schema ein leeres Datum. In CII meldet der Validator zusätzlich CII-DT-097 (Datumsformat) und PEPPOL-EN16931-R008 (leeres Element).

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.

Bei den Beispielen meldet der Validator außer BR-03 auch: CII-DT-097, PEPPOL-EN16931-R008.

Beispiel in CII

Änderung gegenüber der gültigen Rechnung: Rechnungsdatum (BT-2) leer.

Falsch – ab Zeile 13
<ram:TypeCode>380</ram:TypeCode>
<ram:IssueDateTime>
  <udt:DateTimeString format="102"/>
</ram:IssueDateTime>
<ram:IncludedNote>
Richtig – ab Zeile 13
<ram:TypeCode>380</ram:TypeCode>
<ram:IssueDateTime>
  <udt:DateTimeString format="102">20261001</udt:DateTimeString>
</ram:IssueDateTime>
<ram:IncludedNote>

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

  • BR-03 An Invoice shall have an Invoice issue date (BT-2). Fundstelle: /CrossIndustryInvoice[1]
  • CII-DT-097 Date time string with format attribute 102 shall be YYYYMMDD. Fundstelle: /CrossIndustryInvoice[1]/ExchangedDocument[1]/IssueDateTime[1]/DateTimeString[1]
  • PEPPOL-EN16931-R008 Document MUST not contain empty elements. Fundstelle: /CrossIndustryInvoice[1]/ExchangedDocument[1]/IssueDateTime[1]/DateTimeString[1]

Vollständige Dateien im Testkorpus: br-03-rechnungsdatum-leer_cii.xml (falsch) und standard_cii.xml (richtig).

Testdateien zu BR-03

Technische Details: Kontext und Prüfausdruck aus dem Schematron

CII

Kontext:

/rsm:CrossIndustryInvoice

Prüfausdruck:

normalize-space(rsm:ExchangedDocument/ram:IssueDateTime/udt:DateTimeString[@format='102']) != ''

UBL

Kontext:

/ubl:Invoice | /cn:CreditNote

Prüfausdruck:

normalize-space(cbc:IssueDate) != ''

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