What it means
When an invoice or credit note refers to an earlier invoice, EN 16931 carries only that invoice's number (BT-25) and date (BT-26), in cac:BillingReference/cac:InvoiceDocumentReference. This rule checks that the reference does not also contain cbc:XPath, a technical path into the earlier document.
Why it matters
The EN 16931 UBL rules do not use an XPath in the reference to an earlier invoice.
How to fix it
Remove only cbc:XPath from cac:BillingReference/cac:InvoiceDocumentReference. Keep the earlier invoice number (BT-25) in cbc:ID and any existing invoice date (BT-26) in cbc:IssueDate. Check the corrected file 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 BillingReference Xpath 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-028 still fails, and which other rules do.
Related rules
- UBL-CR-029 Do not send a language in the earlier invoice reference
- UBL-CR-030 Do not send a locale code in the earlier invoice reference
- UBL-CR-031 Do not send a version in the earlier invoice reference
- UBL-CR-032 Do not send a status code in the earlier invoice reference
- UBL-CR-033 Do not send a description in the earlier invoice reference
- UBL-CR-034 Do not attach a file to the earlier invoice reference