Corrigir erros UBL e Peppol BIS 3.0: causas e exemplos
Os erros de validação UBL 2.1 e Peppol BIS Billing 3.0 mais frequentes, com causas, códigos BR e correções — e um validador grátis para testar a fatura.
Valide o seu ficheiro agora
Grátis, instantâneo e 100% no seu navegador - nenhum ficheiro é enviado.
Por que os ficheiros UBL não passam a validação Peppol
As faturas UBL (Universal Business Language) transmitidas através da rede Peppol devem passar por três camadas de validação: esquema XSD UBL 2.1, regras de negócio EN 16931 (códigos BR) e regras CIUS Peppol BIS 3.0 (códigos PEPPOL).
Cada camada pode rejeitar uma fatura. Este guia abrange os erros mais comuns que as equipas encontram ao gerar ou enviar faturas Peppol em produção.
Os códigos de erro seguem um padrão estruturado: BR-XX para regras de negócio EN 16931, PEPPOL-XX para regras específicas do Peppol e UBL-SR-XX para regras de sintaxe UBL.
Erros comuns e correções
Os erros de validação UBL/Peppol mais frequentemente reportados:
BR-01: A fatura deve ter um identificador de especificação
O elemento <cbc:CustomizationID> está em falta ou vazio. Para Peppol BIS 3.0 deve conter exatamente: urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0
BR-02: A fatura deve ter um número de fatura
O elemento <cbc:ID> está em falta ou vazio. O número de fatura deve ser único e não pode consistir apenas em espaços.
BR-04: A data da fatura é obrigatória
<cbc:IssueDate> está em falta. A data deve ser especificada no formato YYYY-MM-DD, ex.: 2026-01-15. O formato DD/MM/AAAA não é aceite.
Erros de estrutura e formato
O Peppol aplica regras matemáticas rigorosas nos cálculos fiscais.
Divergência de moeda (DocumentCurrencyCode único)
O DocumentCurrencyCode deve corresponder à moeda de todos os montantes monetários. Não é possível misturar montantes em EUR e USD numa única fatura.
BR-CO-14 / BR-CO-17: Erros de cálculo de imposto
O montante do imposto deve ser igual ao montante tributável × taxa de imposto (dentro da tolerância de arredondamento). O TaxTotal deve ser igual à soma de todos os montantes TaxSubtotal. Mesmo uma diferença de 0.01 causa falha.
BR-CO-16: Verificação do montante a pagar (valor devido)
O PayableAmount deve ser igual a LegalMonetaryTotal/TaxExclusiveAmount + TaxTotal/TaxAmount - PrepaidAmount. Esta verificação de consistência ponta a ponta deteta a maioria dos erros matemáticos.
Erros de IVA e fiscais
Problemas de identificação do comprador e vendedor.
Código de categoria de IVA inválido
UBL/EN 16931 define códigos de categoria específicos: S (Standard), Z (Taxa zero), E (Isento), AE (Autoliquidação), K (Fornecimento intracomunitário CE), G (Exportação fora da UE), O (Não tributável), L (Ilhas Canárias), M (Ceuta/Melilla). Não use um código que não esteja nesta lista.
Desagregação de IVA em falta
O elemento TaxTotal deve conter pelo menos um TaxSubtotal para cada categoria de IVA distinta aplicada. Uma fatura com taxas de IVA mistas necessita de entradas TaxSubtotal separadas para cada uma.
Referência do comprador em falta ou inválida
BuyerReference (BT-10) é obrigatório no Peppol BIS 3.0. Para o XRechnung alemão, deve ser o Leitweg-ID. Referências em falta ou malformadas causam rejeição do lado do comprador.
Valide as suas faturas UBL gratuitamente
O ValidateFin realiza uma validação completa em três fases: esquema XSD, regras de negócio EN 16931 e regras CIUS Peppol BIS 3.0. Os erros são mostrados com o seu código BR/PEPPOL e o caminho XML incorreto.
Abrir validador UBLPerguntas frequentes
Qual é a diferença entre os códigos de erro BR e PEPPOL?
Os códigos BR (ex.: BR-01, BR-CO-15) provêm da norma EN 16931 e aplicam-se a todas as faturas eletrónicas conformes na Europa. Os códigos PEPPOL (ex.: PEPPOL-EN16931-R004) são regras adicionais específicas do Peppol BIS 3.0 que se aplicam apenas a transmissões através da rede Peppol.
Posso enviar uma fatura UBL sem a rede Peppol?
Sim. UBL pode ser enviado diretamente através de API, e-mail, portal ou outros canais. As regras Peppol BIS 3.0 aplicam-se apenas à rede Peppol. Para outros canais, pode apenas precisar de cumprir EN 16931 e CIUS nacionais.
Como arredondo corretamente os montantes de IVA em UBL?
EN 16931 permite uma tolerância de arredondamento de ±0,01€ por linha. Para o total, deve somar todos os montantes das linhas e depois arredondar para 2 casas decimais. Evite usar aritmética de vírgula flutuante para cálculos financeiros.
O CustomizationID é obrigatório para todas as faturas UBL?
CustomizationID é obrigatório para Peppol BIS 3.0. Para outros CIUS (como XRechnung ou implementações Peppol nacionais) é necessário um valor diferente. Verifique sempre o CIUS específico do seu país de destino.
O que é uma regra Schematron?
Schematron é uma linguagem de validação XML usada para expressar regras de negócio Peppol. Ao contrário do XSD (que valida a estrutura), o Schematron pode validar relações entre campos cruzados como "se a categoria fiscal é S, então a taxa de imposto deve ser > 0".
Como encontro o meu endpoint Peppol?
O seu endpoint Peppol está registado no seu fornecedor de ponto de acesso. Utiliza um ID de esquema (ex. 0208 para o número de empresa BE) e o seu identificador. Verifique com o seu fornecedor AP.
O ValidateFin pode verificar regras NLCIUS ou XRechnung?
O ValidateFin valida contra o Peppol BIS 3.0 e as regras core EN 16931, que cobrem a maioria dos requisitos NLCIUS e XRechnung. Extensões específicas de cada país podem requerer validação adicional.
O que é BR-CO-10?
BR-CO-13 é uma regra EN 16931 que exige que o montante sem imposto seja igual à soma dos montantes líquidos das linhas de fatura menos os descontos de documento mais os encargos de documento. É uma das regras mais frequentemente reprovadas devido a problemas de arredondamento. (A regra relacionada BR-CO-10 exige que a soma dos montantes líquidos das linhas seja igual ao total das linhas de fatura individuais.)
As notas de crédito seguem as mesmas regras?
Sim. O Peppol BIS 3.0 aplica as mesmas regras de negócio tanto a faturas como a notas de crédito. A principal diferença é o código do tipo de documento (380 para fatura, 381 para nota de crédito).
Com que frequência mudam as regras Peppol?
O Peppol publica atualizações de regras aproximadamente duas vezes por ano (lançamentos de primavera e outono). Cada atualização pode adicionar, modificar ou remover regras. O ValidateFin mantém-se atualizado com a última versão.