Skip to Content
Product Information
Author's profile photo Aleshane Ghisleri

SD: Exclusão do ICMS da base do PIS e do COFINS

(Scroll down for the English version)

Olá, pessoal

Você pode optar por excluir o ICMS da base de cálculo do PIS e do COFINS sobre as operações de receita. A solução entregue pela SAP te permite as seguintes opções no contexto de exclusão do ICMS da base de cálculo do PIS e do COFINS em Sales and Distribution (SD):

  • Nenhuma mudança.
  • Exclusão apenas do valor de ICMS (ICM3).
  • Exclusão dos valores de ICMS (ICM3) e Fundo de Combate à Pobreza (FCP) sobre o ICMS (ICSC).
  • Exclusão dos valores de ICMS (ICM3) e ICMS Partilha (ICAP), quando a operação for interestadual com não contribuintes do ICMS.
  • Exclusão dos valores de ICMS (ICM3), ICMS Partilha (ICAP), e FCP sobre o ICMS Partilha (ICSP), quando a operação for interestadual com não contribuintes do ICMS.

Você pode personalizar o seu sistema e definir em quais cenários essa exclusão deve acontecer. Para os cenários que você habilitar a exclusão, as seguintes mudanças no processo de cálculo acontecem:

  • O cálculo do preço unitário é alterado para que os valores de ICMS sejam excluídos das bases de cálculo do PIS e do COFINS durante a formação do preço.
  • Durante o cálculo do PIS e do COFINS, os valores de ICMS são excluídos das bases de cálculo.

 

Novo cálculo

Nos cenários que você não habilitar a exclusão, nenhuma mudança acontece e o sistema calcula preço unitário e impostos de acordo com o comportamento padrão. Nos cenários que você habilitar a exclusão, tanto o valor unitário, quanto as bases do PIS e do COFINS terão seus valores calculados conforme novo cálculo.

A formula para cálculo do preço unitário em um cenário de venda para revenda é a seguinte:

Preço unitário = Valor líquido / (1 – (ICMS + (PIS * (1 – ICMS)) + (COFINS * (1 – ICMS))))

 

Como habilitar a exclusão

Um novo método Exclude ICMS from PIS and COFINS base (EXCLUDE_ICMS_FROM_PIS_COF_BASE) está disponível na BAdI for Brazil Tax Extensions (BADI_J1B_EXTEND_TAXES). Esse método te permite ativar a exclusão do ICMS, de acordo com as suas necessidades legais.

Na descrição da SAP Note 3085964ICMS Exclusion from PIS and COFINS Base Amount (TAXBRA), você encontra exemplo do comportamento do cálculo de imposto e mais informações técnicas sobre a BAdI.

 

Campo do SPED

Para fins de escrituração fiscal, o campo ICMS Amount Excluded from the PIS/COFINS Calculation Base está disponível na nota fiscal, e indica a soma dos valores de ICMS excluídos da base de cálculo do PIS e do COFINS. O campo é preenchido automaticamente quando a nota fiscal criada em SD for relevante para cálculo de PIS e COFINS, e valores de ICMS tenham sido selecionados para exclusão via BAdI. Se você criar uma nota fiscal através das transações da Nota Fiscal Writer (J1B*N), o campo ficará disponível para você preencher manualmente.

 

Para ter essa solução ativa no seu sistema, aplique as seguintes SAP Notes:

  • Se você usa o esquema de cálculo de imposto TAXBRA, implemente SAP Note 3085964.
  • Se você usa o esquema de cálculo de imposto TAXBRJ, implemente as SAP Notes 3085964 e 3087229.
  • Para habilitar o campo do SPED, aplique a SAP Note 3097613.

Importante: se você tem alguma solução de exclusão de ICMS ativa no seu sistema, você deve reverter a implementação. Nesse caso, as SAP Notes de consultoria entregues no passado que devem ser revertidas são as seguintes:

  • Para TAXBRA, reverta a aplicação da SAP Note 2456984.
  • Para TAXBRJ, reverta a aplicação das SAP Notes 2457131 e 2456986.

 

Em breve, divulgaremos um post com mais informações referentes à solução de Materials Management (MM). Fiquem atentos! 🙂

 

Gostou desse post? Dê um Like e compartilhe o conteúdo com seus colegas, e fiquem à vontade para deixar um feedback abaixo. Caso tenha algum comentário ou pergunta sobre a solução, poste no nosso canal de perguntas, neste link.

 

