Olá!
Recentemente precisei fazer uma alteração na unidade ACBrNFeNotasFiscais.pas, mais precisamente na no método ValidarRegrasdeNegocios.
Melhorando a validação dos totais da nota fiscal quando IndTot = 0
Problema:
O código original somava indiscriminadamente valores de produtos, impostos e outras despesas ao total da NF-e, sem considerar corretamente a tag indTot, que indica se um item deve ou não ser incluído no total de produtos (vProd) da nota.
E ao tentar emitir uma NFe seguindo a lógica atual a SEFAZ retornava rejeições como; 629, 630, 863...
Alteração no código:
Separamos a lógica de soma dos valores que sempre devem ser incluídos no ICMSTot, independentemente de indTot.
Mantivemos a condição para somar valores de produtos e impostos específicos ao ICMSTot somente quando indTot = 1.
Em anexo está:
A unidade já com a alteração realizada.
XML de exemplo com Frete, seguro, outros, desconto, ST, IPI, FCP, ICMS. Onde um item possui o indTot = 1 e o outro possui o IndTot = 0.
41240300389537000146550080000000281010085402.xml
ACBrNFeNotasFiscais.pas