BR-21: Each invoice line needs a line identifier (BT-126)

Explained by Matheel from ZATCA's rule text and the condition SDK 3.4.8 executes · Updated

Warning: accepted with a warningAll invoicesFields: BG-25, BT-126

Checks that every cac:InvoiceLine (or cac:CreditNoteLine) has a non-empty cbc:ID.

How to fix it

Give each line a non-empty identifier as its first child, e.g. <cbc:ID>1</cbc:ID>.

ZATCA's official text

[BR-21]-Each Invoice line (BG-25) shall have an Invoice line identifier (BT-126).
Source: ZATCA SDK 3.4.8 · EN 16931 (CEN) rules

Fails when (the condition ZATCA's SDK runs)

not((cbc:ID) != '')

Related rules

Validate your invoice against ZATCA's rules

Paste the XML and see every error and warning. It runs in your browser; the invoice goes nowhere.

Validate an invoice or try Matheel