Peppol BIS Billing 3.0.21 · UBL

BR-29: If both Invoicing period start date (BT-73) and Invoicing period end date (BT-74) are…

Peppol BIS Billing 3.0.21 · UBL

fatalbusiness

Original rule text

[BR-29]-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).

Stored validation assertion
(exists(cbc:EndDate) and exists(cbc:StartDate) and xs:date(cbc:EndDate) >= xs:date(cbc:StartDate)) or not(exists(cbc:StartDate)) or not(exists(cbc:EndDate))

BR-29 is a fatal rule in the business layer of Peppol BIS Billing 3.0.21 · UBL. An invoice that breaks it is rejected. It refers to BT-73, BT-74.

What this rule requires

The rule requires that if both an invoicing period start date (BT-73) and an invoicing period end date (BT-74) are present, the end date must be later than or equal to the start date; if either date is missing, the rule is satisfied. In UBL, the elements are cbc:StartDate and cbc:EndDate in cac:InvoicePeriod; in CII, they are ram:StartDateTime/udt:DateTimeString[@format='102'] and ram:EndDateTime/udt:DateTimeString[@format='102'] in ram:BillingSpecifiedPeriod. A document fails this fatal rule when both dates are present and the end date is earlier than the start date.

How to fix

Set the invoicing period end date to a value that is equal to or later than the start date, or omit one of the dates if it is not needed. In UBL, change cbc:EndDate in cac:InvoicePeriod; in CII, change ram:EndDateTime/udt:DateTimeString[@format='102'] in ram:BillingSpecifiedPeriod.

Guidance on this rule. The original text above is authoritative.

Where to go next

No published Peppol BIS Billing UBL release comparison lists a change to BR-29.

Validate an invoice against these rules · All release changes