What it means
A UBL invoice or credit note names a contract in cac:ContractDocumentReference. EN 16931 only reads the contract number from that block (BT-12, in cbc:ID). This rule checks that the block does not also contain a status code (cbc:DocumentStatusCode), which would describe the state of the contract document.
Why it matters
EN 16931 recommends leaving the document status code out of the contract reference.
How to fix it
Ask the supplier of your invoicing software to stop exporting cbc:DocumentStatusCode in the contract reference. If you build the XML yourself, delete cbc:DocumentStatusCode from cac:ContractDocumentReference. 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 DocumentStatusCode 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-104 still fails, and which other rules do.
Related rules
- 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
- UBL-CR-109 Leave the verification result out of the contract reference
- UBL-CR-110 Leave the copy indicator out of additional document references