How to fix BR-23
An Invoice line (BG-25) shall have an Invoiced quantity unit of measure code (BT-130).
What this rule checks
Each invoice line must specify the unit of measure for the invoiced quantity using the UN/ECE Recommendation 20 code list (e.g. C62 for units, KGM for kilograms, HUR for hours). The unit code is carried as the unitCode attribute on cbc:InvoicedQuantity. Without it, the receiver cannot interpret what the quantity value represents.
Referenced business terms
This rule references the following EN 16931 business terms. Click through for the full definition, the UBL XPath and the cardinality.
How to fix it
Add a unitCode attribute to the cbc:InvoicedQuantity (or cbc:CreditedQuantity) element using a valid UN/ECE Recommendation 20 code (e.g. C62 for units, HUR for hours, KGM for kilograms).
Common causes
- The unitCode attribute is missing from the cbc:InvoicedQuantity element.
- An invalid unit code was used that is not in the UN/ECE Rec 20 list.
- The unitCode attribute was placed on the wrong element.
- The attribute name was misspelled (e.g. 'unit' instead of 'unitCode').
Example: before (broken)
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity>10</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">500.00</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>Widget A</cbc:Name>
</cac:Item>
</cac:InvoiceLine>Example: after (fixed)
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="C62">10</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">500.00</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>Widget A</cbc:Name>
</cac:Item>
</cac:InvoiceLine>Related rules
Validate your invoice
Upload your corrected invoice to check it passes BR-23 and all other EN 16931 and Peppol BIS 3.0 rules. Free, instant, no signup.