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).
When both ram:StartDateTime and ram:EndDateTime are provided with a udt:DateTimeString in format 102, the end date is earlier than the start date. The end date must be the same as or later than the start date.
A billing period must be chronologically ordered: its end date cannot be earlier than its start date.
The end date of an invoice line’s billing period is earlier than its start date. Adjust the dates so that the end date is the same as or later.
- Check
ram:StartDateTimeandram:EndDateTimein the billing period. - Set
TradeLineItem.BillingPeriodEndto a date that is the same as or later thanTradeLineItem.BillingPeriodStart. - Generate the invoice again and validate it once more.
<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>
<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>
TradeLineItem.BillingPeriodStart(BT-134)TradeLineItem.BillingPeriodEnd(BT-135)
Technical details
The test compares the date values of the udt:DateTimeString elements with format='102'. It also passes if either date element is absent.
The rule applies to an invoice line’s billing period in ram:BillingSpecifiedPeriod.
rule/@context)assert/@test)