Peppol BIS Billing 3.0: regras de negócio e validação
Guia técnico completo sobre as regras de negócio Peppol BIS Billing 3.0 (BR-, PEPPOL-): o que validam, como interpretá-las e como corrigir os erros.
Valide o seu ficheiro agora
Grátis, instantâneo e 100% no seu navegador - nenhum ficheiro é enviado.
O que são as regras de negócio Peppol?
O Peppol BIS Billing 3.0 define dois conjuntos de regras de validação além da estrutura XSD: as regras EN 16931 (prefixo BR-) que implementam a norma europeia, e as regras específicas Peppol (prefixo PEPPOL-) que adicionam restrições suplementares.
Existem mais de 200 regras de negócio. Cada regra tem um identificador único (ex: BR-01, PEPPOL-EN16931-R001), uma descrição do que valida, e um nível de severidade: fatal (rejeição) ou warning (aviso).
As regras fatais devem ser cumpridas para que a fatura seja aceite na rede Peppol. As regras warning indicam boas práticas ou situações que podem causar problemas de processamento downstream.
Erros de validação Peppol mais frequentes
Os erros BR- e PEPPOL- mais encontrados na validação:
PEPPOL-EN16931-R003: Referência do comprador (BT-10) obrigatória
O Peppol BIS 3.0 torna a referência do comprador (cbc:BuyerReference ou cac:OrderReference/cbc:ID) obrigatória, embora seja opcional na EN 16931 de base. A referência do comprador é utilizada para encaminhar a fatura dentro da organização do comprador. A sua ausência causa a rejeição nos pontos de acesso Peppol.
O código do meio de pagamento deve pertencer ao subconjunto permitido UNCL4461
Enquanto a EN 16931 permite qualquer código de meio de pagamento UNCL4461, o Peppol BIS 3.0 restringe os códigos permitidos. Os códigos válidos mais comuns são 30 (Transferência a crédito), 49 (Débito direto) e 58 (Transferência a crédito SEPA). O código 1 (por instrumento não especificado de outra forma) não é aceite.
PEPPOL-EN16931-R010: Endereço eletrónico do comprador (EndpointID) obrigatório
O Peppol BIS 3.0 exige o endereço eletrónico do comprador (cbc:EndpointID com um identificador de esquema EAS válido) para que a fatura possa ser encaminhada para o destinatário na rede. Um endpoint de comprador em falta ou com esquema incorreto é uma das causas mais comuns de rejeição de faturas Peppol.
PEPPOL-EN16931-R004: O CustomizationID deve ser o valor Peppol correto
O cbc:CustomizationID deve ser exatamente: urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0. Mesmo variações menores (separador errado, número de versão) causam falha na identificação do esquema. Este valor é sensível a maiúsculas e minúsculas.
PEPPOL-EN16931-R120: Cálculo do montante líquido da linha de fatura
O montante líquido da linha de fatura (BT-131) deve ser igual à quantidade multiplicada pelo preço líquido (por quantidade base), mais os encargos ao nível da linha e menos os descontos ao nível da linha. Mesmo uma diferença de arredondamento de 0.01 numa única linha causa a rejeição no ponto de acesso do comprador.
Como interpretar e corrigir as regras
Cada mensagem de erro inclui o identificador da regra (ex: BR-01), o contexto XPath onde o erro foi encontrado, e uma descrição em inglês. O identificador permite consultar a documentação oficial Peppol.
Para regras BR- (EN 16931): consulte a especificação EN 16931-1 e o documento de aplicação EN 16931-3-2 (UBL). Para regras PEPPOL-: consulte o BIS Billing 3.0 disponível no site docs.peppol.eu.
O nosso validador UBL/Peppol executa todas as regras Schematron e apresenta os erros com o contexto XPath e a descrição completa, facilitando o diagnóstico e a correção.
Boas práticas para conformidade Peppol
Use sempre o perfil correto: o CustomizationID deve corresponder exatamente ao perfil Peppol BIS Billing 3.0. Uma diferença de maiúsculas/minúsculas ou um espaço extra causa rejeição.
Teste com amostras reais: use o nosso validador com faturas reais antes de ir a produção. Os erros de cálculo (totais de IVA, valor total da fatura) são frequentes e dependem dos dados específicos.
Mantenha as regras atualizadas: a OpenPeppol publica atualizações periódicas das regras Schematron. Verifique regularmente se o seu sistema usa as versões mais recentes.
Valide as suas faturas Peppol
O nosso validador executa todas as regras BR- e PEPPOL- em tempo real no seu browser. Nenhum dado é enviado para os nossos servidores.
Validar agoraPerguntas frequentes
Qual a diferença entre regras BR- e PEPPOL-?
As regras BR- implementam a norma europeia EN 16931. As regras PEPPOL- são específicas da rede Peppol e adicionam restrições suplementares ao EN 16931.
Uma fatura com warnings Peppol pode ser enviada?
Tecnicamente sim, os warnings não bloqueiam a transmissão. Mas devem ser analisados: podem causar problemas de processamento no sistema do destinatário.
Como obter a lista completa das regras Peppol?
Sim. A regra PEPPOL-EN16931-R003 do Peppol BIS 3.0 torna a referência do comprador (BT-10, mapeada para cbc:BuyerReference ou cac:OrderReference/cbc:ID) obrigatória. Peça aos seus compradores o valor de referência que preferem - normalmente é um número de ordem de compra ou um código de centro de custo utilizado para encaminhamento interno.
Por que a minha fatura falha na regra BR-CO-15?
BR-CO-15 verifica que o total de IVA da fatura (TaxTotal/TaxAmount) é igual à soma dos TaxSubtotal/TaxAmount. Verifique os cálculos e arredondamentos em cada linha.
Como corrijo o PEPPOL-EN16931-R004?
O CustomizationID identifica o perfil de conformidade. Para Peppol BIS Billing 3.0, deve ser exatamente 'urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0'.
As regras Peppol são as mesmas em todos os países?
As regras core BR- e PEPPOL- são as mesmas. Alguns países adicionam extensões nacionais (ex: NLCIUS para os Países Baixos, AUNZ para Austrália/Nova Zelândia).
Como testar as regras Peppol sem enviar para a rede?
Use o nosso validador local (processamento no browser). Também pode usar o Peppol Testbed oficial ou o validador da OpenPeppol para testes mais completos.
A versão das regras Schematron importa?
Sim, a OpenPeppol publica novas versões periodicamente. Certifique-se de que o seu sistema usa a versão mais recente para evitar falhas com Access Points atualizados.
Como validar faturas de crédito (notas de crédito) Peppol?
As notas de crédito Peppol usam o documento CreditNote UBL (não Invoice). As regras são similares mas algumas são específicas. O nosso validador suporta ambos os tipos.
Existem ferramentas open-source para validação Peppol?
Sim: phive (Java, da OpenPeppol), Mustang (Java, para Factur-X/ZUGFeRD com suporte Peppol), e Saxon (processador XSLT para executar as regras Schematron diretamente).