Peppol BIS Billing 3.0.20 · UBL

BR-30: If both Invoice line period start date (BT-134) and Invoice line period end date…

Peppol BIS Billing 3.0.20 · UBL

fatalbusiness

Original rule text

[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).

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-30 is a fatal rule in the business layer of Peppol BIS Billing 3.0.20 · UBL. An invoice that breaks it is rejected. It refers to BT-134, BT-135.

What this rule requires

The rule requires that if both an invoice line period start date and end date are present, the end date must be later than or equal to the start date. In UBL this is checked on cbc:StartDate and cbc:EndDate; in CII on ram:StartDateTime/udt:DateTimeString[@format='102'] and ram:EndDateTime/udt:DateTimeString[@format='102']. If either date is missing, the condition is satisfied. A document fails if both dates are present and the end date is earlier than the start date.

How to fix

Correct the period dates so the end date is not earlier than the start date. In UBL, set cbc:EndDate to a value equal to or later than cbc:StartDate. In CII, set ram:EndDateTime/udt:DateTimeString[@format='102'] to a value equal to or later than ram:StartDateTime/udt:DateTimeString[@format='102']. If the dates are reversed, swap them.

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-30.

Validate an invoice against these rules · All release changes