Arredondamentos, IVA e Peppol: porque um cêntimo pode fazer a diferença
Uma fatura apresenta um total num ERP, mas o sistema de comércio eletrónico ou a aplicação de contabilidade chega a um valor diferente por um cêntimo. Qual dos sistemas está errado?
Em muitos casos, nenhum.
Uma diferença de um cêntimo pode resultar simplesmente do momento em que cada sistema arredonda os preços, os descontos, a base tributável e o IVA. Com a crescente utilização da faturação eletrónica estruturada — nomeadamente através de Peppol e de modelos baseados na norma europeia EN 16931 — estas pequenas diferenças deixaram de ser apenas uma questão de apresentação: podem determinar se um documento é ou não aceite por outro sistema.
É por isso que a totalização de uma fatura no Gestix é efetuada pelo próprio ERP e não delegada na aplicação que comunica com a API.
Uma fatura é mais do que quantidade × preço + IVA
O cálculo parece simples:
Quantidade × Preço − Descontos + IVA = Total
Na prática, há várias decisões pelo caminho.
O preço inclui ou não IVA? Existem vários descontos sucessivos na linha? Há um desconto global no documento? Esse desconto é uma percentagem ou um valor? Em que momento deve ser feito o arredondamento? O IVA é calculado linha a linha ou sobre valores acumulados?
Duas aplicações podem utilizar exatamente os mesmos preços, quantidades, descontos e taxas de IVA e, ainda assim, chegar a totais ligeiramente diferentes.
Um caso particularmente interessante ocorre quando os preços já incluem IVA.
Um exemplo: 24,95 € com 30,63% de desconto
Consideremos uma unidade com:
- preço com IVA: 24,95 €
- desconto: 30,63%
- IVA: 21%
Depois do desconto, o valor bruto da linha é:
24,95 × 0,6937 = 17,307815 €
Arredondado aos cêntimos:
17,31 €
Para determinar a base tributável correspondente:
(24,95 × 0,6937) ÷ 1,21 = 14,303979… €
Arredondada aos cêntimos:
14,30 €
O IVA da linha fica então determinado pela diferença:
17,31 € − 14,30 € = 3,01 €
Parece um detalhe insignificante. Mas não é.
Se outra aplicação arredondar primeiro o valor bruto e voltar depois a calcular o IVA a partir desse valor já arredondado, pode chegar, em determinados casos, a um resultado diferente.
Multiplique-se essa diferença por várias linhas, diferentes taxas de IVA, descontos e abatimentos e é fácil perceber por que razão dois sistemas podem deixar de concordar sobre os totais de uma mesma fatura.
EN 16931 e a importância do cálculo ao nível da linha
A faturação eletrónica estruturada tornou esta questão especialmente relevante.
A norma europeia EN 16931, utilizada no ecossistema europeu de faturação eletrónica e em implementações Peppol, define um modelo semântico rigoroso para os valores que constituem uma fatura.
Não basta que o total final “pareça certo”. Os valores das linhas, bases tributáveis, impostos, descontos e totais têm de ser coerentes entre si e respeitar as regras de validação aplicáveis ao documento eletrónico.
O Gestix dispõe, por isso, de um modelo de cálculo que transforma os dados comerciais do documento — incluindo preços com IVA, descontos e abatimentos — nos valores líquidos, bases tributáveis, impostos e totais exigidos pelo modelo EN 16931 e pelas regras de interoperabilidade Peppol.
Nesse modelo, cada linha é totalizada individualmente e os respetivos valores arredondados são posteriormente utilizados na construção dos subtotais de IVA e dos totais do documento.
Isto reduz uma das causas clássicas das diferenças de um cêntimo: utilizar estratégias de arredondamento diferentes daquelas que permitem manter coerentes os valores das linhas, as bases tributáveis, os subtotais de IVA e os totais exigidos pelo modelo de interoperabilidade.
Três descontos de linha não são um único desconto
Há ainda outra fonte frequente de divergências nas integrações.
No Gestix podem existir vários descontos sucessivos numa linha. Estes descontos são cumulativos e não aditivos.
Por exemplo, um desconto de 10% seguido de outro de 5% não corresponde a um desconto de 15%.
O cálculo é:
0,90 × 0,95 = 0,855
Ou seja, o desconto efetivo é de 14,5%.
Esta distinção é particularmente importante nas integrações com lojas online, plataformas comerciais e aplicações externas que criam documentos através da API Gestix.
Se o sistema externo simplesmente somar as percentagens, os valores calculados deixarão de coincidir.
E os descontos globais?
Os descontos aplicados ao documento acrescentam outra dimensão ao problema.
Um desconto global pode afetar diferentes bases tributáveis quando o documento contém linhas sujeitas a diferentes taxas de IVA. É, por isso, necessário determinar corretamente a parte do desconto associada a cada categoria e taxa de IVA.
No modelo EN 16931/Peppol, os descontos ao nível do documento são identificados como tal e considerados no apuramento da base tributável da respetiva categoria de IVA.
Internamente, o Gestix efetua os cálculos e ajustamentos necessários para preservar a coerência entre os valores comerciais do documento, as bases tributáveis, os subtotais de IVA e o total final.
Quando necessário, diferenças residuais provocadas pelo arredondamento têm igualmente de ser tratadas de forma controlada, em vez de simplesmente desaparecerem ou alterarem o total pretendido.
A API envia os dados comerciais; o Gestix totaliza
Daqui resulta uma regra importante para quem integra aplicações com o Gestix.
Uma aplicação que cria uma fatura através da API deve enviar sobretudo os dados comerciais que dão origem ao documento: quantidades, preços, descontos, taxas de IVA e restantes elementos aplicáveis.
A totalização é efetuada no servidor Gestix.
Depois de processado o documento, a API devolve os valores efetivamente determinados e persistidos pelo ERP, incluindo a base líquida, IVA, arredondamentos e total.
Desta forma, existe uma única fonte de verdade para o documento Gestix.
A aplicação externa pode naturalmente efetuar os seus próprios cálculos para apresentação ou conferência. Mas não deve assumir que um cálculo efetuado com uma estratégia de arredondamento diferente terá necessariamente de produzir os mesmos valores intermédios.

ERP, API e Peppol a falar a mesma linguagem
A interoperabilidade não consiste apenas em conseguir transmitir um ficheiro XML de um sistema para outro.
É necessário que ambos atribuam o mesmo significado aos valores que estão dentro desse ficheiro.
É precisamente por isso que questões aparentemente tão pequenas como quando arredondar um cêntimo assumem importância na evolução do Gestix.
O suporte de faturação eletrónica e Peppol não termina na geração do documento eletrónico. Começa antes disso, no modelo de cálculo que produz os valores que irão integrar esse documento.
Ao centralizar a totalização no ERP e aplicar regras adequadas aos diferentes cenários de faturação, o Gestix procura assegurar que aquilo que é faturado, aquilo que a API devolve e aquilo que é transmitido eletronicamente representam o mesmo documento comercial.
Porque, em faturação eletrónica, um cêntimo também é informação.