Normalmente esse erro ocorre quando é vendido um produto com composição, ou seja, o produto possui insumos.
Em alguns casos o rateio do valor fica errado.
Esse comando abaixo só se aplica se no movimento existir apenas 1 produto desse tipo, caso haja mais de 1, aconselho a adaptar o comando afim de evitar erro e estragar o movimento todo.
O comando abaixo faz o somatório da base de ICMS dos insumos e o somatório do valor de ICMS e coloca esse somatório no produto principal ( tipo = s )
DECLARE @ideDoMovimento uniqueidentifier = 'IDE DO MOVIMENTO' update Movimento_Produto set Base_ICMS = (select sum(base_icms) from Movimento_Produto where Movimento__Ide = @ideDoMovimento and tipo ='i'), Valor_ICMS = (select sum(Valor_ICMS) from Movimento_Produto where Movimento__Ide = @ideDoMovimento and tipo = 'i') where Movimento__Ide = @ideDoMovimento and tipo ='s'