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).
When both ram:StartDateTime and ram:EndDateTime are provided as dates in format 102, the end date is earlier than the start date. If either date is missing, this ordering condition does not apply.
An invoicing period cannot end before it begins. The date order defines the period covered by the invoice.
The invoicing period end date is earlier than its start date. Adjust the order of the two dates if both are provided for the period.
- Compare the date in
ram:StartDateTimewith the date inram:EndDateTime. - Make sure the end date is the same as or later than the start date.
- Check that both date values use format
102. - Regenerate the invoice and validate it again.
<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>
FacturXInvoice.BillingPeriodStart(BT-73)FacturXInvoice.BillingPeriodEnd(BT-74)
Technical details
The XPath compares the date values in ram:EndDateTime/udt:DateTimeString and ram:StartDateTime/udt:DateTimeString with @format='102'. The condition also passes if either date container is absent.
The rule applies to the invoicing period ram:BillingSpecifiedPeriod in the document-level settlement. It compares the period start and end dates when both are provided.
rule/@context)assert/@test)