Causa

Devido a questões de arredondamento, pode ocorrer esse erro.

Solução

Primeiro dê uma olhada na tabela movimento e movimento__produto se os valores estão batendo. Você pode fazer isso usando os comandos abaixo:
Select sum(valor_icms) from movimento_produto where movimento__ide ='IDE DO MOVIMENTO AQUI' and Tipo not in('C','D','O','Q','X') -- Somatório dos produtos
Select valor_icms from movimento where ide ='IDE DO MOVIMENTO AQUI'

Provavelmente os valores estarão divergentes, se for o caso, rode o comando abaixo, o mesmo atualiza o valor do icms, note que também é feito um arredondamento, com o máximo de 2 casas decimais. UPDATE Movimento_Produto SET valor_icms= round( base_icms * icms_perc/100, 2) WHERE movimento__ide = 'IDE DO MOVIMENTO AQUI'

Depois de rodar o comando, verifique se agora os valores estão batendo, caso não esteja use o comando abaixo
Update movimento set valor_icms = (Select sum(valor_icms) from movimento_produto where movimento__ide ='IDE DO MOVIMENTO AQUI' and Tipo not in('C','D','O','Q','X') ) where ide ='IDE DO MOVIMENTO AQUI'

Ronicriado em 20 mar 2025 alterado em 20 mar 2025

Base conhecimento Comercial Saidas

8 | 0