Calculos com imposto e descontos na nota fiscal

Fórum sobre interface com o Cliente.

Moderador: Moderadores

Avatar do usuário
rubens
Colaborador
Colaborador
Mensagens: 1520
Registrado em: 16 Ago 2003 09:05
Localização: Nova Xavantina - MT

Calculos com imposto e descontos na nota fiscal

Mensagem por rubens »

Boa tarde..

Estou tendo alguns problema com a validação de cálculo da nota fiscal.
Desta vez foi com a validação do ICMS.
Nota fiscal com erro.png
Eu faço assim:

Código: Selecionar todos

Valor do icms = Base de calculo * aliq Icms / 100 
Somo Valor do Icms
Mas conforme os arredondamentos pode dar diferença no valor total do icms.
No caso da nota mencionada acima, deu erro no valor do ICMS.
Valor do icms = Base de calculo * % Icms (559,88 * 12% ) = 67,1856 -> 67,19 e soma do valor do icms por item deu 67,20.
Qual verificação ou proteção eu poderia colocar nessa regra de negócio aí?
A forma que estou fazendo está errado? pode ter uma forma melhor?

Obrigado
Rubens
"Eu e minha casa servimos ao Senhor e você ???"
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Calculos com imposto e descontos na nota fiscal

Mensagem por JoséQuintas »

rubens escreveu:Mas conforme os arredondamentos pode dar diferença no valor total do icms.
Não tem nada a ver uma coisa com a outra.

o cálculo de ICMS é por item, cada item tem um valor, arredondando ou não, com DUAS DECIMAIS.
Na hora de somar... tem que somar esse valor "RESULTADO" e não o cálculo intermediário.

item 1: 1.555 arredondado pra 1.56 ou cortado pra 1.55
item 2: 1.555 arredondado pra 1.56 ou cortado pra 1.55

Soma: 1.56 + 1.56 = 3.12, ou 1.55 + 1.55 = 3.10, e não 1.555 + 1.555 = 3.11
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Calculos com imposto e descontos na nota fiscal

Mensagem por JoséQuintas »

rubens escreveu:Eu faço assim:
Valor do icms = Base de calculo * aliq Icms / 100
Somo Valor do Icms
Faça assim:

Valor do ICMS = Round( base de calculo * aliq ICMS / 100, 2 )

ou

valor do ICMS = Int( base de calculo * aliq ICMS ) / 100.00

E só depois some ao total.
Caso contrário, vai estar usando um valor com corte pra mostrar e um valor sem corte pra somar.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder