What it means
The contract reference (BT-12) is written in cac:ContractDocumentReference, and EN 16931 uses only its identifier (cbc:ID). This rule checks that there is no cbc:UUID, a long machine-generated identifier that would label the referenced contract document.
Why it matters
This is a warning, so the invoice is not rejected. The standard has no field for a UUID on the contract reference, so the recipient's software does not read it. It is still worth removing, because the contract number in cbc:ID is the only identifier the recipient can use.
How to fix it
In your invoicing software, find the contract reference and clear any technical or unique identifier saved beside the contract number. If the UUID is the only number you have for the contract, put it in the contract number field instead. If you build the XML yourself, remove cbc:UUID from cac:ContractDocumentReference.
The rule as published
A UBL invoice should not include the ContractDocumentReference UUID 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-095 still fails, and which other rules do.