BR-30
Where both the start and the end of a line period are given, the end must fall on or after the start — the same check as BR-29, per line.
- Severity
- Error
- Applies to
- CII, UBL
- Rule set
- v2026-01-31
Official rule text
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).
Why does BR-30 happen?
Line periods are produced in a loop out of contract data. Where a contract runs across a year boundary, the year on one of the two dates is readily computed wrong.
How do you fix BR-30?
Check the order per line before writing cac:InvoicePeriod inside cac:InvoiceLine. That the period must also fit inside the invoicing period is required by PEPPOL-EN16931-R110 and R111.
In the XML
A UBL fragment. The CII path is named above — same change, different element names.
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cac:InvoicePeriod>
<cbc:StartDate>2026-12-01</cbc:StartDate>
<cbc:EndDate>2026-01-31</cbc:EndDate>
</cac:InvoicePeriod>
</cac:InvoiceLine><cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cac:InvoicePeriod>
<cbc:StartDate>2026-12-01</cbc:StartDate>
<cbc:EndDate>2027-01-31</cbc:EndDate>
</cac:InvoicePeriod>
</cac:InvoiceLine>NormAPI provides technical validation, not tax or legal advice.