Skip to Content

Cálculo do DIFAL para operações interestaduais de uso/consumo e ativos imobilizados

Olá pessoal,

Como muitos já devem saber, alguns Estados no Brasil (GO, BA, MG, RS and SE) adotaram uma nova fórmula de cálculo da Base de cálculo e fórmulas para o cálculo do DIFAL e ICMS ST relacionado a operações interestaduais de uso/consumo e ativos imobilizados. As demais regiões não alteraram este cálculo, portanto permanecem inalteradas.

No momento a SAP não disponibilizou nenhuma solução standard por não se tratar de um requerimento atendido por todas as regiões do Brasil. Dito isto, foi liberado uma BAdI na qual o cliente deve implementar sua própria solução para atender os cenários na qual efetua negócios.

Para o DIFAL temos as notas abaixo:

2394557 – DIFAL: BAdI for Recalculation of Base Value in Incoming Process for Consumption Goods or Assets
2408576 – DIFAL: BAdI for Recalculation – TAXBRA Calculation Procedure
2408577 – DIFAL: BAdI for Recalculation – TAXBRJ Calculation Procedure
2410487 – DIFAL: BAdI for Recalculation – Fixes for TAXBRJ Calculation Procedure
2414116 – DIFAL: ICMS DIFAL Tax Rate Is Being Calculated Wrongly

Foram criados os seguintes objetos:

New enhancement spot –> ES_J1B_DIFAL_RECALCULATION
New BAdI –> BADI_J1B_DIFAL_RECALCULATION
New class –> CL_J_1B_DIFAL_RECALCULATION
New interface –> IF_EX_BADI_J1B_DIFAL_RECALC

A nota 2394557 entrega somente a estrutura da BAdI BADI_J1B_DIFAL_RECALCULATION que pode ser usada tanto para TAXBRA como TAXBRJ.

O método na qual os clientes devem fazer seus desenvolvimentos em projeto é o ‘RECALCULATE‘ que tem como parâmetros IS_DIFAL_RECALCULATION como entrada e CV_DIFAL_VALUE, CV_DESTINATION_BASE_VALUE e CV_DIFAL_RATE que podem ser alterados.

A nota 2408576 ajusta a classe CL_TAX_CALC_BR_MM método CALCULATE_ICMS_COMP para chamar, caso implementado, a BAdI da nota 2394557.
A nota 2408577 ajusta o código do módulo de função J_1BCALCULATE_TAXES para chamar, caso implementado, a BAdI da nota 2394557.

Para o ICMS ST temos as notas abaixo:

2407798 – Brazil: BAdI for Recalculation of ICMS ST Base and Amount in a Consumption Goods or Assets Process – High release
2410679 – Brazil: BAdI for Recalculation of ICMS ST Base and Amount in a Consumption Goods or Assets Process – Low release

2406621 – Extension Class for ICMS ST Customer Implementation – High release
2410687 – Extension Class for ICMS ST Customer Implementation – Low release

2407813 – Call ICMS ST BAdI in TAXBRJ Process – High release
2410981 – Call ICMS ST BAdI in TAXBRJ Process – Low release

2407805 – Call ICMS ST BAdI in TAXBRA Process – High release
2410968 – Call ICMS ST BAdI in TAXBRA Process – Low release

Foram criados os seguintes objetos:

New enhancement spot –> ES_J1B_EXTEND_TAXES
New BAdI –> BADI_J1B_EXTEND_TAXES
New interface –> IF_EX_BADI_J1B_EXTEND_TAXES
New interface method –> IF_EX_BADI_J1B_EXTEND_TAXES~ICMS_ST_RECALCULATE

Atualmente o código standard não permite nenhum recálculo no ICMS ST. A partir da implementação destas notas você poderá efetuar o recálculo na BAdI BADI_J1B_EXTEND_TAXES.

A nota 2407798 entrega somente a estrutura da BAdI BADI_J1B_EXTEND_TAXES que pode ser usada tanto para TAXBRA como TAXBRJ.

