Skip to main content

BR-CO-20 Invoice line period needs a start or end date

If the invoice line period (BG-26) is used, the invoice line period start date (BT-134) or the invoice line period end date (BT-135) shall be filled, or both.

Problem Description

ERROR

EN 16931 calculation and consistency rule (BR-CO)

Context and Significance

This EN 16931 rule is the line-level counterpart of BR-CO-19: an invoice line period (BG-26) must not be empty. Unlike the document level in UBL, a line period has no exception for cbc:DescriptionCode, because the VAT point date code (BT-8) exists only at document level. The error often occurs when an export creates a period element for every line, even for lines without a known period.

Solution

When a cac:InvoicePeriod appears inside an invoice line, provide at least a StartDate (BT-134) or an EndDate (BT-135); otherwise remove the empty element. In CII the line period is ram:SpecifiedLineTradeSettlement/ram:BillingSpecifiedPeriod.

Quick actions

Valid Examples

  • BT-134 = 2026-02-01 with BT-135 = 2026-02-28

Invalid Examples

  • Line cac:InvoicePeriod present but neither BT-134 nor BT-135 filled

Code Examples

Valid XML
<cac:InvoiceLine>
  <cac:InvoicePeriod>
    <cbc:StartDate>2026-02-01</cbc:StartDate>
    <cbc:EndDate>2026-02-28</cbc:EndDate>
  </cac:InvoicePeriod>
</cac:InvoiceLine>
Invalid XML
<cac:InvoiceLine>
  <cac:InvoicePeriod>
  </cac:InvoicePeriod>
</cac:InvoiceLine>

Affected Fields

Validation Tools