Peppol BIS Billing 3.0 · rule
UBL-CR-594
What does UBL-CR-594 mean? A UBL invoice should not include the InvoiceLine Item CommodityClassification CommodityCode
Why did my invoice fail UBL-CR-594?
The official rule states: "A UBL invoice should not include the InvoiceLine Item CommodityClassification CommodityCode". The CommodityCode element under InvoiceLine/Item (Item/CommodityClassification) exists in the generic UBL 2.1 schema but is not mapped to any EN 16931 business term, so a core-compliant invoice must leave it out. Receivers validating against EN 16931 will flag it because data in unmapped elements cannot be reliably processed. EN 16931 supports item classification (BT-158) only via cac:CommodityClassification/cbc:ItemClassificationCode with listID/listVersionID attributes.
Official rule text
A UBL invoice should not include the InvoiceLine Item CommodityClassification CommodityCode
Common causes
- Using cbc:CommodityCode, cbc:NatureCode or cbc:CargoTypeCode instead of cbc:ItemClassificationCode
- Mapping customs or logistics classification data into the invoice
- A generic UBL library emitting every optional classification field
How do I fix it?
<cac:CommodityClassification> <cbc:ItemClassificationCode listID="SRV">09348023</cbc:ItemClassificationCode> </cac:CommodityClassification>
Related rules
UBL-CR-001 · UBL-CR-002 · UBL-CR-003 · UBL-CR-004 · UBL-CR-005 · UBL-CR-006 · UBL-CR-007 · UBL-CR-008
Paste it into the live demo, or call POST /v1/validate. See the quickstart.