UBL vs. CII: Comparação das Duas Sintaxes de Faturação Eletrónica
UBL vs. CII: Comparação das Duas Sintaxes de Faturação Eletrónica
Quem lida com faturação eletrónica rapidamente se depara com duas siglas: UBL e CII. Ambas são sintaxes baseadas em XML que implementam a mesma norma europeia EN 16931, mas diferem fundamentalmente na sua estrutura. Neste artigo, explicamos as diferenças, os pontos em comum e ajudamo-lo a decidir qual a sintaxe adequada para o seu caso de uso.
O Que É EN 16931?
Antes de mergulhar nas sintaxes, uma breve análise do enquadramento: A norma europeia EN 16931 define um modelo de dados semântico para faturas eletrónicas. Descreve que informação uma fatura eletrónica deve conter e quais as regras de negócio aplicáveis. No entanto, a norma em si é independente da sintaxe. Especifica o que deve ser incluído numa fatura, mas não como o ficheiro XML deve ser estruturado.
É aí que entram as duas sintaxes oficiais: UBL e CII.
UBL 2.1: A Norma OASIS
Universal Business Language (UBL) é um formato XML desenvolvido pela organização de normalização OASIS. UBL abrange muito mais do que apenas faturas. Define documentos para todo o processo de aquisição, desde encomendas e avisos de expedição até faturas.
Características do UBL
- Namespace:
urn:oasis:names:specification:ubl:schema:xsd:Invoice-2 - Elemento raiz:
<Invoice>(ou<CreditNote>para notas de crédito) - Estrutura: Plana e modular com elementos claramente nomeados
- Adoção: Amplamente utilizado internacionalmente, especialmente na Escandinávia, nos Países Baixos e na rede Peppol
- XRechnung: XRechnung suporta UBL como uma das suas duas sintaxes permitidas
Exemplo (simplificado)
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2">
<cbc:ID>INV-2025-001</cbc:ID>
<cbc:IssueDate>2025-07-25</cbc:IssueDate>
<cac:AccountingSupplierParty>
<cac:Party>
<cac:PartyName>
<cbc:Name>Muster GmbH</cbc:Name>
</cac:PartyName>
</cac:Party>
</cac:AccountingSupplierParty>
</Invoice>
CII D16B: A Norma UN/CEFACT
Cross-Industry Invoice (CII) é mantida pela UN/CEFACT (Centro das Nações Unidas para a Facilitação do Comércio e o Negócio Eletrónico). CII baseia-se no Supply Chain Reference Data Model (SCRDM) e utiliza uma estrutura mais profundamente aninhada do que UBL.
Características do CII
- Namespace:
urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100 - Elemento raiz:
<CrossIndustryInvoice> - Estrutura: Profundamente aninhada com elementos de contexto agrupados
- Adoção: Amplamente utilizado na Alemanha e em França, base para ZUGFeRD e Factur-X
- ZUGFeRD: ZUGFeRD utiliza exclusivamente CII como formato XML incorporado
Exemplo (simplificado)
<rsm:CrossIndustryInvoice xmlns:rsm="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100">
<rsm:ExchangedDocument>
<ram:ID>INV-2025-001</ram:ID>
<ram:IssueDateTime>
<udt:DateTimeString format="102">20250725</udt:DateTimeString>
</ram:IssueDateTime>
</rsm:ExchangedDocument>
</rsm:CrossIndustryInvoice>
Principais Diferenças
| Propriedade | UBL 2.1 | CII D16B |
|---|---|---|
| Organismo de normalização | OASIS | UN/CEFACT |
| Profundidade de aninhamento | Mais plana | Mais profundamente aninhada |
| Formato de data | ISO 8601 (2025-07-25) | UN/EDIFACT Formato 102 (20250725) |
| Nota de crédito | Documento CreditNote separado | Via TypeCode dentro do mesmo documento |
| Compatibilidade ZUGFeRD | Não | Sim |
| Compatibilidade Peppol | Sim (padrão) | Sim (opcional) |
| Compatibilidade XRechnung | Sim | Sim |
Qual Sintaxe Deve Escolher?
Escolha UBL se:
- Envia faturas através da rede Peppol (UBL é o padrão aí)
- Trabalha internacionalmente com parceiros na Escandinávia ou nos países do Benelux
- Envia faturas XRechnung a clientes do setor público na Alemanha (ambas as sintaxes são permitidas, UBL é ligeiramente mais comum)
- Prefere uma estrutura XML mais plana e legível
Escolha CII se:
- Quer criar faturas ZUGFeRD/Factur-X (CII é obrigatório para estas)
- Trabalha com parceiros de negócios franceses (Factur-X baseia-se em CII)
- Necessita de um PDF híbrido com dados de fatura XML incorporados
Utilizar Ambas as Sintaxes com o invapi
O invapi suporta totalmente tanto UBL como CII. Pode criar, converter e validar faturas em ambas as sintaxes, tudo através de uma API unificada. O Validador XRechnung gratuito também deteta automaticamente se uma fatura é UBL ou CII e valida-a contra o conjunto de regras correto.
Se não tem a certeza de qual a sintaxe que precisa, comece com UBL para faturas XRechnung puras ou com CII se pretende gerar PDFs ZUGFeRD. Com o invapi, pode converter entre formatos a qualquer momento. Consulte os nossos preços para encontrar o plano adequado às suas necessidades.
Conclusão
UBL e CII são duas formas igualmente válidas de implementar a mesma norma europeia. A escolha depende do seu caso de uso específico: UBL para cenários internacionais e Peppol, CII para ZUGFeRD e o mercado franco-alemão. Com as ferramentas certas, não precisa de se comprometer com uma única sintaxe, podendo alternar flexivelmente entre ambas.