Páginas filhas
  • DDVENDAS-43185 - DT - 514 - Calculo do ST, usar IVA após Calculo da PAUTA Zerar

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.


01. DADOS GERAIS

Produto:

TOTVS Distribuição e Varejo

Solucoes_totvs
Solucao

Solucoes_totvs_cross
SolucaoCross

Solucoes_totvs_parceiros
SolucaoParceiros

Solucoes_totvs_parceirosexptotvs
SolucaoParcsExpsTOTVS

Linha de Produto:

Linha Winthor 

Linhas_totvs

Segmento:

Distribuição TOTVS Goiânia 

Segmentos_totvs
Segmento

Módulo:5 - PROCESSAMENTOS
Função:514 - CADASTRAR TIPO DE TRIBUTAÇÃO
Ticket:17820183
Requisito/Story/Issue (informe o requisito relacionado) :DDVENDAS-43185


02. 
SITUAÇÃO/REQUISITO

Criar uma fórmula de cálculo do ST para que quando o ST calculado por pauta zerar ou negativar pegar a base do IVA para calcular o ST.

03. SOLUÇÃO

...

Criada nova fórmula na rotina 514 em que caso o valor do ST calculado por pauta

...

retornar zero ou menor que zero, utilizar a base do IVA para calcular o valor do ST.

draw.io Diagram
bordertrue
diagramNameCalculo do ST
simpleViewerfalse
width400
linksauto
tbstyletop
lboxtrue
diagramWidth546
revision1


Totvs custom tabs box
tabs1.Saiba como Utilizar, 2.Cálculo do ST, 3.Fórmulas
idspasso1,

...

passo2,passo3
Totvs custom tabs box items
defaultyes
referenciapasso1

Saiba como utilizar

Atualize a rotina abaixo a partir da versão indicada ou versão superior:

  • Rotina 300 - Atualização de funções de venda - Versão 34.0.0.120 ou superior.

Passo a passo:

  • Abra a rotina 300 e selecione as opções 12, 13, 14 e 27:

Image Added

  • Após finalizar abra a rotina 514, selecione a figura tributária marque o parâmetro Utilizar Motor de Cálculo de Impostos :

Image Added


  • Clique na aba Substituição Tributária e selecione a fórmula no campo fórmula:
    • Importante As fórmulas selecionadas na rotina 514 são as seguintes:

PVENDA_ST_COMPBASE_PAUTA_IVAPreço de venda com valor do ST comparando o valor de IVA com a Base do ST

PVENDA_ST_COMPBASE_PAUTA_IVA_BASE_RED_ICMS Preço de venda com valor do ST comparando o valor de IVA com a Base do ST com redução base de ICMS

PVENDA_ST_COMPBASE_PAUTA_IVA_RED_ICMS Preço de venda com valor do ST comparando o valor de IVA com a Base do ST com redução base de ST


Image Added

  • Abra a rotina 316 e verifique o valor do ST:

Image Added

Image Added

  • Calculando o ST com a tratativa da base do IVA x valor de Pauta tem um range de valor matematicamente impossível de chegar, pois  quando o valor de pauta zera e o ST passa a calcular por VA o preço sem imposto fica menor que o valor de pauta e tecnicamente teria que calcular por pauta.
    Essa é uma falha na lógica matemática dessa fórmula da SEFAZ para tratar a exceção do preço sem imposto da PKG_TRIBUTAÇÃO nós inserimos uma mensagem na rotina 316 para ela alertar o intervalo de preço que não é possível por conta da falha na lógica matemática dessa fórmula da SEFAZ:

Image Added

Totvs custom tabs box items
defaultno
referenciapasso2

Atualmente o sistema calcula o ST da seguinte maneira:


  • Calculo do valor do ST por pauta sem utilizar o motor de fórmula:

Pvenda: 141,5

Valor de Pauta ST: 188,7

Aliq ICMS INT: 18%

Aliq ICMS EXT: 18%

ST1:

...

(Pauta * Aliq1) = 188,7 * 0,18 = 33,966

ST2: (Pvenda * Aliq2) = 141,5 * 0,18 = 25,47

Valor do ST: (ST1 - ST2) = 33,966  -  25,47 = 8,496


  • Porém o preço de venda pode ser alterado e ser maior que o valor de pauta do produto

...

  • :

Pvenda: 191,00

Valor de Pauta ST: 188,7

Aliq ICMS INT: 18%

Aliq ICMS EXT: 18%

ST1: (Pauta * Aliq1) = 188,7 * 0,18 = 33,966

ST2:

...

(Pvenda * Aliq2) = 191 * 0,18 = 34,38

Valor do ST: (ST1 - ST2) = 33,966 - 34,38 = -0,414


  • Nesse caso o valor do ST deu

...

  • negativo, atualmente o sistema irá levar 0 para o valor do ST, pois o calculo do ST deu negativo. Com a alteração caso o valor do ST dê zerado ou negativo no cálculo por pauta o sistema irá calcular o valor ST

...

  • pela base do IVA:


Pvenda: 191,00

IVA: 46%

Aliq ICMS INT: 18%

