Skip to content

Warning

UBL-CR-104: Leave the status code out of the contract reference

In short

Warning: worth checking.

UBL-CR-104 means the contract reference in your UBL invoice or credit note carries a document status code (cbc:DocumentStatusCode), which EN 16931 does not use. Delete that element from cac:ContractDocumentReference and check the file again.

On this page

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
Rule text from phive-rules 4.6.4.

Check your file

Drop your e-invoice to see whether UBL-CR-104 still fails, and which other rules do.

Updated 6 November 2026