Enddatum des Abrechnungszeitraums liegt vor dem Startdatum

Fehler BR-30 EN 16931

Wenn sowohl das Anfangsdatum des Rechnungspositionszeitraums (BT-134) als auch das Enddatum des Rechnungspositionszeitraums (BT-135) angegeben sind, muss das Enddatum des Rechnungspositionszeitraums (BT-135) nach dem Anfangsdatum des Rechnungspositionszeitraums (BT-134) liegen oder diesem entsprechen.

Pflichtregel: Solange sie verletzt ist, ist die Rechnung ungültig und wird von Validatoren abgewiesen.
Was nicht stimmt

Wenn sowohl ram:StartDateTime als auch ram:EndDateTime mit einem udt:DateTimeString im Format 102 angegeben sind, liegt das Enddatum vor dem Startdatum. Das Enddatum muss gleich oder später als das Startdatum sein.

Was die Regel bedeutet

Ein Abrechnungszeitraum muss zeitlich geordnet sein: Sein Enddatum darf nicht vor dem Startdatum liegen.

Betroffene Felder BT-134 BT-135
Bitte ordnen Sie Start- und Enddatum des Abrechnungszeitraums richtig

Das Enddatum des Abrechnungszeitraums einer Rechnungsposition liegt vor dem Startdatum. Passen Sie die Datumsangaben so an, dass das Enddatum gleich oder später ist.

Was ist zu tun?
  1. Prüfen Sie ram:StartDateTime und ram:EndDateTime im Abrechnungszeitraum.
  2. Setzen Sie TradeLineItem.BillingPeriodEnd auf ein Datum, das gleich oder später als TradeLineItem.BillingPeriodStart ist.
  3. Erzeugen Sie die Rechnung neu und prüfen Sie sie erneut.
So sieht es aus
✗ Führt zur Meldung
<ram:BillingSpecifiedPeriod>
  <ram:StartDateTime>
    <udt:DateTimeString format="102">20250110</udt:DateTimeString>
  </ram:StartDateTime>
  <ram:EndDateTime>
    <udt:DateTimeString format="102">20250109</udt:DateTimeString>
  </ram:EndDateTime>
</ram:BillingSpecifiedPeriod>
✓ In Ordnung
<ram:BillingSpecifiedPeriod>
  <ram:StartDateTime>
    <udt:DateTimeString format="102">20250109</udt:DateTimeString>
  </ram:StartDateTime>
  <ram:EndDateTime>
    <udt:DateTimeString format="102">20250110</udt:DateTimeString>
  </ram:EndDateTime>
</ram:BillingSpecifiedPeriod>
In FactoorSharp prüfen
  • TradeLineItem.BillingPeriodStart (BT-134)
  • TradeLineItem.BillingPeriodEnd (BT-135)
Technische Details

Der Test vergleicht die Datumswerte der udt:DateTimeString-Elemente mit format='102'. Er besteht auch, wenn eines der beiden Datumselemente fehlt.

Wo die Regel greift

Die Regel gilt für den Abrechnungszeitraum einer Rechnungsposition in ram:BillingSpecifiedPeriod.

Originalmeldung aus dem Schematron
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).
Kontext (rule/@context)
//ram:SpecifiedLineTradeSettlement/ram:BillingSpecifiedPeriod
Prüfausdruck (assert/@test)
(ram:EndDateTime/udt:DateTimeString[@format = '102']) >= (ram:StartDateTime/ udt:DateTimeString[@format = '102']) or not (ram:EndDateTime) or not (ram:StartDateTime)