Como evitar diferença de centavos no arredondamento dos ambientes SIGALOJA e SIGAFRT?

Produto:

Protheus

Versões:

11 e 12

Ocorrência:

Como evitar diferença de centavos no arredondamento dos ambientes SIGALOJA e SIGAFRT?

Ambiente:

Unspecified

Passo a passo:

Abaixo está a relação de campos, parâmetros e outras informações importantes a serem verificadas e configuradas para que o sistema faça os cálculos de arredondamento corretamente.

Campos

Deve ser verificado o tamanho dos campos e quantidade de casas decimais para que o valor seja gravado corretamente. Os campos devem ter a configuração de casas decimais equivalente entre eles. Veja abaixo a equivalência de campos entre as tabelas:


Campos relacionados ao CABEÇALHO da venda:

CamposTabela SLQTabela SL1Tabela SC5
Percentual de Desconto no TotalLQ_DESCNFL1_DESCNFC5_DESC1

Importante:

  1. Considere o campo da tabela SC5, apenas se utilizar a geração de Pedido de Venda (Faturamento) proveniente dos módulos SIGALOJA / Front Loja.


Campos relacionados aos ITENS da venda:

CamposTabela SLRTabela SL2Tabela SD2Tabela SC6Tabela SC9
Preço de TabelaLR_PRCTABL2_PRCTABD2_PRUNITC6_PRUNIT-
Valor UnitárioLR_VRUNITL2_VRUNITD2_PRCVENC6_PRCVENC9_PRCVEN
Valor do ItemLR_VLRITEML2_VLRITEMD2_TOTALC6_VALOR-
Desconto no ItemLR_VALDESCL2_VALDESCD2_DESCONC6_VALDESC-


Importante:

  1. Os campos relacionados ao "Preço de Tabela" devem ter a mesma configuração dos campos de valor da tabela de preço.
    1. Exemplo: Caso o campo de preço da tabela SB0 estiver com 4 casas decimais, os campos relacionados ao "Preço de Tabela" também devem ter essa mesma configuração.
  2. Os campos relacionados ao "Valor do Item" devem ter 2 casas decimais.
  3. Considere os campos das tabelas SC6 e SC9, caso utilize a geração de Pedido de Venda (Faturamento) proveniente dos módulos SIGALOJA / Front Loja.
  4. Os campos relacionados ao "Desconto no Item", devem ter a mesma configuração dos campos "Valor Unitário".

Parâmetros

ParâmetroValor
MV_LJTPDES2 (Este parâmetro é aconselhável configurar como 2)
MV_LJAJDES.T./.F.  ( Parâmetro que diz se deve manter sempre a integridade entre valor unitário vezes quantidade igual ao valor total, pois dependendo do total de casas pode haver diferenças )
MV_ARREFATN/S     ( "N"=quando trunca e "S"=quando arredonda ) 


  • Para ambiente que utiliza ECF

Para ambiente que utiliza ECF, é necessário efetuar as seguintes configurações:

    • CONFIGURAÇÕES NO PDV E NA RETAGUARDA:

MV_LJTPDES  = 2 
MV_ARREFAT = N/S     ( "N" quando o ECF trunca e "S" quando arredonda ) 
MV_LJIPECF   = .T.       ( Dessa forma o ERP calcula o ICMS igual os ECFs Daruma/Bematech e Sweda )
MV_LJAJDES  = .T./.F.  ( Parâmetro que diz se deve manter sempre a integridade entre valor unitário vezes quantidade igual ao valor total , pois dependendo do total de casas pode haver diferenças )

http://tdn.totvs.com.br/display/public/mp/Rateio+do+Desconto+no+Total+da+Venda

Compilar o ponto de entrada FRTECF13 (.F. quando o ECF trunca e .T. quando arredonda) 
http://tdn.totvs.com.br/pages/releaseview.action?pageId=6790734

Não pode possuir 4 casas nos campos de totais, mais é recomendado que possua no valor unitário do item LR/L2_VRUNIT 
http://tdn.totvs.com.br/display/public/mp/Arredondamento+e+casas+decimais

MV_LJAJDES = .T. (Opcional, pois mantém a integridade entre VrUnit * Qtd com VlrItem )

Obs: Para o correto funcionamento é imprescindível que o cadastro de estações (SLG) contenha todas os PDV's corretamente cadastrados na retaguarda com os devidos códigos de estações(L1_ESTAÇÃO) e modelos de

