01. DADOS GERAIS
Produto: | TOTVS Distribuição e Varejo Solucoes_totvs_parceirosexptotvs |
---|
|
|
---|
Linha de Produto: | |
---|
Segmento: | Distribuição TOTVS Goiânia |
---|
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
Criar Criada nova fórmula na rotina 514 em que caso o valor do ST calculado por pauta der menor ou igual a retornar zero ou menor que zero, utilizar a base do IVA para calcular o valor do ST.
draw.io Diagram |
---|
border | true |
---|
| |
---|
diagramName | Calculo do ST |
---|
simpleViewer | false |
---|
width | 400 |
---|
links | auto |
---|
tbstyle | top |
---|
lbox | true |
---|
diagramWidth | 546 |
---|
revision | 1 |
---|
|
Totvs custom tabs box |
---|
tabs | 1.Saiba como Utilizar, 2.Cálculo do ST, 3.Fórmulas |
---|
ids | passo1, |
---|
|
...
|
Totvs custom tabs box items |
---|
default | yes |
---|
referencia | passo1 |
---|
| Saiba como utilizarAtualize 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 |
---|
default | no |
---|
referencia | passo2 |
---|
| 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
|
|
...
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 |
---|
default | no |
---|
referencia | passo3 |
---|
| 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!
...