What it means
In a UBL invoice or credit note, this rule checks that the document-level contract reference (BT-12), cac:ContractDocumentReference, contains no cbc:XPath. An empty element still counts as present.
Why it matters
EN 16931 does not use an XPath in the contract reference.
How to fix it
Remove the XPath stored with the contract reference. If your invoicing software adds it automatically, ask its supplier to stop exporting this element. If you build the XML yourself, remove cbc:XPath from cac:ContractDocumentReference. Keep the contract number, then export the corrected file and check it again.
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 Xpath 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-100 still fails, and which other rules do.
Related rules
- UBL-CR-101 Leave the language out of the contract reference
- UBL-CR-102 Leave the locale code out of the contract reference
- 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