Error code BR-CL-23 means: the unit of a quantity is not a valid code from the official list.
What does BR-CL-23 mean?
The validator shows this message (as worded in the official rules):
[BR-CL-23]-Unit code MUST be coded according to the UN/ECE Recommendation 20 with Rec 21 extension
Every quantity has a unit in the unitCode attribute (BT-130). That code comes from UN/ECE Recommendation 20 (with the Recommendation 21 extension). Common codes are HUR (hour), DAY (day), C62 (one, unit), KGM (kilogram) and MTR (metre). A home-made abbreviation such as hrs, pcs or UUR is invalid.
Common causes
- The software uses its own units, such as “pcs” or “hrs”, and writes them straight into the XML.
- A unit was translated into the local language.
- An item has no unit, so the export fills in free text.
How to fix it as the sender
- In your software, link every unit to a UN/ECE code, for example hour to HUR and piece to C62.
- Check items without a unit.
- Validate again.
Received an invoice with this error?
An invoice with this error is not compliant. Ask the supplier for a corrected invoice and do not change the XML yourself.
Example in the XML
❌ Wrong
<cbc:InvoicedQuantity unitCode="UUR">3</cbc:InvoicedQuantity>
✅ Correct
<cbc:InvoicedQuantity unitCode="HUR">3</cbc:InvoicedQuantity>
Both snippets come from a complete test invoice that we checked with our validator: the wrong version gives exactly this message, the correct version no errors at all.
Good to know
The UBL viewer shows the code as a readable unit, such as “hour” for HUR. In the XML it always remains the official code.
Check your invoice
Drop your XML into the free validator. You see right away whether this error still occurs, with a link to the explanation for every message.
Official rule
The full rule with its technical test (Schematron) is in the official Peppol documentation:
Related error codes
- BR-DEC-23: The net amount of an invoice line has more than two digits after the decimal point.
- PEPPOL-EN16931-R120: The net amount of an invoice line does not equal quantity × unit price, plus charges and minus allowances on that line.
Frequently asked questions about BR-CL-23
Which code do I use for a piece?
Usually C62 (one/unit). H87 (piece) is also in the list.
Where do I find the full list?
In UN/ECE Recommendations 20 and 21. The Peppol documentation on docs.peppol.eu contains the code list that Peppol uses.