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.

Fails
<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>
Fixed
<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.