What it means
The check searches the whole file for a languageID attribute. In UBL it can sit on a piece of text, such as an invoice note (BT-22) or an item description (BT-154), and say which language the text is written in. One occurrence anywhere in the file is enough to trigger the warning.
Why it matters
EN 16931 asks you to omit languageID from UBL invoices and credit notes.
How to fix it
It is worth fixing if the warning appears on every invoice you send. Ask the supplier of your invoicing software to stop writing languageID. 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 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-19 still fails, and which other rules do.
Related rules
- UBL-DT-20 Leave out the listURI attribute
- UBL-DT-21 Leave out the listSchemeURI attribute
- UBL-DT-22 Leave out the languageLocaleID attribute
- 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