Total da NF-e difere do somatório dos componentes do valor total
Rejeição 610: Total da NF difere do somatório dos valores que compõem o valor total da NF
vNFvProdICMSTotA rejeição 610 ocorre quando o campo <vNF> no grupo <total><ICMSTot> não bate com a fórmula de composição do valor total da NF-e. O erro indica inconsistência entre os componentes declarados e o total. Corrija <vNF> aplicando a fórmula correta a partir dos demais campos do <ICMSTot> antes de retransmitir.
O que significa esta rejeição
O valor total da NF-e, declarado em <vNF>, deve ser exatamente igual ao resultado de uma fórmula que soma e subtrai os componentes do grupo <ICMSTot>. A SEFAZ recalcula esse total com os valores informados e compara com o <vNF> declarado. Se houver qualquer diferença, a nota inteira é rejeitada com o código 610.
Esse erro é distinto da rejeição 531 (que trata da inconsistência interna do totalizador de BC do ICMS) e da 528 (que trata do cálculo do ICMS item a item): aqui o problema está no valor final da nota, que agrega todos os tributos e ajustes.
Causas mais comuns
- Cálculo do
<vNF>feito por fórmula paralela que não usa diretamente os campos de<ICMSTot>. - Atualização de um componente (frete, desconto, IPI) sem recalcular o total.
- Arredondamento intermediário que acumula diferença de centavos nos componentes antes de somar.
- Inclusão ou exclusão de um item após o totalizador ter sido calculado, sem recalcular
<vNF>. - Desconto global informado em
<vDesc>de<ICMSTot>mas não refletido corretamente no total. - Importação de XML externo com
<vNF>preenchido manualmente de forma divergente.
Regra de validação oficial
A regra W16-10 do Anexo I do MOC define que <vNF> em <ICMSTot> deve ser igual ao resultado de:
vNF = vProd + vFrete + vSeg + vOutro + vII + vIPI + vICMSST - vDesc - vICMSDesonOnde cada componente vem do próprio grupo <ICMSTot>. Se o valor declarado em <vNF> divergir desse cálculo, a transmissão é rejeitada com o código 610.
Exemplo XML, antes (errado)
<total>
<ICMSTot>
<vBC>50000.00</vBC>
<vICMS>6000.00</vICMS>
<vICMSDeson>0.00</vICMSDeson>
<vFCPST>0.00</vFCPST>
<vICMSST>0.00</vICMSST>
<vProd>50000.00</vProd>
<vFrete>500.00</vFrete>
<vSeg>0.00</vSeg>
<vDesc>0.00</vDesc>
<vII>0.00</vII>
<vIPI>0.00</vIPI>
<vOutro>0.00</vOutro>
<vNF>49500.00</vNF>
</ICMSTot>
</total>(vNF correto seria 50500.00: vProd 50000 + vFrete 500, sem descontos ou tributos adicionais)
Exemplo XML, depois (correto)
<total>
<ICMSTot>
<vBC>50000.00</vBC>
<vICMS>6000.00</vICMS>
<vICMSDeson>0.00</vICMSDeson>
<vFCPST>0.00</vFCPST>
<vICMSST>0.00</vICMSST>
<vProd>50000.00</vProd>
<vFrete>500.00</vFrete>
<vSeg>0.00</vSeg>
<vDesc>0.00</vDesc>
<vII>0.00</vII>
<vIPI>0.00</vIPI>
<vOutro>0.00</vOutro>
<vNF>50500.00</vNF>
</ICMSTot>
</total>Passo a passo para corrigir
- Reúna todos os campos do grupo
<ICMSTot>:vProd,vFrete,vSeg,vOutro,vII,vIPI,vICMSST(adições) evDesc,vICMSDeson(deduções). - Aplique a fórmula:
vNF = vProd + vFrete + vSeg + vOutro + vII + vIPI + vICMSST - vDesc - vICMSDeson. - Corrija
<vNF>com o resultado exato, sem arredondamentos intermediários. - Se algum componente estiver zerado, confirme que o campo está presente no XML com o valor
0.00(ausência de campo pode gerar erro de schema separado). - Retransmita a nota após a correção.
Como o FazendaNota previne
O FazendaNota calcula <vNF> por agregação direta dos componentes de <ICMSTot>, sem fórmula paralela. Os valores de frete, seguro, desconto, IPI e ICMS-ST são derivados dos dados dos itens e aplicados com a mesma regra de arredondamento, garantindo que <vNF> reflita exatamente a soma e subtração dos campos que o compõem.
Rejeições relacionadas
- Rejeição 528, Valor do ICMS difere do produto BC e Alíquota
- Rejeição 531, Total da BC ICMS difere do somatório dos itens
Referência oficial
Esta rejeição está descrita no Anexo I - Leiaute e Regra de Validação do Manual de Orientação do Contribuinte (MOC) v7.0 da NF-e, publicado pelo CONFAZ. Texto integral em https://www.confaz.fazenda.gov.br/legislacao/arquivo-manuais/moc7-visao-geral.pdf