O método a ser utilizado para para os clientes criarem suas próprias regras de negócio é o ICMS_ST_RECALCULATE que possue como parâmetros IS_ICMS_ST_RECALCULATION como entrada e CV_ICMS_ST_BASE e CV_ICMS_ST_AMOUNT que podem ser alterados.

Thank you

Leonardo Brunetto

20 Comments
You must be Logged on to comment or reply to a post.
  • Olá Leonardo,

    Obrigado por compartilhar essas informações, fiz a aplicação das notas e utilizei as BADIs criadas para alterar o cálculo para os nossos cenários de DIFAL (GO e PR), a pricing do pedido ficou perfeita, porém na comparação de preços na transação ME49, essas regras não se aplicam para a cotação.. apresentando os valores de forma errada, ou seja, diferentes do pedido criado.
    Existe alguma solução para tratar esse problema para a transação ME49 também ?

    Obrigado

  • Boa tarde,

    Apliquei as notas, só que no momento de liberar a request o SAP dispara o erro:

    Object CINC CL_J_1B_DIFAL_RECALCULATION===CCAU is inactive

    Alguém teve esse problema? Já tentei desaplicar e aplicar novamente a nota, mas não resolve.

     

  • Bom dia Leonardo,

    Estamos tentando aplicar a nota  2407798, porém ela não está disponível, tem alguma previsão de liberação novamente?

     

    Obrigada.

    Gabriela

  • Prezados,
    Estou num projeto em que entendem que o novo cálculo do DIFAL deve ser feito em processos de saída. Agora que o governo revogou a vigência do Convênio 52/2017 não vão mais fazer o novo cálculo do ICMS/ST mas sim um novo cálculo de DIFAL.
    Só agora no início dos testes percebi que na verdade a BAdI do DIFAL foi definida só para processos de entrada.
    Por favor, sabem me confirmar se haveria algum problema em utilizar a BAdI definida para o ICMS/ST para fazer o novo cálculo do DIFAL numa Ordem de Vendas?
    Obrigado,
    Renato Pereira.

     

  • Prezados,

    Já Consegui resolver o problema acima utilizando a BAdI Extend para o DIFAL em SD.

    Porém agora estou com outro problema. Na minha Ordem de Vendas e Fatura é feito o recalculo de acordo com a minha especificação. Porém na Nota Fical (ICS3) o mapeamento pega o valor antigo, não recalculado. Vi que na tabela KONV também está o valor antigo.

    Por favor, podem me dar algum direcionamento?

     

    Obrigado,

    Renato

     

    • Olá Renato, desculpa a pergunta meio tardia, mas como ainda não está fechada a questão eu pergunto;

      • Como você resolveu essa questão?
      • Para determinar se a operação deveria ter recalculo do DIFAL, você fez alguma condição usando o NCM?
      • Me dá uma dica, por favor.
      • Estou com caso desse até entendi a nova conta, mas preciso de algumas dica de como vocês estão fazendo.
      • No meu caso tenho dois cenario; um o valor do DIFAL entra na nova base de calculo, o outro não, vamos limpar as bases para aplicar a aliquota do destino.

      Desde Já te agradeço.

      • Olá Ricardo,

        Desculpe a demora mas só entrei hoje por acaso nesse site.

        Na verdade o que lembro do meu caso foi que fizemos uma regra que se a ST fosse diferente de 0 (zero), não fosse o cálculo de Partilha (ex. tipo de clientes xpto) e ainda, para nos resguardarmos para cenários apenas do Brazil, apenas para as empresas xyz.

        Espero ter ajudado.

         

        Atte.,

        Renato Pereira.

        • BADI_J1B_EXTEND_TAXES implementei  o codigo de acordo com a regra passada pelo fiscal.

          Fiz uma logica +- igual abaixo.

          Base ST = Base ICMS / (Aliquota Interestadual)Novo Valor da BX40 = BX40 / (1- alíquota interna)DIFAL = BX40 * (Aliquota Interna – valor do ICMS interestadual)BX40 = BX40 / (1-BX44) (nova base do DIFAL)

           

  • Olá Felipe, Sim está correto, pois isso é um desenvolvimento e deverá ser feito pelo user com esse perfil de acesso.

    Desculpa a resposta tardia,