Um abraço,

Aleshane Ghisleri

#SAPGoGlobal #SAPLocalization

 

 

 

****

 

 

 

Hi guys,

You can choose to exclude the ICMS from the PIS and COFINS tax base on revenue transactions. The solution delivered by SAP allows you the following options in the context of excluding ICMS from the PIS and COFINS tax base in Sales and Distribution (SD):

  • No changes.
  • Exclude only the ICMS amount (ICM3).
  • Exclude the ICMS (ICM3) and the Poverty Combat Fund (FCP) amounts on ICMS (ICSC).
  • Exclude the ICMS (ICM3) and the ICMS Partilha (ICAP) amounts when the transaction is interstate with non-ICMS contributers.
  • Exclude the ICMS (ICM3), the ICMS Partilha (ICAP), the and FCP on ICMS Partilha (ICSP) amounts when the transaction is interstate with non-ICMS contributers.

You can customize your system and define in which scenarios this exclusion should take place. For scenarios that you enable the exclusion, the following changes to the calculation process happen:

  • The unit price calculation is changed so that the ICMS amounts are excluded from the PIS and COFINS tax base during the price formation.
  • During the calculation of PIS and COFINS, the ICMS amounts are excluded from the tax base.

 

New calculation formula

In scenarios where you don’t enable exclusion, no change happens and the system calculates the unit price and taxes according to the default behavior. In scenarios where you enable the exclusion, both the unit price and the PIS and COFINS bases will have their values calculated according to the new calculation formula.

The formula for calculating the unit price in a sales-for-resale scenario is as follows:

Unit price = Net amount / (1 – (ICMS + (PIS * (1 – ICMS)) + (COFINS * (1 – ICMS))))

 

Enabling the exclusion

A new Exclude ICMS from PIS and COFINS base (EXCLUDE_ICMS_FROM_PIS_COF_BASE) method is available in the BAdI for Brazil Tax Extensions (BADI_J1B_EXTEND_TAXES). This method allows you to activate the ICMS exclusion according to your legal requirements.

In the description of SAP Note 3085964 – ICMS Exclusion from PIS and COFINS Base Amount (TAXBRA), you find an example of the behavior of the tax calculation and more technical information about the Business Add-In (BAdI).

 

SPED field

For tax bookkeeping purposes, the ICMS Amount Excluded from the PIS/COFINS Calculation Base field is available in the nota fiscal, and indicates the sum of the ICMS amounts excluded from the PIS and COFINS tax base. The field is automatically populated when the nota fiscal created in SD is relevant for PIS and COFINS calculation, and the ICMS values have been determined for exclusion via BAdI. If you create a nota fiscal using the Nota Fiscal Writer (J1B*N) transactions, the field is available for you to fill in manually.

 

To have this solution active on your system, apply the following SAP Notes:

  • If you use the pricing procedure TAXBRA, implement SAP Note 3085964.
  • If you use the pricing procedure TAXBRJ, implement SAP Notes 3085964 and 3087229.
  • To enable the SPED field, apply SAP Note 3097613.

Important: If you have any ICMS exclusion solutions active on your system, you must roll back the implementation. In this case, the consulting SAP Notes delivered in the past that must be rolled back are as follows:

  • For TAXBRA, roll back the implementation of SAP Note 2456984.
  • For TAXBRJ, roll back the implementation of SAP Notes 2457131 e 2456986.

 

We will soon publish a post with more information regarding the Materials Management (MM) solution. Stay tuned! 🙂

 

Did you like this post? Like and share the content with your colleagues, and feel free to leave feedback below. If you have any comments or questions about the solution, post on our questions channel, on this link.

 

See you,

Aleshane Ghisleri

#SAPGoGlobal #SAPLocalization

