Skip to content

Fatal

UBL-SR-01: An invoice can have only one contract reference

In short

Fatal: fails the selected checks.

UBL-SR-01 means the file has more than one contract reference (BT-12). Keep a single contract number on the invoice, remove the extra ones and export it again.

On this page

What it means

An invoice can point to the contract it belongs to with a contract reference (BT-12). The rule counts the contract identifiers in the file and allows at most one. In UBL that is the cbc:ID inside cac:ContractDocumentReference, so a second block with its own ID breaks the rule as well. It applies to invoices and credit notes alike.

Why it matters

EN 16931 has room for one contract reference only.

How to fix it

Open the invoice in your invoicing software and find the contract number or contract reference field. Make sure it holds one number, and that the same number is not also entered in a second field that is exported as a contract reference. If you need to mention more than one contract, put the extras in the free-text invoice note. If you build the XML yourself, keep one cac:ContractDocumentReference with one cbc:ID.

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

Contract identifier shall occur maximum once.

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

Updated 6 November 2026