Olá, tive problema com o provedor Elotech quanto precisava ter 5 casas de decimais, melhor colocando no campo "ValorUnitario" com 5 casas o ACBR arredonda para 2 casas.
Basicamente o erro é ValorLiquido difere da quantidade * valorunitario
Fiz a alteração na unit EloTech.GravarXml.pas
Na função: function TNFSeW_Elotech203.GerarItemServico: TACBrXmlNodeArray;
Alterado de
Result[i].AppendChild(AddNode(tcDe2, '#', 'ValorUnitario', 1, 17, 1, NFSe.Servico.ItemServico[i].ValorUnitario));
Para
Result[i].AppendChild(AddNode(tcDe5, '#', 'ValorUnitario', 1, 17, 1,
NFSe.Servico.ItemServico[i].ValorUnitario));
Feito isso a NFSe transmite normalmente.
No arquivo nfse_v2_03.xsd da Elotech, já fala que o limite é 5 dígitos
Att
Jaisson
EloTech.GravarXml.pas