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:DocumentType. This element describes the kind of document being referred to. An empty element still counts as present.
Why it matters
EN 16931 does not use document type text in the contract reference.
How to fix it
In your invoicing software, clear the document type text stored with the contract reference. Keep the contract number itself. If you build the XML yourself, remove cbc:DocumentType from cac:ContractDocumentReference. 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 DocumentType 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-099 still fails, and which other rules do.
Related rules
- UBL-CR-100 Leave the XPath out of the contract reference
- 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