Como sabemos no Brasil, um dos tópicos do momento é a exclusão do ICMS da base do PIS/COFINS. Há vinte anos esse assunto vem sendo discutindo e, com os dados publicados pelo governo, ainda não existe uma definição clara sobre o modo de cálculo, impossibilitando a implementação de uma solução standard no SAP ECC e S/4HANA.
Mas, como sempre, as operações das empresas não esperam por uma definição formal do governo e uma respectiva SAP Note e já estão acontecendo no dia a dia, então como lidar com esses casos?
Basicamente pode se fazer qualquer coisa nas classes da TAXBRA e de 1000 maneiras diferentes, mas aqui vai nossa sugestão de como pode se fazer isso no ECC e S/4HANA, tanto em MM/Compras como SD/Vendas.
Lembrando que, como ainda não está 100% transparente como deve ser o cálculo – com ou sem fcp, redução de base, etc. – a regra/lógica de cálculo em si deve ser definida pelo cliente, mas ela pode facilmente ser integrada nesses mesmos lugares, o que acaba simplificando a implementação uma vez que todas as regras forem definidas junto ao negócio.
A solução abaixo foi testada pelo meu colega Tiago Correa e está descrita em detalhes abaixo mostrando um exemplo de implementação sem usar as notas já entregues pela SAP para essa exclusão.
Update: O post é de 2021, anterior as notas com a solução standard, mas caso alguém possua um sistema muito antigo e que não é possivelmente simplesmente implementar as notas esta é uma opção possível.
Passo 1 – Enhancement no método determine_additional_rate na classe CL_TAX_CALC_BR (necessário tanto para SD como para MM)
Aqui o parametro MV_ADDITIONAL_RATE é ajustado. Esse parâmetro é calculado para PIS e COFINS sendo multiplicado pela alíquota do ICMS, que nesse caso precisará ser desconsiderada. Uma nova lógica precisa ser incluída no enhancement, dependendo dos parâmetros a serem considerados ( mestre do cliente/fornecedor, IPI, FCP, etc... )
Abaixo segue um exemplo de implementação de código:
Passo 2 – Enhancement no método calculate_pis_cof_base na classe CL_TAX_CALC_BR ( caso de SD )
Nesse caso o parametro EV_BASE recebe o valor calculado incluindo ICMS e é preciso deduzir o valor do ICMS desse parâmetro.
Abaixo segue um exemplo de implementação de código:
Passo 3 – Enhancement no método calculate_pis_cof_base na classe CL_TAX_CALC_BR_MM ( caso de MM )
Nesse caso o parametro EV_BASE recebe o valor calculado incluindo ICMS e é preciso deduzir o valor do ICMS desse parâmetro ( e IPI também no caso de compras para consumo ).
Abaixo segue um exemplo de implementação de código:
Importante!
- Todos enhancements que mencionamos podem ser feitos como enhancements implícitos no final de cada método ou post-method enhancements e não involvem modificações de código standard, apenas ampliações.
- Quando a SAP lançar SAP Notes para contemplar esse cenário durante a implementação das notas individuais ( ou após um upgrade ) é preciso re-testar o cenário e remover (ou re-adequar) a implementação.
- O exemplo de implementação acima usa o modelo TAXBRA, no caso de TAXBRJ a implementação precisa ser completamente diferente.
E ai, o que acham? Como vocês estão fazendo o desenvolvimento dessa solução?