Assigned Tags

      24 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Wesley Yamaguti
      Wesley Yamaguti

      Olá, Aleshane!

      No post é informado que quem utiliza TAXBRJ devem ser aplicadas as notas 3085964 e 3087229, sendo que a nota 3085964 é para TAXBRA e a 3087229 é para TAXBRJ.

      Informa%E7%E3o%20do%20Blog

      Entretanto, no link do legal announcements (abaixo), apenas a nota 3087229 é indicada para TAXBRJ:

      Informa%E7%E3o%20do%20Legal%20Announcement

      https://launchpad.support.sap.com/#/legalchangenotification/NoteInforSet/jira=GSREQAMER-1953/TwoColumnsMidExpanded/0

      Por gentileza, pode confirmar se a aplicação da nota 3085964 é necessária para quem utiliza TAXBRJ?

      Muito obrigado!

      Author's profile photo Aleshane Ghisleri
      Aleshane Ghisleri
      Blog Post Author

      Olá, Wesley

      Sim, é necessário! A SAP Note que entrega a solução da TAXBRJ é a 3087229, porém ela tem como pre-requisito os objetos entregues pela SAP Note 3085964.

      Abraço, Aleshane

      Author's profile photo Antonio Ivo
      Antonio Ivo

      Bom dia Aleshane,

      Para o cenário de MM, essa solução atende?
      Podemos tratar na badi BADI_J1B_EXTEND_TAXES?

      Obrigado.

      Abraços,

      Antonio Carlos

      Author's profile photo Aleshane Ghisleri
      Aleshane Ghisleri
      Blog Post Author

      Olá, Ivo

      Hoje publicarei um blog post com os detalhes sobre a solução de MM! 🙂 porém, respondendo tua pergunta, a solução de MM utiliza a mesma BAdI.

      Abraço, Aleshane

      Author's profile photo Antonio Ivo
      Antonio Ivo

      muito obrigado, vamos efetuar os testes com os cenarios de MM e ajustar conforme necessario.

      Abraços

      Author's profile photo Luciane Santos
      Luciane Santos

      Olá Aleshane

      Aplicamos a solução da SAP, só que nos testes, quando foi realizado a devolução de um faturamento anterior a implementação (origem sem a exclusão do ICMS) identificamos que o sistema desconta o valor da base na devolução.

      Entendemos que deveria buscar os mesmos valores da origem, a SAP tem alguma solução para este cenário?

      Muito obrigada desde já!

      E ficamos no aguardo de um retorno

      Luciane

      Author's profile photo Vinicius Garcia
      Vinicius Garcia

      Olá, Luciane!

      Nós não entregamos nenhuma lógica para fazer este controle. Contudo, através da implementação do método Exclude ICMS from PIS and COFINS base (EXCLUDE_ICMS_FROM_PIS_COF_BASE), que disponibilizamos na BAdI for Brazil Tax Extensions (BADI_J1B_EXTEND_TAXES), é possível criar a lógica que atenda suas necessidades de negócio. Vale ressaltar que este método novo da BAdI possui o parâmetro de importação IS_ICMS_EXCL_INFO que por sua vez contém, entre outros, dados da KOMK, KOMP e KOMV, que fazem parte do framework da pricing e podem ser usados na sua lógica.

      Pode ser relevante saber também que entregamos com a SAP Note 3097613 o campo ICMS Amount Excluded from the PIS/COFINS Calculation Base (EXCLUDED_ICMS_FROM_PISCOFINS) na tabela Nota Fiscal line items (J_1BNFLIN). Este campo estará vazio para notas sem nenhuma exclusão, de acordo com a nossa solução de preenchimento automático dele.

      Desejo um ótimo dia!

      Atenciosamente,
      Vinícius Garcia

      Author's profile photo Luciane Santos
      Luciane Santos

      Olá Vinicius, boa tarde!

      Muito obrigada pelo seu retorno.

      Tenha um ótimo dia 😉

      Luciane

      Author's profile photo Matheus Caldeira
      Matheus Caldeira

      Boa tarde,

       

      por algum motivo que não consigo identificar não estou conseguindo fazer a implementação do método Exclude ICMS from PIS and COFINS base (EXCLUDE_ICMS_FROM_PIS_COF_BASE), disponibilizado na BAdI for Brazil Tax Extensions (BADI_J1B_EXTEND_TAXES). Simplesmente não me dá a opção. O que será que tem de errado na minha implementação?

      BAdI

      BAdI

      Obrigado,
      Matheus

      Author's profile photo Antonio Ivo
      Antonio Ivo

      Boa tarde Matheus,

      Nós conseguimos da seguinte forma: Acessar SE18 e colocar o nome da BADI BADI_J1B_EXTEND_TAXES e vá em Exibir.

      Clique com o botao direito em cima do nome da badi e vá na opção criar implementação. Dai basta seguir as etapas para criação e depois no metodo que voce quer implementar.


      Espero ter ajudado.

      Abraços

       

      Author's profile photo Matheus Caldeira
      Matheus Caldeira

      Oi Antonio,
      bom dia.

      Fiz a criação e implementei na classe CL_TAX_CALC_BR, porém ao tentar ativar ele dá erro dizendo que essa classe é abstrata. Entendo que estou fazendo na classe errada, você utilizou qual Implementation Class?

       

      Implementation

      Implementation

       

      M%E9todo

      Método

       

      Obrigado,
      Matheus

      Author's profile photo Antonio Ivo
      Antonio Ivo

      Bom dia Matheus,

      Voce precisará criar uma classe Z de implementação para funcionar corretamente. Veja como fizemos abaixo:

       

      Abraços

      Author's profile photo Matheus Caldeira
      Matheus Caldeira

      Oi Antonio!

      Obrigado por esclarecer. Já fiz a implementação aqui e os usuários vão iniciar os testes.

       

      Abraços.

      Author's profile photo Aleshane Ghisleri
      Aleshane Ghisleri
      Blog Post Author

      Olá, Matheus

      Compartilho contigo o link do SAP Help Portal com instruções para implementar BAdIs, pode cliar aqui. Acredito que vai te ajudar.

      Abraço, Aleshane

      Author's profile photo Matheus Caldeira
      Matheus Caldeira

      Bom dia Aleshane!

       

      Mesmo com meu usuário S não tenho permissão para acessar o link que você me passou 🙁

      consegue me passar de alguma outra forma?

       

      Obrigado,
      Matheus

      Author's profile photo Aleshane Ghisleri
      Aleshane Ghisleri
      Blog Post Author

      Olá, Matheus!

      Desculpa, talvez tenha enviado o link quebrado. Tenta esse, por favor: https://help.sap.com/viewer/46a2cfc13d25463b8b9a3d2a3c3ba0d9/latest/en-US/44f518d884056c30e10000000a114a6b.html

      Abraço, Aleshane

      Author's profile photo Lucia Mendes
      Lucia Mendes

      Aleshane,

       

      Estou no S4 e gostaria de saber, depois de aplicar as notas, como o sistema irá diferenciar cada caso de exclusão?

      • Exclusão apenas do valor de ICMS (ICM3).
      • Exclusão dos valores de ICMS (ICM3) e Fundo de Combate à Pobreza (FCP) sobre o ICMS (ICSC).
      • Exclusão dos valores de ICMS (ICM3) e ICMS Partilha (ICAP), quando a operação for interestadual com não contribuintes do ICMS.
      • Exclusão dos valores de ICMS (ICM3), ICMS Partilha (ICAP), e FCP sobre o ICMS Partilha (ICSP), quando a operação for interestadual com não contribuintes do ICMS.

      Seria o caso de criar alguma categoria da empresa para o pagamento ICMS para cada caso para determinar corretamente?

      Porque olhando as notas, eu não encontrei nenhuma customização de SD, e não sei como vai ocorrer esta diferenciação.

      Obrigada!!

       

      Lúcia Cristina Mendes

      Author's profile photo Vinicius Garcia
      Vinicius Garcia

      Olá,

      Para fazer essa definição você deve implementar o método EXCLUDE_ICMS_FROM_PIS_COF_BASE da BAdI for Brazil Tax Extensions (BADI_J1B_EXTEND_TAXES). Tendo em vista que não há uma definição legal clara, você deve implementar no método a lógica que fizer sentido para o seu contexto legal e de negócio. Neste método você pode analisar os parâmetros de entrada e preencher os parâmetros de saída como for necessário a fim de atender seu requisito legal.

      Se não houver nenhuma implementação da BAdI o sistema não irá excluir nada e o comportamento deve continuar o mesmo de antes da aplicação das notas. Segue explicação dos parâmetros.

      O parâmetro de entrada deste método da BAdI, IS_ICMS_EXCL_INFO, é uma estrutura que inclui, entre outros, KOMK, KOMP e KOMV, que fazem parte do framework da pricing e podem ser usados na sua lógica. É importante analisar bem seu caso para seja feita a implementação da lógica que atenda a todo o seu cenário legal.

      O parâmetro de saída do método é a estrutura CS_ICMS_EXCL_PARAMS que possui os campos icms, icms_fcp, icms_partilha, icms_partilha_fcp que definem o que será excluído. Alguns pontos relevantes:

      1. Se o parâmetro icms não estiver preenchido, nada será excluído independentemente do preenchimento dos outros parâmetros.
      2. Se o parâmetro icms_partilha não estiver preenchido, o FCP sobre a partilha não será excluído independentemente do parâmetro icms_partilha_fcp.
      3. Se algum parâmetro estiver preenchido mas não tiver nenhum valor para a condição relacionada, será equivalente a não estar excluindo. Por exemplo, o preenchimento ou não do parâmetro icms_partilha não interfere em nada em um cenário que não calcula partilha.

      Espero que ajude e qualquer dúvida estamos à disposição!

      Atenciosamente
      Vinícius Garcia

      Author's profile photo Lucia Mendes
      Lucia Mendes

      Explicação Sensacional Vinicius !! 🙂

       

      Vou passar aqui pro meu ABAP agora está começando a clarear!!  Justamente esta questão de ainda não existir uma definição clara, é o que está causando tanta dúvida!

      Valeu mesmo!!

      Bom final de semana!

       

      Author's profile photo Pedro Henrique Oliveira Vioto
      Pedro Henrique Oliveira Vioto

      Boa noite Vinicius,

      Gostaria de tirar uma dúvida, aplicamos a nota 3085964, porém ao analisar o source code na nota vi que existe um código inserido nas interfaces, mas na minha badi a interface está sem implementação em nenhum dos métodos.

      Consegue me esclarecer se está correto e devemos fazer a implementação customizada para o nosso contexto ou se deveria haver mesmo o source code inicial ?

      Segue prints.

      interface%20na%20nota

      interface na nota

      badi

      badi

       

      implementa%E7%F5es

      implementações

      Obrigado.

       

      Author's profile photo Vinicius Garcia
      Vinicius Garcia

      Olá, Pedro,

      Não há nenhuma implementação inicial por parte da SAP para o método EXCLUDE_ICMS_FROM_PIS_COF_BASE. Toda lógica para este cenário deve ser feita pelos clientes e é de responsabilidade dos clientes, como informado no Disclaimer da SAP Note 3085964 – ICMS Exclusion from PIS and COFINS Base Amount (TAXBRA).

      Este código que você vê na interface é apenas a definição local das estruturas usadas para os parâmetros do método EXCLUDE_ICMS_FROM_PIS_COF_BASE. Esses são entregues na interface. Interface nunca tem implementação de lógica, apenas definições (como assinatura de métodos e seus parâmetros, atributos, tipos).

      Se você quiser entender melhor, sugiro ir na transação SE24, abrir a interface IF_EX_BADI_J1B_EXTEND_TAXES e olhar os tipos que estão definidos nela na aba de types. Lá você verá a definição dos tipos mty_excl_icms_pis_cof_base e mty_excl_icms_pis_cof_params e assim poderá ver este código do source code entregue pela nota.

      Em relação a implementação da BAdI, caso haja dúvidas, sugiro ver a documentação relacionada.

      Atenciosamente,
      Vinícius Garcia

      Author's profile photo Pedro Henrique Oliveira Vioto
      Pedro Henrique Oliveira Vioto

      Entendido Vinicius, vou repassar pro pessoal aqui e veremos o que fazer.

       

      Muito Obrigado pela rápida ajuda.

      Author's profile photo Eduardo Nicolau Bermudez Larrion
      Eduardo Nicolau Bermudez Larrion

      Prezados,

      Só para ficar claro, toda ativação de exclusão se da pela BADI_J1B_EXTEND_TAXES, isto é, não há nenhuma exclusão para SD que seja configuração funcional?

      A SAP não pensa liberar alguma visão que para determinado código de imposto, tipo de ordem + categoria de item ou esquema de calculo para que faça uma exclusão padrão ?

      Seria muito legal ter como ativar via customizing e caso o customizing não atenda a regra sim ativar direto pela Badi.

      Eduardo.

       

      Author's profile photo Aleshane Ghisleri
      Aleshane Ghisleri
      Blog Post Author

      Olá, Eduardo

      O teu entendimento está correto.
      Não faz parte do nosso planejamento essa opção de customização, mas encaminhei o teu feedback para o time de desenvolvimento! 🙂 Agradeço a sugestão.

      Abraço, Aleshane