O que significa
A regra procura em todo o ficheiro um atributo chamado characterSetCode. Em UBL, este atributo pode ser acrescentado a um elemento que contém um ficheiro, como um anexo, para indicar o conjunto de carateres do conteúdo. A norma EN 16931 não o utiliza, por isso não deve aparecer em nenhum ponto da fatura. A regra não tem número de termo (BT) porque diz respeito à forma como o XML é escrito, não a um campo que preencha.
Porque é importante
De acordo com a EN 16931, o atributo characterSetCode não deve constar das faturas nem das notas de crédito UBL.
Como corrigir
Normalmente não é o utilizador que define este atributo. O seu software de faturação acrescenta-o ao escrever o ficheiro, por isso procure uma opção de exportação ou uma versão mais recente, ou peça ao fabricante do software que deixe de o escrever. Se criar o XML manualmente, procure no ficheiro o texto characterSetCode e apague o atributo, que em regra está em cbc:EmbeddedDocumentBinaryObject, e volte a verificar o ficheiro. Vale a pena corrigir na próxima vez que alterar a exportação, e mais cedo se um destinatário pedir um ficheiro sem avisos.
Depois de corrigir o ficheiro, volte a verificá-lo gratuitamente: Verificar uma fatura eletrónica
Ou corrija a fatura num formulário e transfira o ficheiro corrigido, por 1 crédito: Corrigir uma fatura eletrónica rejeitada
A regra tal como foi publicada
CharacterSetCode attribute should not be present Onde esta regra se aplica
| Conjunto de regras | Versão |
|---|---|
| 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 |