Rotina de Impostos Variaveis:
Permite a criação e tratamento de impostos, com o objetivo de facilitar a localização da tributação para outros países.
Pode ser utlizada para criação de impostos nacionais, apesar de não ser aconselhável, pois devido sua concepção para o mercado internacional, não preve todas as integrações necessárias ao mercado interno, como NF-e e Financeiro.
Caso tenha um tributo nacional não homologado pelo Protheus, deve efetuar abertura de issue solicitando homologação do mesmo, juntamente com a legislação pertinente, para que o sistema possa atendeatendê-lo de forma correta.
Passo a passo:
1. Criar os campos para as tabelas SF1/SF2/SF3/SD1 e SD2 para gravar a BASE, ALÍQUOTA e VALOR.
Os campos devem conter os nomes “_VALIMP?, _BASIMP? e _ALQIMP?”, onde a “?” identifica um número de “1” a “9” e/ou “A” a “Z”.
A tela abaixo refere-se à um exemplo ilustrativo.
![](/download/attachments/272148972/image2017-3-13%2017%3A49%3A40.png?version=1&modificationDate=1489442619000&api=v2)
![](/download/attachments/272148972/image2017-3-13%2017%3A50%3A5.png?version=1&modificationDate=1489442619000&api=v2)
![](/download/attachments/272148972/image2017-3-13%2017%3A50%3A28.png?version=1&modificationDate=1489442619000&api=v2)
2. Construir uma USER FUNCTION para efetuar o cálculo. O nome desta será utilizado no cadastro do “Imposto Variável”.
O print abaixo contém um exemplo para calculo do FETHAB SOJA.
![](/download/attachments/272148972/image2017-3-13%2017%3A53%3A29.png?version=1&modificationDate=1489442620000&api=v2)
User Function FETSOJA
local nRet := 0
Local cCalculo := PARAMIXB[1]
Local nItem := PARAMIXB[2]
Local nVlrUPF := 100
Local nAlq := 19.21
Do Case
Case cCalculo=="B"
nRet := nVlrUPF
Case cCalculo=="A"
nRet := nAlq
Case cCalculo=="V"
nRet := nVlrUPF*MafisRet(nItem,"IT_QUANT")*(nAlq/100)
Endcase
return nRet
Obs: Pode-se observar que o valor da UPF (variável nVlrUPF) e a Alíquota da contribuição (variável nAlq) estão fixas no RDMAKE, para alterar estes valores deve-se alterar o RDMAKE, pelo menos neste primeiro momento.
3. Após execução dos itens 1 e 2, acessar a rotina de “Impostos variáveis”(MATA995) e cadastrar a contribuição para que seja efetuado o cálculo. Neste cadastro informar o campo “Descrição” com a string que será impressa no rodapé da NF,
informar a “Formula Entr” e “Formula Said” com o nome da USER FUNCTION responsável pelo cálculo e por final, informar qual o carácter final do campo criado no item anterior (1) no campo “Cpo Lvr Fis”.
O print abaixo refere-se à um exemplo ilustrativo.
![](/download/attachments/272148972/image2017-3-14%209%3A28%3A45.png?version=1&modificationDate=1489494555000&api=v2)
4. Após executado os procedimentos anteriores efetue a amarração do “Imposto Variável” cadastrado, no TES utilizado nas operações.
Para ativar a aba de impostos variáveis altere o parâmetro MV_GERIMPV = S
O print abaixo refere-se à um exemplo ilustrativo.
![](/download/attachments/272148972/image2017-3-14%208%3A51%3A0.png?version=1&modificationDate=1489492291000&api=v2)
Obs: Neste exemplo é importante observarmos as marcações em amarelo que precisam estar iguais. O único que pode variar é o primeiro, dependendo do destinatário (PJ ou PF). PJ mantém como está,
subtraindo o valor do título principal (da NF) e PF deve estar como “Indiferente”, mantendo o valor original.
- Cod. Imposto: deve ser selecionado o imposto que aplicado nessa operação, de acordo com o cadastro de impostos variáveis.
- Soma na Dupl.: define como o imposto deve ser agregado ao valor total dos títulos:
- Somar: adiciona o valor dos impostos ao valor do título a pagar ou a receber.
- Subtrair: subtrai o valor dos impostos do valor do título a pagar ou a receber.
- Indiferente: não considera o valor dos impostos nos títulos a pagar/receber. O valor do imposto já está embutido no preço do produto.
- Soma Tot. Not: define como o imposto deve ser agregado ao valor total da nota:
- Somar: adiciona o valor dos impostos ao valor total da nota. O valor deve ser somado, por exemplo, quando o imposto não está incluído no preço do produto.
- Subtrair: subtrai o valor dos impostos do valor total da nota.
- Indiferente: não considera o valor dos impostos no valor total da nota. O valor do imposto já está embutido no preço do produto.
Obs. Devido contexto de criação da rotina ser para o mercado internacional, não atenderá, por exemplo a geração da NF - e, caso seja necessário.
- Soma Custo: define como imposto deve ser agregado ao valor total do custo (usado apenas na configuração de operações com o fornecedor):
- Somar: adiciona o valor dos impostos ao custo da mercadoria. O valor deve ser somado, por exemplo, quando o imposto não está incluído no preço do produto e não é obtido crédito desse imposto.
- Subtrair: subtrai o valor dos impostos ao custo da mercadoria. O valor deve ser subtraído, por exemplo, quando o imposto está incluído no preço do produto e é obtido crédito desse imposto.
- Indiferente: não considera o valor dos impostos no custo. O valor do imposto está embutido no preço do produto e por ele não é obtido crédito, ou quando o valor do imposto não está embutido no preço do produto, mas por ele é obtido crédito.
- Inc. Imposto: se o valor base do imposto (X) precisa ser composto como o valor de outro (Y), clique no em Consulta para selecioná-lo. Exemplo: o valor do imposto Y somado ao valor de mercadorias, serve de base para o imposto X.
- Calcula Sobre: selecione a forma de cálculo do imposto:
- Itens da NF: o imposto é calculado sobre o valor do item da nota (por TES).
- Total da NF: o imposto é calculado sobre o valor total da nota.
- Calc. s/ Liq.: selecione Sim para que o imposto seja calculado sobre o valor líquido da nota, sem considerar despesas e descontos. Selecione Não para que o imposto seja calculado sobre o valor bruto da nota.
- Agreg. Base:Informe o mesmo grupo para todos os impostos que devem ser agrupados (suas bases) para o calculo (esta configuração deverá ser utilizada para o calculo de varios impostos incluidos para um item).
- Província: Informe a província.
5. Após os procedimentos acima, o resultado fica da seguinte forma.
Faturamento
![](/download/attachments/272148972/image2017-3-14%209%3A26%3A17.png?version=1&modificationDate=1489494407000&api=v2)
Financeiro
![](/download/attachments/272148972/image2017-3-14%209%3A12%3A8.png?version=1&modificationDate=1489493559000&api=v2)
Casos de uso
a) O roteiro acima refere-se a implementação de uma contribuição desde o primeiro passo. Para implementar os outros, deve-se criar um “imposto variável” (etapa 3) para cada um deles e amarrar na respectiva TES, conforme etapa 4. Ex:
“Imposto Variável” 001 – FET SOJA,
“Imposto Variável” 002 – FET ALGODÃO,
“Imposto Variável” 003 – FET GADO, e assim por diante.
b) Se houver necessidade de ter o cálculo de uma determinada contribuição tanto para pessoa física(PF) quanto para pessoa jurídica (PJ), deve-se ter um “Imposto Variável” e um TES para cada finalidade, efetuando as devidas amarrações (etapa 4). Ex:
Imp. Var. -> 001 para PF e 002 para PJ
TES -> 501 para PF (nesta amarraremos o “Imposto Variável” 001) e 502 para PJ (nesta amarraremos o “Imposto Variável” 002)
c) Para o cálculo, deve-se construir um RDMAKE para cada contribuição, neste roteiro foi construído o FETSOJA para o calculo do FETHAB SOJA, para os outros segue a mesma regra, basta alterar a regra de calculo. No exemplo deste roteiro a BASE é o valor da UPF, a ALÍQUOTA é a alíquota do calculo e o VALOR da contribuição é a BASE*QUANTIDADE DA NF*ALIQUOTA.
d) O lançamento do título a pagar no Financeiro das contribuições deverá ser lançado manualmente até disponibilizarmos a rotina oficial. O cliente nos disse que paga mensalmente essas contribuições, portanto terá de fazer somente o mês de janeiro. O valor a ser recolhido será gravado no campo “_VALIMP?” criado na etapa1.
- No Configurador (SIGACFG) acesse Ambientes/Cadastros/Parâmetros (CFGX017). Verifique os parâmetros necessários à rotina, conforme orientações a seguir e altere-os, quando necessário:
Nome da Variável | MV_GERIMPV |
---|
Tipo | Caractere |
Descrição | Determina se a Empresa vai utilizar roteiro para calculo de Impostos Variáveis (Internacionalização) |
Valor Padrão | N |