What it means
The contract is referenced in a UBL invoice or credit note with cac:ContractDocumentReference. EN 16931 only reads the contract number from it (BT-12, in cbc:ID). This rule checks that the block does not also contain a locale code (cbc:LocaleCode), the language and country variant the contract document is written in.
Why it matters
EN 16931 recommends leaving the locale code out of the contract reference.
How to fix it
Ask the supplier of your invoicing software to stop exporting cbc:LocaleCode in the contract reference. If you build the XML yourself, delete cbc:LocaleCode from cac:ContractDocumentReference and leave cbc:ID as it is. Recheck the corrected file.
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 ContractDocumentReference LocaleCode 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-102 still fails, and which other rules do.
Related rules
- UBL-CR-103 Leave the version out of the contract reference
- UBL-CR-104 Leave the status code out of the contract reference
- UBL-CR-105 Leave the description out of the contract reference
- UBL-CR-106 Leave the attachment out of the contract reference
- UBL-CR-107 Leave the validity period out of the contract reference
- UBL-CR-108 Leave the issuer out of the contract reference