BR-29: Abrechnungszeitraum endet vor seinem Beginn
Ist ein Abrechnungszeitraum (BG-14) angegeben, darf das Enddatum (BT-74) nicht vor dem Startdatum (BT-73) liegen.
- Regelwerk
- EN 16931 (CEN)
- Syntax
- UBL und CII
- Betroffene Felder
- BT-73, BT-74
Offizieller Regeltext
If both Invoicing period start date (BT-73) and Invoicing period end date (BT-74) are given then the Invoicing period end date (BT-74) shall be later or equal to the Invoicing period start date (BT-73).
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
- UBL-Rechnung: Fehler
- UBL-Gutschrift: Fehler
- CII: Fehler
Ein Verstoß führt im Szenario „XRechnung“ des KoSIT-Validators zur Ablehnung der Rechnung.
Typische Ursachen
Vertauschte Felder oder ein falsches Datumsformat bei der Übernahme aus einer Tabelle.
So behebst du den Fehler
Start- und Enddatum prüfen und in der richtigen Reihenfolge übermitteln.
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: Abrechnungszeitraum endet vor seinem Beginn (BT-73/BT-74).
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
<cbc:BuyerReference>TEST-REF-2026-0815</cbc:BuyerReference>
<cac:InvoicePeriod>
<cbc:StartDate>2026-09-30</cbc:StartDate>
<cbc:EndDate>2026-09-01</cbc:EndDate>
</cac:InvoicePeriod>
<cac:OrderReference>
<cbc:ID>BEST-2026-0042</cbc:ID><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:
Vollständige Dateien im Testkorpus: br-29-zeitraum-ende-vor-beginn_ubl.xml (falsch) und standard_ubl.xml (richtig).
Beispiel in CII
Änderung gegenüber der gültigen Rechnung: Abrechnungszeitraum endet vor seinem Beginn (BT-73/BT-74).
<ram:RateApplicablePercent>19</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
<ram:BillingSpecifiedPeriod>
<ram:StartDateTime>
<udt:DateTimeString format="102">20260930</udt:DateTimeString>
</ram:StartDateTime>
<ram:EndDateTime>
<udt:DateTimeString format="102">20260901</udt:DateTimeString>
</ram:EndDateTime>
</ram:BillingSpecifiedPeriod>
<ram:SpecifiedTradePaymentTerms>
<ram:Description>Zahlbar innerhalb von 14 Tagen ohne Abzug.</ram:Description> <ram:RateApplicablePercent>19</ram:RateApplicablePercent>
</ram:ApplicableTradeTax>
<ram:SpecifiedTradePaymentTerms>
<ram:Description>Zahlbar innerhalb von 14 Tagen ohne Abzug.</ram:Description>Prüfergebnis (KoSIT-Validator 1.6.3, Konfiguration 2026-08-31): falsche Datei abgelehnt, korrigierte Datei angenommen. Meldungen zur falschen Datei:
Vollständige Dateien im Testkorpus: br-29-zeitraum-ende-vor-beginn_cii.xml (falsch) und standard_cii.xml (richtig).
Testdateien zu BR-29
- br-29-zeitraum-ende-vor-beginn_ubl.xml – Abrechnungszeitraum endet vor seinem Beginn (BT-73/BT-74)
- br-29-zeitraum-ende-vor-beginn_cii.xml – Abrechnungszeitraum endet vor seinem Beginn (BT-73/BT-74)
Technische Details: Kontext und Prüfausdruck aus dem Schematron
CII
Kontext:
//ram:ApplicableHeaderTradeSettlement/ram:BillingSpecifiedPeriod
Prüfausdruck:
(ram:EndDateTime/udt:DateTimeString[@format = '102']) >= (ram:StartDateTime/udt:DateTimeString[@format = '102']) or not (ram:EndDateTime) or not (ram:StartDateTime)
UBL
Kontext:
cac:InvoicePeriod
Prüfausdruck:
(exists(cbc:EndDate) and exists(cbc:StartDate) and xs:date(cbc:EndDate) >= xs:date(cbc:StartDate)) or not(exists(cbc:StartDate)) or not(exists(cbc:EndDate))
Technische Formatprüfung nach XRechnung 3.0.2; keine steuerliche oder rechtliche Beratung.