What it means
The check searches the whole file for a languageLocaleID attribute. In UBL it can sit on a piece of text, such as an invoice note (BT-22), and narrow its language down to a regional variant. One occurrence anywhere in the file is enough to trigger the warning.
Why it matters
EN 16931 asks you to omit languageLocaleID from UBL invoices and credit notes.
How to fix it
It is worth fixing if your software writes it on every invoice. Ask the supplier of your invoicing software to stop writing languageLocaleID. If you build the XML yourself, remove the attribute from every element that has it and keep the text. 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
Language local identifier attribute should not be present 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-DT-22 still fails, and which other rules do.
Related rules
- UBL-DT-23 Leave out the uri attribute
- UBL-DT-24 Leave out the currencyCodeListVersionID attribute
- UBL-DT-25 Leave the characterSetCode attribute out of the invoice
- UBL-DT-26 Leave the encodingCode attribute out of the invoice
- UBL-DT-27 Leave the schemeAgencyID attribute out of the invoice
- UBL-DT-28 Leave the listAgencyID attribute out of the invoice