Skip to content

Warning

UBL-CR-098: Leave the document type code out of the contract reference

In short

Warning: worth checking.

UBL-CR-098 means the contract reference contains a document type code, which EN 16931 does not use there. Remove cbc:DocumentTypeCode from cac:ContractDocumentReference and keep the contract number.

On this page

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:DocumentTypeCode. An empty element still counts as present.

Why it matters

EN 16931 does not use a document type code in the contract reference.

How to fix it

In your invoicing software, clear the document type code stored with the contract reference. Keep the contract number. If you build the XML yourself, remove cbc:DocumentTypeCode from cac:ContractDocumentReference and keep cbc:ID. 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 DocumentTypeCode

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-098 still fails, and which other rules do.

Updated 6 November 2026