Was bedeutet BR-30?
Wenn eine Rechnungsposition sowohl ein Startdatum des Leistungszeitraums (BT-134) als auch ein Enddatum (BT-135) angibt, muss das Enddatum gleich dem Startdatum oder spaeter sein. Die Regel greift nur, wenn beide Datumsangaben vorhanden sind. Fehlt eines der beiden, prueft BR-30 nichts. Ein Zeitraum, dessen Ende vor dem Anfang liegt, ist unmoeglich und wird abgewiesen.
Häufige Ursachen für BR-30
- Start- und Enddatum wurden vertauscht.
- Tippfehler im Tag, Monat oder Jahr einer der beiden Angaben.
- Falsches Datumsformat, sodass die Werte nicht als Datum vergleichbar sind.
- Ende auf den Vortag statt auf das Periodenende gesetzt.
So behebst du BR-30
- Fehlerhafte Stelle im XML finden. Öffne die XML der E-Rechnung und navigiere zum Feld BT-135 über den folgenden XPath:
//rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:BillingSpecifiedPeriod/ram:EndDateTime/udt:DateTimeString - Korrektur einsetzen. Setze in ram:BillingSpecifiedPeriod/ram:EndDateTime/udt:DateTimeString (format="102", JJJJMMTT) ein Datum, das gleich oder spaeter als das Startdatum in ram:StartDateTime ist. Pruefe, ob Start und Ende vertauscht wurden.
- Erneut validieren. Speichere die Datei und validiere sie erneut, um zu prüfen, dass BR-30 nicht mehr gemeldet wird.
Setze in ram:BillingSpecifiedPeriod/ram:EndDateTime/udt:DateTimeString (format="102", JJJJMMTT) ein Datum, das gleich oder spaeter als das Startdatum in ram:StartDateTime ist. Pruefe, ob Start und Ende vertauscht wurden.
//rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:BillingSpecifiedPeriod/ram:EndDateTime/udt:DateTimeStringVorher / Nachher: das XML-Beispiel
So sieht die betroffene Stelle vor und nach der Korrektur aus (Cross-Industry-Invoice, ZUGFeRD/Factur-X).
<ram:SpecifiedLineTradeSettlement>
<ram:BillingSpecifiedPeriod>
<ram:StartDateTime>
<udt:DateTimeString format="102">20260401</udt:DateTimeString>
</ram:StartDateTime>
<ram:EndDateTime>
<udt:DateTimeString format="102">20260331</udt:DateTimeString>
</ram:EndDateTime>
</ram:BillingSpecifiedPeriod>
</ram:SpecifiedLineTradeSettlement>
<ram:SpecifiedLineTradeSettlement>
<ram:BillingSpecifiedPeriod>
<ram:StartDateTime>
<udt:DateTimeString format="102">20260401</udt:DateTimeString>
</ram:StartDateTime>
<ram:EndDateTime>
<udt:DateTimeString format="102">20260430</udt:DateTimeString>
</ram:EndDateTime>
</ram:BillingSpecifiedPeriod>
</ram:SpecifiedLineTradeSettlement>
Häufige Fragen zu BR-30
Darf das Enddatum gleich dem Startdatum sein?
Muss ich fuer jede Position einen Zeitraum angeben?
Welches Format brauchen die Datumsangaben?
Verwandte Fehlercodes
BR-30 automatisch prüfen
Statt das XML manuell zu durchsuchen, kannst du deine ZUGFeRD- oder XRechnung-Datei online validieren – lade die PDF oder XML hoch und du bekommst jeden Fehler mit Regel-ID, betroffenem Feld, Korrekturvorschlag und XPath, als lesbaren Report oder strukturiertes JSON über die API.
Rechnung selbst gebaut?
Wer das XML aus dem eigenen System oder von Hand zusammensetzt, muss Regeln wie diese kennen. Diese Programme erzeugen ZUGFeRD und XRechnung und füllen die Pflichtfelder von sich aus.
* Werbelinks. Wir bekommen eine Provision, für dich bleibt der Preis gleich. Fünf Programme im Vergleich