impressoras utilizado. Caso exista diferença, o resultado final poderá divergir centavos entre livros fiscais e reduções Z.

Devemos nos atentar também para a TAG <ModoCalculo> do arquivo "manutencao.xml", pertinente a impressora Bematech 4000 / 4200 MP-4200 TH FI II, contido na pasta system32 ou SysWow64. Para que seja efetuado

corretamente o cálculo de arredondamento a TAG deve esta com o conteúdo "A" para arredondamento. Caso o conteúdo seja "T" o valor será truncado.

Outro ponto importante: caso o parâmetro MV_LJTPDES esteja com o valor igual a 2 o campo VrUnit deve possuir mais de 2 casas decimais, pois se o campo estiver configurado com 2 casas decimais e o MV_LJTPDES estiver configurado com o valor 2, alguns valores podem dar divergência no calculo de arredondamento ou quando for truncar. Se a configuração do parâmetro MV_LJTPDES = 2 deve-se alterar a quantidade de casas decimais do campo VrUnit para 3 casas ou mais, caso queira manter a quantidade de casas com 2 do campo VrUnit deve alterar o valor do parâmetro MV_LJTPDES = 0.


    • CONFIGURAÇÕES SOMENTE PARA O PDV:

Configure no arquivo SIGALOJA.ini no PDV, para que respeite a regra de arredondamento dos ECFs Daruma/Bematech e Sweda: 

[Arredondamento] 
Habilita = 1
 
( Dependendo do modelo da impressora a regra de rateio de desconto pode truncar na 2 ou até na 15 casas , as Bematechs mais antigas utilizavam 2
( http://partners.bematech.com.br/bemacast/Paginas/post.aspx?idPost=5790 ) , as mais novas são 15 igual a EPSON , o ideal nesse caso é verificar diretamente com o fabricante )


[Decimais ECF]

Decimais=14


Exemplo de venda:

MV_LJTPDES = 2

MV_ARREFAT = S

MV_LJIPECF = .T.

MV_LJAJDES = .T.

Quantidade de itens: 1 - R$ 1.520,00 – desconto 9,22% no item (R$ 140,14) = Valor do item: R$ 1.379,86

Quantidade de itens: 2 - R$ 3.040,00 – desconto 9,22% no item (R$ 280,28) = Valor do item: R$ 2.759,72


Outro exemplo:

MV_LJTPDES = 2

MV_ARREFAT = N

MV_LJIPECF = .T.

MV_LJAJDES = .T.

Quantidade de itens: 1 - R$ 1.520,00 – desconto 9,22% no item (R$ 140,15) = Valor do Item: R$ 1.379,85

Quantidade de itens: 2 - R$ 3.040,00 – desconto 9,22% no item (R$ 280,30) = Valor do item: R$ 2.759,70.



  • Para ambiente que utiliza SAT

Para ambiente que utiliza SAT, é necessário efetuar as seguintes configurações:

MV_LJTPDES  = 2 
MV_ARREFAT = S      ( "N" quando trunca e "S" quando arredonda ). Para o SAT deve arredondar.
MV_LJIPECF   = .F.
MV_LJAJDES  = .T./.F.  ( Parâmetro que diz se deve manter sempre a integridade entre valor unitário vezes quantidade igual ao valor total , pois dependendo do total de casas pode haver diferenças ).

Importante:

      1. No caso do valor unitário, conforme a legislação do SAT, deve ser informado com 2 decimais (Portaria DNC 30/94), inclusive na tabela de preço do produto (SB0 ou DA1) deve seguir essa mesma regra. Sempre verificar no portal da Sefaz a configuração vigente (clique aqui)
      2. Além desses parâmetros citados acima, devem ser considerados também os parâmetros de configuração de arredondamento de impostos, conforme descrito no link http://tdn.totvs.com/display/public/PROT/Arredondamento+de+Impostos+--+112268.
        1. O parâmetro MV_RNDSOBR deve ser configurado como .F. (false).
        2. Os parâmetros de arredondamento de impostos (MV_RNDIPI, MV_RNDICM, MV_RNDISS, MV_RNDIRF, MV_RNDINS, MV_RNDCOF, MV_RNDPIS, MV_RNDCSL, MV_RNDPS2, MV_RNDCF2, MV_RNDPS3 e MV_RNDCF3) devem ser configurados como .T. (true).