Peppol BIS Billing 3.0.20 · UBL

BR-21: Each Invoice line (BG-25) shall have an Invoice line identifier (BT-126)

Peppol BIS Billing 3.0.20 · UBL

fatalbusiness

Original rule text

[BR-21]-Each Invoice line (BG-25) shall have an Invoice line identifier (BT-126).

Stored validation assertion
normalize-space(cbc:ID) != ''

BR-21 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 BG-25, BT-126.

What this rule requires

The rule requires that every invoice line (BG-25) has an invoice line identifier (BT-126). In UBL, the cbc:ID inside each cac:InvoiceLine or cac:CreditNoteLine must be present and must contain text other than whitespace; in CII, the same applies to ram:AssociatedDocumentLineDocument/ram:LineID inside each ram:IncludedSupplyChainTradeLineItem. A document fails validation (fatal) if any line lacks that element or the element is empty or whitespace-only.

How to fix

Add a non-empty identifier to the line identifier element. In UBL, set cbc:ID inside each cac:InvoiceLine or cac:CreditNoteLine. In CII, set ram:AssociatedDocumentLineDocument/ram:LineID inside each ram:IncludedSupplyChainTradeLineItem. The value must not be empty or only whitespace; no further format or uniqueness is checked by this rule.

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

Validate an invoice against these rules · All release changes