Factur-X e ZUGFeRD: padrão de factura PDF híbrida
O Factur-X (França/Alemanha) e o ZUGFeRD incorporam uma factura XML estruturada num ficheiro PDF/A-3. Explicamos como funciona o padrão e como ler estas facturas híbridas.
O que é uma factura híbrida?
Uma factura Factur-X ou ZUGFeRD é um ficheiro PDF que contém duas coisas em simultâneo: um PDF legível por humanos (a factura visível) e um ficheiro XML legível por máquina incorporado como anexo (os dados estruturados). Ambos coexistem num único ficheiro PDF/A-3.
Este formato duplo é o melhor dos dois mundos: os humanos lêem o PDF, o software de contabilidade lê o XML automaticamente. É o formato de facturação electrónica obrigatório em França (desde 2026) e amplamente adoptado na Alemanha e na Bélgica.
O formato foi normalizado pela FNFE-MPE (França) e pela FeRD (Alemanha) e é atualmente o formato oficial de facturação eletrónica para transações B2G e B2B em ambos os países.
A norma EN 16931
O XML incorporado segue a norma europeia EN 16931 (o modelo semântico de dados para facturas electrónicas). O Factur-X e o ZUGFeRD são ambas implementações desta norma — utilizam a mesma estrutura de dados, com pequenas diferenças de nomenclatura.
Existem vários perfis de conformidade, desde o mais simples (MINIMUM, apenas 6 campos) até ao mais completo (EXTENDED, todos os campos opcionais). A maioria das empresas utiliza o perfil EN 16931 ou COMFORT.
O alinhamento entre Factur-X 1.0 e ZUGFeRD 2.0+ significa que uma única implementação pode servir ambos os mercados — reduzindo custos de desenvolvimento e permitindo uma faturação transfronteiriça sem descontinuidades.
Campos principais no XML incorporado
- ExchangedDocument / ID — Número de factura — identificador único do documento.
- SellerTradeParty / Name — Nome e número de IVA do vendedor (obrigatório para conformidade fiscal).
- SpecifiedTradeSettlement / GrandTotalAmount — Total geral com IVA — deve corresponder ao PDF.
- ApplicableTradeTax — Desagregação do IVA: taxa, base tributável e montante do imposto para cada taxa de IVA.
- BuyerTradeParty / Name — Denominação social e número de IVA do comprador — obrigatório para a dedução fiscal do lado do comprador.
- InvoiceReferencedDocument — Referência à fatura original (para notas de crédito) ou número de ordem de compra.
- SpecifiedTradePaymentTerms — Data de vencimento, condições de desconto e condições de penalização.
- SpecifiedTradeAllowanceCharge — Descontos e sobretaxas aplicados à fatura — discriminados por tipo e montante.
Factur-X vs ZUGFeRD: qual é a diferença?
Factur-X é a norma franco-alemã, comercializada como Factur-X em França e ZUGFeRD na Alemanha. Desde ZUGFeRD 2.0 (2019), ambos são tecnicamente idênticos e totalmente interoperáveis.
A única diferença real é a designação e a adoção local: as entidades públicas e plataformas francesas (como o Chorus Pro) utilizam o nome Factur-X, enquanto os sistemas de faturação alemães referem ZUGFeRD. O esquema XML incorporado (CII — Cross Industry Invoice) é o mesmo.
Para os implementadores, isto significa que basta um único analisador XML para tratar ambos. O ValidateFin suporta ambas as designações de forma transparente.
Comparação de perfis Factur-X / ZUGFeRD
A norma define múltiplos perfis de conformidade, do mínimo ao mais detalhado:
| Perfil | Campos | Linhas de artigo | Caso de utilização |
|---|---|---|---|
| MINIMUM | ~6 campos | Não | Arquivamento — o PDF é a referência |
| BASIC WL | ~20 campos | Não | Faturas simples sem detalhe por linha |
| BASIC | ~30 campos | Sim | Faturas normais com linhas de artigo |
| EN 16931 (COMFORT) | ~60 campos | Sim | Conformidade UE completa — recomendado |
| EXTENDED | ~100+ campos | Sim | Extensões específicas de setor |
| XRECHNUNG | ~60 campos | Sim | Setor público alemão (B2G) |
A maioria das empresas deve visar o perfil EN 16931 (COMFORT), pois oferece conformidade total com a norma europeia mantendo-se gerível.
Como criar uma fatura Factur-X
A criação de uma fatura Factur-X envolve três passos: gerar o XML CII, incorporá-lo num contentor PDF/A-3 e validar o resultado. Eis o fluxo de trabalho:
- Gerar o XML CII — Crie o ficheiro XML seguindo o esquema EN 16931 com todos os campos obrigatórios para o perfil pretendido.
- Criar o contentor PDF/A-3 — O PDF deve estar em conformidade com PDF/A-3 (ISO 19005-3), que permite incorporar ficheiros arbitrários como anexos.
- Incorporar o XML como anexo — Anexe o ficheiro XML (com o nome factur-x.xml ou zugferd-invoice.xml) com o AFRelationship definido como 'Alternative'.
- Adicionar metadados XMP — Inclua os metadados XMP Factur-X no catálogo do PDF para declarar o perfil e o nível de conformidade.
- Validar o resultado — Utilize um validador Factur-X para verificar a conformidade PDF/A-3, a validade do esquema XML e a conformidade do perfil.
A ferramenta Factur-X do ValidateFin permite extrair e verificar o XML de qualquer PDF Factur-X ou ZUGFeRD existente.
Erros comuns na validação Factur-X
Estes são os problemas mais comuns encontrados ao validar faturas Factur-X/ZUGFeRD:
Anexo XML em falta
O PDF não contém um ficheiro XML incorporado, ou o ficheiro tem um nome incorreto (deve ser factur-x.xml ou zugferd-invoice.xml).
Não conformidade PDF/A-3
O PDF não é um ficheiro PDF/A-3 válido — comum quando se geram PDF com bibliotecas padrão que não suportam o formato de arquivo.
Incompatibilidade de perfil
O XML declara um perfil (ex. EN 16931) mas faltam campos obrigatórios para esse nível de perfil.
Incoerência no total de IVA
A soma dos montantes individuais das linhas de IVA não corresponde ao total de IVA declarado. Diferenças de arredondamento superiores a 1 cêntimo desencadeiam este erro.
Metadados XMP em falta
O catálogo do PDF não inclui os metadados XMP Factur-X obrigatórios que declaram o perfil e a versão.
Extraia e verifique as suas facturas Factur-X
O nosso visualizador Factur-X / ZUGFeRD extrai o XML incorporado da sua factura PDF e apresenta todos os dados de facturação — vendedor, comprador, montantes, linhas de IVA e linhas de factura. 100% local, sem dados transmitidos.
Abrir o Visualizador Factur-XPerguntas frequentes
Qual é a diferença entre Factur-X e ZUGFeRD?
Factur-X e ZUGFeRD são essencialmente o mesmo formato — uma factura híbrida que incorpora XML estruturado dentro de um ficheiro PDF/A-3. Factur-X é a designação francesa/europeia enquanto ZUGFeRD é a designação alemã. Desde ZUGFeRD 2.0, ambos estão completamente alinhados e são conformes com EN 16931.
Quais são os perfis Factur-X/ZUGFeRD?
Existem 6 perfis: MINIMUM (identificação básica), BASIC WL (sem linhas de artigo), BASIC (com linhas de artigo), EN 16931/COMFORT (conformidade completa), EXTENDED (campos adicionais) e XRECHNUNG (setor público alemão). Perfis mais elevados permitem um processamento mais automatizado.
Como posso extrair dados XML de um PDF Factur-X?
O visualizador Factur-X do ValidateFin extrai automaticamente o XML incorporado de qualquer ficheiro PDF Factur-X ou ZUGFeRD. Carregue o PDF — a ferramenta lê o anexo incorporado, analisa o XML e apresenta todos os dados estruturados da factura. Tudo é executado localmente no seu browser.
O Factur-X é obrigatório em França?
Sim. A partir de 2026, todas as faturas B2B em França devem ser emitidas em formato eletrónico, sendo o Factur-X um dos três formatos aceites, juntamente com UBL e CII. A faturação B2G através do Chorus Pro já exige formatos estruturados.
Posso utilizar Factur-X para faturação internacional?
Sim. Factur-X/ZUGFeRD baseia-se na norma europeia EN 16931 e é aceite em toda a UE. O perfil EN 16931 COMFORT garante a compatibilidade com a maioria dos requisitos europeus de faturação eletrónica.
Que ferramentas podem gerar faturas Factur-X?
A maioria dos softwares ERP e de contabilidade modernos (SAP, Sage, DATEV, Cegid) suportam a exportação Factur-X/ZUGFeRD. Bibliotecas de código aberto como Mustang (Java) e Factur-X (Python) estão também disponíveis para implementações personalizadas.
Como sei qual perfil utilizar?
Para a maioria das transações B2B, recomenda-se EN 16931 (COMFORT). Para B2G francês via Chorus Pro, MINIMUM ou BASIC pode ser suficiente. Para o setor público alemão (B2G), é obrigatório XRECHNUNG. Verifique os requisitos do seu parceiro comercial.
Qual é a diferença entre Factur-X e UBL?
Factur-X incorpora XML CII (Cross Industry Invoice) dentro de um PDF. UBL é um formato XML autónomo sem invólucro PDF. Factur-X é preferível quando a legibilidade humana é importante (o PDF), enquanto UBL é utilizado para troca puramente máquina-a-máquina (ex. Peppol).
Posso converter uma fatura UBL para Factur-X?
Sim, mas requer o mapeamento dos campos UBL para campos CII e a geração de um invólucro PDF/A-3. O conteúdo semântico é semelhante, uma vez que ambos implementam EN 16931, mas os esquemas XML diferem. Ferramentas especializadas tratam desta conversão.
Como é que o Chorus Pro trata as faturas Factur-X?
O Chorus Pro, a plataforma de faturação do governo francês, aceita Factur-X como um dos seus formatos suportados. Extrai os dados XML para processamento automatizado enquanto arquiva o PDF para fins legais. O perfil MINIMUM é o requisito mínimo.