Rejeição 629: Valor do Produto difere do produto Valor Unitário de Comercialização e Quantidade Comercial

Descrição oficial da SEFAZ: Valor do Produto difere do produto Valor Unitário de Comercialização e Quantidade Comercial

O que significa

O valor bruto do item não bate com a multiplicação do valor unitário de comercialização pela quantidade comercial. A SEFAZ refaz essa conta e compara.

Por que acontece

Arredondamento: o sistema calcula com mais casas decimais do que informa no XML, ou trunca em vez de arredondar. Também ocorre com desconto embutido no valor do produto (o desconto tem campo próprio), com quantidade em muitas casas decimais, ou com preço unitário gravado com menos precisão do que a usada no cálculo.

Como resolver

Recalcule o valor do item exatamente com os números que vão no XML: quantidade comercial vezes valor unitário de comercialização, respeitando as casas decimais que cada campo aceita. Se sobrar diferença de centavos por arredondamento, ajuste a precisão do valor unitário até a conta fechar. Nunca embuta desconto no valor do produto: use o campo de desconto do item.

Como evitar

Faça o cálculo a partir dos valores já formatados para o XML, com a mesma precisão, em vez de formatar só na hora de gerar o arquivo.