What it means
The rule checks that cbc:PaymentAlternativeCurrencyCode is not directly under the invoice or credit note root. In UBL it identifies an alternative currency for payment. In EN 16931, the amount due (BT-115) is stated in the invoice currency (BT-5).
Why it matters
EN 16931's UBL rules exclude this alternative payment currency field, even if it repeats the invoice currency.
How to fix it
Remove cbc:PaymentAlternativeCurrencyCode from the top of the file. If your XML export template adds it, remove it from the template too. Export again and recheck the 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 PaymentAlternativeCurrencyCode 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-009 still fails, and which other rules do.
Related rules
- UBL-CR-010 The file should not contain an accounting cost code
- UBL-CR-011 The file should not contain a line count element
- UBL-CR-012 The document-level invoicing period should not have a start time
- UBL-CR-013 The document-level invoicing period should not have an end time
- UBL-CR-014 The document-level invoicing period should not contain a duration
- UBL-CR-015 The document-level invoicing period should not have a free-text description