BR-30 Feld BT-135 EN-16931-Grundregeln (BR)

BR-30 beheben: Enddatum des Positionszeitraums liegt vor dem Startdatum

[BR-30] If both Invoice line period start date (BT-134) and Invoice line period end date (BT-135) are given then the Invoice line period end date (BT-135) shall be later or equal to the Invoice line period start date (BT-134)

BR-30 in deiner eigenen Rechnung? Lade die Datei hoch und finde alle Fehler in Sekunden.

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

So behebst du BR-30

  1. 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
  2. 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.
  3. Erneut validieren. Speichere die Datei und validiere sie erneut, um zu prüfen, dass BR-30 nicht mehr gemeldet wird.
Konkreter Korrekturvorschlag

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.

XPath//rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ram:BillingSpecifiedPeriod/ram:EndDateTime/udt:DateTimeString

Vorher / Nachher: das XML-Beispiel

So sieht die betroffene Stelle vor und nach der Korrektur aus (Cross-Industry-Invoice, ZUGFeRD/Factur-X).

Fehlerhaft
<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>
Korrekt
<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?
Ja. Fuer einen Zeitraum von einem Tag setzt du Start und Ende auf denselben Wert. BR-30 verlangt nur, dass das Ende nicht vor dem Start liegt.
Muss ich fuer jede Position einen Zeitraum angeben?
Nein. Der Positionszeitraum ist freiwillig. Gibst du ihn an, muessen die Datumsangaben aber zueinander passen.
Welches Format brauchen die Datumsangaben?
Das Attribut format="102" steht fuer JJJJMMTT, also z. B. 20260430 fuer den 30.04.2026.

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.

Jeden Fehler automatisch finden statt manuell suchen

Lade deine ZUGFeRD- oder XRechnung-Datei hoch – du bekommst jeden Verstoß mit Regel-ID, Feld, Korrekturvorschlag und XPath zurück.

Kostenlos online validieren
Rechnung prüfen