Aliq ICMS EXT: 18%

Base ST: (Pvenda * (1+IVA/100)) = 278,86

ST1: (BaseST * Aliq1) = 50,19

ST2:

...

(Pvenda * Aliq2) = 34,38

Valor do ST: (ST1 - ST2) = 15,8148

...


Totvs custom tabs box items
defaultno
referenciapasso3

As fórmulas criadas são as seguintes:

Fórmula comparativa entre valor do ST calculado por pauta e Base do ST.

ST_COMPBASE_PAUTA_IVARetorna o valor do ST comparando o valor de IVA com a Base do ST


CASE WHEN (([PAUTATAB] * ([ALIQICMS1TAB] / 100)) -
              (([PTABELASEMIMPOSTO1] + [VLFRETE] + [VLOUTRASDESP]) * ([ALIQICMS2TAB] / 100))) <= 0
THEN           GREATEST((#BASE_ST# * ([ALIQICMS1TAB] / 100)) -           (([PTABELASEMIMPOSTO1] + [VLFRETE] + [VLOUTRASDESP]) *           ([ALIQICMS2TAB] / 100)), 0)          ELSE           (([PAUTATAB] * ([ALIQICMS1TAB] / 100)) -               (([PTABELASEMIMPOSTO1] + [VLFRETE] + [VLOUTRASDESP])* ([ALIQICMS2TAB] / 100)))        END

Fórmula comparativa entre valor do ST calculado por pauta e Base do ST com redução na Base do ICMS.

ST_COMPBASE_PAUTA_IVA_BASE_RED_ICMS Retorna o valor do ST comparando o valor de IVA com a Base do ST com redução base de ICMS


CASE
         WHEN (([PAUTATAB] * ([ALIQICMS1TAB] / 100)) -
              (([PTABELASEMIMPOSTO1] + [VLFRETE] + [VLOUTRASDESP]) *
              ([ALIQICMS2TAB] / 100))) <= 0 
THEN           GREATEST((#BASE_ST_BASE_RED_ICMS# * ([ALIQICMS1TAB] / 100)) -           (([PTABELASEMIMPOSTO1] + [VLFRETE] + [VLOUTRASDESP]) *           ([PERCBASEREDST2TRANSF] / 100) * ([ALIQICMS2TAB] / 100)),                    0)          ELSE           (([PAUTATAB] * ([ALIQICMS1TAB] / 100)) -               (([PTABELASEMIMPOSTO1] + [VLFRETE] + [VLOUTRASDESP]) *               ([ALIQICMS2TAB] / 100)))        END


Fórmula comparativa entre valor do ST calculado por pauta e Base do ST com redução na Base do ICMS.

ST_COMPBASE_PAUTA_IVA_RED_ICMSRetorna o valor do ST comparando o valor de IVA com redução de ICMS na segunda parte

CASE
         WHEN (([PAUTATAB] * ([ALIQICMS1TAB] / 100)) -
              (([PTABELASEMIMPOSTO1] + [VLFRETE] + [VLOUTRASDESP]) *
              ([ALIQICMS2TAB] / 100))) <= 0 THEN
              
          GREATEST((#BASE_ST#*([ALIQICMS1TAB]/100))-
          (([PTABELASEMIMPOSTO1]+[VLFRETE]+[VLOUTRASDESP])*([PERCBASEREDST2TRANSF]/100)*
          ([PERCBASERED]/100)*([ALIQICMS2TAB]/100)),0)
          
         ELSE        (([PAUTATAB] * ([ALIQICMS1TAB] / 100)) -
              (([PTABELASEMIMPOSTO1] + [VLFRETE] + [VLOUTRASDESP]) *
              ([ALIQICMS2TAB] / 100)))

...

Atualize as rotinas abaixo a partir das versões indicadas ou versões superiores:

  • Rotina 300 - Atualização de funções de venda - Versão 34.0.0.120 ou superior.

Abra a rotina 300 e selecione as opções 12, 13, 14 e 27:

Image Removed

Após finalizar abra a rotina 514, selecione a figura tributária marque o parâmetro Utilizar Motor de Cálculo de Impostos :

Image Removed

Clique na aba Substituição Tributária e selecione a fórmula no campo fórmula:

...


END

Para cada fórmula acima foi criada a fórmula do PVENDA para calcular o Preço de venda: 


PVENDA_ST_COMPBASE_PAUTA_IVA

...

(ST_COMPBASE_PAUTA_IVA)

PVENDA_ST_COMPBASE_PAUTA_IVA_BASE_RED_ICMS

...

(ST_COMPBASE_PAUTA_IVA_BASE_RED_ICMS)

PVENDA_ST_COMPBASE_PAUTA_IVA_RED_ICMS

...

 

Image Removed

Abra a rotina 316 e verifique o valor do ST:

Image Removed

...

(ST_COMPBASE_PAUTA_IVA_RED_ICMS)




04. DEMAIS INFORMAÇÕES

 

IMPORTANTE!

As versões estarão disponíveis para download no CCW. Mantenha suas rotinas sempre atualizadas!

...