Ir para conteúdo
  • Cadastre-se

dev botao

Erro no arredondamento usando RoundABNT


Ver Solução Respondido por Daniel Simoes,
  • Este tópico foi criado há 1757 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Boa tarde. Pessoal estou passando por um problema que parece não ter fim, toda hora uma situação diferente e meus clientes reclamando muito com estes erros, é o seguinte, eu uso a função RounABNT do ACBr para gravar informações no banco de dados e gerar o XML do sat.

Eu tenho um exemplo que está acontecendo neste momento (lembrando que é um BD de testes)

Tenho 2 produtos diferentes na venda :

Produto A - Valor Unitário R$ 14,90 - Qtd 1,550 Kg = R$ 23,095

Produto B - Valor Unitário R$ 34,90 - Qtd 2,168 Kg = R$ 75,6632

Usando o RoundABNT os valores arredondados para duas casas decimais ficam respectivamente R$ 23,09 e R$ 75,66 e totalizando R$ 98,75

Pois bem, porém quando eu gero o XML, quem calcula os subtotais e total é o sat e no sat os valores são respectivamente R$ 23,10 e R$ 75,66 e totalizando R$ 98,76, conforme xml em anexo.

Ao validar o xml retorna o erro

Citar

Código do Retorno : 6010

Retorno : Erro de validação do conteúdo

Retorno Str: 565794|06010|1408|Rejeição: Valor total do CF-e-SAT maior que o somatório dos valores de Meio de Pagamento empregados em seu pagamento.||

Mensagem de Retorno : Rejeição: Valor total do CF-e-SAT maior que o somatório dos valores de Meio de Pagamento empregados em seu pagamento.

Mensagem SEFAZ : 

Código do Erro : 1408

Erro : Valor total do CF-e-SAT maior que o somatório dos valores de Meio de Pagamento empregados em seu pagamento

Porém como a soma no sistema ficou R$ 98,75 o valor informado pago fica com R$ 0,01 menor e gera o erro. Como resolvo esta situação ?

Erro retorno do sat (no log gerado pelo sat) :

Citar

31/05/19 16:02:50:561 - NumeroSessao: 565794 - Resposta:565794|06010|1408|Rejeição: Valor total do CF-e-SAT maior que o somatório dos valores de Meio de Pagamento empregados em seu pagamento.||

Alguém ja passou por isso ??

Muito Obrigado !

000000000002028.xml

Editado por Edevair Viesa Junior
Faltou informações

_____________________________________

Junior - Rhovanion Tecnologia

(11) 4224.6543

Link para o comentário
Compartilhar em outros sites

3 minutos atrás, Daniel Simoes disse:

O SAT exige Truncamento...

Arredondamento só é permitido no SAT para venda de combustíveis 

Hummm.. Acho que a informação não procede....

Se usar truncamento neste caso que citei acima, os valores ficam diferentes também...

Citar

Produto A - Valor Unitário R$ 14,90 - Qtd 1,550 Kg = R$ 23,095 usando trunc fica R$ 23,09

Produto B - Valor Unitário R$ 34,90 - Qtd 2,168 Kg = R$ 75,6632 usando trunc fica R$ 75,66

E fica extamente como se tivesse usado RoundABNT somando o total R$ 98,75 gerando o erro !!!

o problemas está neste arredondamento :

Produto A - Valor Unitário R$ 14,90 - Qtd 1,550 Kg = R$ 23,095

O RoundABNT arredonda para R$ 23,09 ficando igual ao trunc porém no sat o valor calculado fica R$ 23,10 conforme imagem do comprovante em anexo.

Fiz um teste informando R$ 0,01 a mais na forma de pagamento e o cupom foi gerado !!!

20190531_171322.jpg

_____________________________________

Junior - Rhovanion Tecnologia

(11) 4224.6543

Link para o comentário
Compartilhar em outros sites

  • Fundadores
  • Solution

Realmente me enganei... o Truncamento é mandatório no caso de combustíveis...

21 horas atrás, Edevair Viesa Junior disse:

O RoundABNT arredonda para R$ 23,09 ficando igual ao trunc porém no sat o valor calculado fica R$ 23,10 conforme imagem do comprovante em anexo.

parece haver algum erro no seu código...  o teste abaixo, é executado com sucesso...  (testei no Lazarus e no Delphi 7)

  dblTotal := 14.90 * 1.550;
  CheckEquals( 23.10, RoundABNT(dblTotal, 2), 0.00001);  

Verifique se você realmente está usando o RoundABNT, ou se outra rotina muda o valor

O RoundABNT usa a regra desse documento...

http://svn.code.sf.net/p/acbr/code/tools/Diversos/ABNT NBR-5891 Regras de arredondamento e numeração decimal.pdf

  • Curtir 2
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.