What it means
This rule checks the VAT accounting currency code (BT-6), the cbc:TaxCurrencyCode element, and flags it if it has a listID attribute. The element is used when VAT has to be stated in a second currency. Its value is a three-letter ISO 4217 code. EN 16931 fixes the code list, so naming one with listID is not used.
Why it matters
EN 16931 uses the VAT accounting currency code without a listID attribute. This rule does not check the currency code value.
How to fix it
Remove listID from cbc:TaxCurrencyCode and keep the currency code unchanged. If your software adds the attribute, ask its supplier to correct the export, then check the new 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 TaxCurrencyCode listID 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-658 still fails, and which other rules do.
Related rules
- UBL-CR-659 Additional document type codes must have no listID attribute
- UBL-CR-660 Country codes should have no listID attribute
- UBL-CR-661 The payment means code should have no listID attribute
- UBL-CR-662 Discount and charge reason codes should have no listID attribute
- UBL-CR-663 The file should have no unitCodeListID attributes
- UBL-CR-664 Do not add a bank name and address block to the payment account