What it means
The rule looks at the item on every invoice line (or credit note line) in a UBL file. It warns when the item's commodity classification (cac:CommodityClassification) contains a cbc:CommodityCode. EN 16931 carries a classification as the item classification identifier (BT-158) in cbc:ItemClassificationCode, with the code list in the listID attribute (BT-158-1). This rule checks only for cbc:CommodityCode.
Why it matters
EN 16931 does not use cbc:CommodityCode within a line's commodity classification.
How to fix it
In your invoicing software, find where the commodity or tariff code is entered for the product and check which classification field it is exported into. If the value is an item classification code, put it in cbc:ItemClassificationCode in the same cac:CommodityClassification and set listID to the appropriate code list identifier from UNTDID 7143. Then delete cbc:CommodityCode from cac:CommodityClassification under cac:InvoiceLine/cac:Item (cac:CreditNoteLine in a credit note).
Once the file is corrected, check it again for free: Validate an invoice against EN 16931
Or fix the invoice in a form and download the corrected file, for 1 credit: Fix a rejected e-invoice
The rule as published
A UBL invoice should not include the InvoiceLine Item CommodityClassification CommodityCode Where this rule applies
| Rule set | Version |
|---|---|
| EN 16931 (UBL) | 1.3.17 |
| EN 16931 (UBL credit note) | 1.3.17 |
| XRechnung 3.0 (UBL) | 3.0.2 |
| XRechnung 3.0 (UBL credit note) | 3.0.2 |
| Peppol BIS Billing 3.0 (invoice) | 2026.5 |
| Peppol BIS Billing 3.0 (credit note) | 2026.5 |
| SI-UBL 2.0 / NLCIUS (invoice) | 2.0.3.13 |
| SI-UBL 2.0 / NLCIUS (credit note) | 2.0.3.13 |
| France CTC (UBL invoice) | 1.4.0-04 |
| France CTC (UBL credit note) | 1.4.0-04 |
| CIUS-RO UBL Invoice 1.0.9 | 1.0.9 |
| CIUS-RO UBL Credit Note 1.0.9 | 1.0.9 |
Check your file
Drop your e-invoice to see whether UBL-CR-594 still fails, and which other rules do.
Related rules
- UBL-CR-595 Transaction conditions are not used on invoice lines
- UBL-CR-596 Hazardous item details are not used on invoice lines
- UBL-CR-597 A line's VAT category should not carry a name
- UBL-CR-598 A line's VAT category should not carry a base unit
- UBL-CR-599 A line's VAT category should not carry a per-unit amount
- UBL-CR-600 Exemption reason codes belong in the VAT breakdown, not on a line