EN16931 1.3.16 · UBL / CII · Severity: ERROR

Unit of measure code must be from UN/ECE Recommendation 20 or 21

The unitCode attribute on InvoicedQuantity (BT-130) must be an official UN/ECE Recommendation 20 or 21 code.

Rule ID & Severity
BR-CL-23 · ERROR
Standard & Scope
EN16931 1.3.16 · UBL / CII
XPath Condition
cbc:InvoicedQuantity/@unitCode = $UNECE-REC20-REC21
Target XML Path
cac:InvoiceLine/cbc:InvoicedQuantity/@unitCode

Find the source field

cac:InvoiceLine/cbc:InvoicedQuantity/@unitCode

Match namespace URI and element name, not a particular prefix spelling. The validator reports the full expanded-name source path when the published rule supplies a location.

Common causes

Invalid and corrected fragments

<cbc:InvoicedQuantity unitCode="HOURS">8</cbc:InvoicedQuantity>
<cbc:InvoicedQuantity unitCode="HUR">8</cbc:InvoicedQuantity>

Use official UN/ECE codes such as C62 or H87 (one/piece), HUR (hour), DAY (day), MON (month), or KGM (kilogram).

Open BR-CL-23 in en16931-validator →

Verify the whole document

These are fragments, not complete invoices. The exact rule is exercised by synthetic mutation tests against the stated package. Correcting one field does not prove conformance; run the full selected validator again. Published messages and severity remain authoritative.

Official BR-CL-23 source ↗

Explanation record: 2026-10-14 · Local WebAssembly / SaxonJS validation. No invoice-derived report is published as a search page.

EN16931 / Validate
No invoice uploads or storage
No invoice uploads or storage

Validate

Choose files · EN16931

XML · PDF
5 MB XML · 20 MB PDF · 500 documents per batch

Related tools and rules