Exclusão do ICMS da Base do PIS/COFINS usando a solução standard da SAP

Publicado por:Renan Correa 22 de September de 2021
Compartilhe:
22 de September de 2021

Exclusão do ICMS da Base do PIS/COFINS usando a solução standard da SAP

Eu já havia escrito no Linkedin/SAP Community sobre a solução como excluir o ICMS da BASE do PIS/COFINS no post https://blogs.sap.com/2021/07/12/exclusao-do-icms-da-base-do-pis-cofins-no-sap-em-3-passos/ usando enhancements.

Pois bem, agora saiu a solução da SAP ( para SD ) e resolvi testá-la e ver como está funcionando.

A implementação do teste foi em um sistema S/4HANA ( S4CORE105 /SAPK-10502INS4CORE ).

1- Solução proposta:

São 3 notas para SD (TAXBRA). Notas 3088195, 3085964 e 3097613.

1 – Primeira Nota “3088195 Prerequisite objects”

A primeira nota tem os pré-requisitos técnicos ( objetos DDic ) e as entradas de configuração do controle de tela:

Ein Bild, das Text enthält.

Automatisch generierte Beschreibung

Depois de baixar no snote a Implementação foi rapidinha:

Ein Bild, das Tisch enthält.

Automatisch generierte Beschreibung

Pelo que vi a SAP adicionou um campo novo para armazenar o valor do ICMS excluído no banco de dados e ser usado no SPED posteriormente. O campo foi incluído tanto na tabela J_1BNFLIN, como na BADI J*ADD_DATA e na BAPI J*CREATE*FROM*DATA.

Nenhum problema nesse snote, meu S/4HANA já estava atualizado até as notas da NT2020.005.

Ein Bild, das Text enthält.

Automatisch generierte Beschreibung

2- Segunda nota “3085964 – ICMS Exclusion from PIS and COFINS Base Amount (TAXBRA)”

Olhando as “correction instructions” da nota vi que ela contém as alterações nas classes/métodos pricing de SD TAXBRA (CL_TAX_CALC_BR) para fazer o cálculo da maneira nova. Precisa implementar uma BAdI para definir o que é o ICMS a ser excluído, mas isso é um passo posterior.

POR FAVOR LEIAM A NOTA, ela está bem escrita e explica o cálculo feito pela SAP e o desenho geral da solução proposta. LEIAM!

OBS: Lendo a nota tem um aviso importante, para quem tinha implementado a nota piloto 2456984 no passado precisa remover ela para poder implementar a nova solução:

No meu sistema não tinha essa nota piloto, então simplesmente segui no snote:

Ein Bild, das Text enthält.

Automatisch generierte Beschreibung

Tudo implementado com sucesso:

Essa segunda nota foi rapidinho também.

3- Terceira e última nota 3097613 (ICMS Exclusion from PIS and COFINS Base Amount).

Essa nota contém as alterações nas telas da j1b1n/j1b2n/j1b3n além de entregar o mapeamento de SD para levar o valor do ICMS excluído para as tabelas de NF e para a BADI:

Ein Bild, das Tisch enthält.

Automatisch generierte Beschreibung

Resumo das Alterações entregues:

1- Campo novo na tabela J_1BNFLIN ( e nas estruturas da Badi Nova, BAPI e tela da J1b3n )

Esse campo é para gravar o valor do ICMS excluído da base do PIS/COFINS. Isso não vai no XML, mas é usado no SPED.

Ein Bild, das Text enthält.

Automatisch generierte Beschreibung

2- A BADI_J1B_EXTEND_TAXES foi “extendida” ( trocadilho infame ) e agora tem um método novo, o EXCLUDE_ICMS_FROM_PIS_COF_BASE:

Essa método recebe como parâmetro de entrada as tabelas internas komk, komp, komv, komv_table e tax_data.

Entra na BAdi os dados da pricing, que vão usados pra definir como ativar a exclusão do icms (datas, tipo de processo, cliente, whatever ) e o que é considerado ICMS.

Ein Bild, das Tisch enthält.

Automatisch generierte Beschreibung

O parâmetro changing ( a ser alterado na badi ) é simples, ele consiste de uma estrutura com quatro campos, um para cada tipo de ICMS ( normal, partilha, fcp e fcp partilha ).

E tem que flegar o que deve ser usado para excluir do PIS/COFINS:

icms_partilha           TYPE abap_bool,
      icms_fcp                TYPE abap_bool,
      icms                    TYPE abap_bool,
      icms_partilha_fcp       TYPE abap_bool,

3- Código novo na TAXBRA ( CL_TAX_CALC_BR e outras )

A mágica na pricing é feita nos métodos da classe nova cl_exc_icms_pis_cofins_base (que vão ser chamados dentro da pricing de SD):

Ein Bild, das Text, Screenshot, drinnen enthält.

Automatisch generierte Beschreibung

Tem um método par ajustar o additional rate de cada cenário ( industrialização, consumo e cte ) assim como para considerar as reduções de base.

Vendo a solução em ação acho que fica mais fácil.

Criando uma Ordem de Vendas e com um ponto de parada na fórmula 320 da pricing para exemplificar:

Nesse ponto, método GET_TAX_DATA, o sistema chama a BAdI e define se deve excluir o ICMS, FCP, Partilha e Partilha FCP ou não da base do PIS/COFINS:

No meu caso criei uma implementação de teste ULTRA SIMPLES só para ver como o cálculo funciona ( PF, não copiem esse código pra usar, ele não verifica NADA só define ICMS e FCP como excluídos da base do PIS/COFINS ):

Ein Bild, das Text enthält.

Automatisch generierte Beschreibung

Logo depois da BAdI tem uma verificação sobre quais parâmetros foram ativados para exclusão:

Ein Bild, das Text enthält.

Automatisch generierte Beschreibung

No meu cenário fiz uma ordem de venda para industrialização, o sistema passou no método CALC_ICMS_INDUS onde o parâmetro mv_additional_rate foi ajustado:

Depois disso o sistema também passa nos método CALCULATE_PIS_COF_BASE para remover o ICMS da BASE:

Criando uma fatura para ver como fica na NF

Já na hora de criar a Fatura/NF o sistema passa na FM J_1BNF_FILL_ADDITIONAL_FIELDS e pega o valor do ICMS excluído para o respectivo item (e posteriormente gravar na J_1BNFLIN):

Ein Bild, das Text enthält.

Automatisch generierte Beschreibung

Aqui embaixo o exemplo via debugger:

Depois de criada a NF o valor do ICMS excluído fica na J_1BNFLIN no campo novo:

Ein Bild, das Text enthält.

Automatisch generierte Beschreibung

Abaixo segue o exemplo da minha NF como ficou o preço, valor e impostos ( partindo de um preço líquido de 60 na ordem de vendas ):

Ein Bild, das Tisch enthält.

Automatisch generierte Beschreibung
Ein Bild, das Text, Wand, drinnen, Screenshot enthält.

Automatisch generierte Beschreibung

A pricing da fatura ficou assim:

Ein Bild, das Tisch enthält.

Automatisch generierte Beschreibung
Ein Bild, das Tisch enthält.

Automatisch generierte Beschreibung

Na J1B2N existe um campo para mostrar o valor excluído da base do PIS/COFINS conforme o valor da J_1BNFLIN:

Ein Bild, das Tisch enthält.

Automatisch generierte Beschreibung

Sem a exclusão do ICMS da base do PIS/COFINS a NF teria ficado assim:

Ein Bild, das Tisch enthält.

Automatisch generierte Beschreibung
Ein Bild, das Tisch enthält.

Automatisch generierte Beschreibung

Curiosidades adicionais:

  1. BADI J*ADD*DATA

O campo excluded_icms_from_piscofins está na ADD_DATA, o que significa que ele pode ser alterado via BAdI no momento de gravar a NF. Não sei qual o caso de uso pra isso, mas achei legal ter essa flexibilidade disponível:

Ein Bild, das Text, Tisch enthält.

Automatisch generierte Beschreibung +

O post foi um pouco técnico, mas, bom, SAP é um sistema, se você quer entender como funciona a solução precisa saber analisar um pouco do tecniquês também!

Valeu Gurizada!

Renan

Quer ficar ligado nas novidades de localização? Entra no grupo da S4CN no Telegram e segue a gente no canal do Youtube

Mais infos sobre a localização Brasil no ERP, direto da sap, vocês podem conferir no SAP community na tag de S/4HANA logistics for Brazil

Outros posts sobre Localização você pode conferir filtrando pela categoria NFE/CTE ou Localização BR Geral.

Subscribe
Notify of
guest
29 Comentários
Oldest
Newest Most Voted
Inline Feedbacks
Ver Todos Comentarios
Danielle Cordeiro
Danielle Cordeiro
29 dias atrás

Renan,

Parabéns pelo conteúdo, extremamente relevante e esclarecedor.
Obrigada por compartilhar conosco.

RAFAEL AIRES
RAFAEL AIRES
29 dias atrás

Renan, obrigado pelas informações e detalhes. Compartilhando com a galera.

[ ]s

Paulo Kanofre
Paulo Kanofre
29 dias atrás

Fala Renan, tudo bem?

Obrigado por compartilhar com a galera todas essas informações no detalhe.

Abraço,

Lyster
Lyster
27 dias atrás

Renan, parabéns pelo detalhamento das novas alterações, muito obrigado por compartilhar.

Antônio Rodrigues
Antônio Rodrigues
27 dias atrás

Muito obrigado pelo conteúdo Renan, estarei implementando hoje as notas para um cliente e realizarei os testes.

Antônio Rodrigues
Antônio Rodrigues
27 dias atrás
Responder Para  Renan Correa

Renan, desculpe o incomodo, você criou a view J_1BAMITV do grupo 85? Colocou tudo como Display ou nem criou?

trackback
24 dias atrás

[…] fiz um post falando sobre a solução standard da SAP em SD ( https://s4cn.com/exclusao-do-icms-da-base-do-pis-cofins-usando-a-solucao-standard-da-sap/ ) e agora que foi liberada a solução em MM também implementei a nota e fiz um […]

Jane Zanini
Jane Zanini
23 dias atrás

Olá Renan.
Parabéns pelo blog! Será de imensa ajuda.

Eu gostaria de tirar uma dúvida, achei que a SAP já havia disponibilizado as Notas para SD, mas hoje entrei no Announcement of Legal Changes e há uma previsão da SAP de lançar Nota no dia 01/10. Tem alguma ideia do que poderia ser? Será que esta previsão é para o S4?

Abraços.

Jane Zanini
Jane Zanini
20 dias atrás
Responder Para  Renan Correa

Oi Renan.

Ok, muito obrigada!
Aqui estamos na TAXBRA e começando a estudar as Notas para implementar.
Seu post tem sido um ótimo guia! Muito obrigada.

Rui
Rui
21 dias atrás

Fala Renan! Boa Tarde!
Tudo bem?
Cara, você sabe me dizer se essa SNOTE vale pra MM também?
Ou melhor, você sabe se a SAP vai prover algo pra MM em relação à essa exclusão do ICMS da base de PIS e COFINS? Estamos tentando identificar isso, mas até onde sei, só SD está sendo “afetado” por isso… Tens alguma info aí contigo?
Valeu!

Abraço!

Rui

Tiago Rodrigues
Tiago Rodrigues
20 dias atrás

Ótimo artigo, me ajudou bastante com o entendimento dos parâmetros para funcionamento da solução.

Estou apenas um dificuldade na exibição dos campos na J1BXN, mesmo com a criação do grupo 85 na J_1BAMITV meu bloco de PIS/COFINS não é exibido. É necessário algum ajuste prévio?

Ana Beatriz Nascimento Schmidt
Ana Beatriz Nascimento Schmidt
13 dias atrás
Responder Para  Renan Correa

Oi Renan, tudo bem? Estava com o mesmo problema, coloquei o grupo 12 como display e na aba Taxes lá embaixo mostra o quadro PIS/COFINS. Muito obrigada!

Last edited 13 dias atrás by Ana Beatriz Nascimento Schmidt
Paulo Zeferino
Paulo Zeferino
22 horas atrás

Same here! Tbem nao sei pq a SAP nao o deixou inativo por default. Aqui 2020 FPS02. Mas funcionou habilitando o 12 tambem.
Obrigado

Luiz Cardoso
Luiz Cardoso
14 dias atrás

Fala Renan, boa noite… tudo certo?
Primeiramente, parabéns pela publicação… muito bacana a maneira como você abordou e simplificou o tema.

Eu fiquei só com uma dúvida no trecho abaixo:

“O parâmetro changing ( a ser alterado na badi ) é simples, ele consiste de uma estrutura com quatro campos, um para cada tipo de ICMS ( normal, partilha, fcp e fcp partilha ).
E tem que flegar o que deve ser usado para excluir do PIS/COFINS:
icms_partilha           TYPE abap_bool,
      icms_fcp                TYPE abap_bool,
      icms                    TYPE abap_bool,
      icms_partilha_fcp       TYPE abap_bool,”

Sabe se na solução standard é possível só selecionar 1 único tipo?
Ou posso flegar todos e o sistema identificaria cada cenário?
Pergunto pois hoje temos operações que temos 3 tipos de ICMS em um único processo. Ai gostaria de saber se teria que partir para uma customização da solução proposta.

Glaucia Favaretto
Glaucia Favaretto
14 dias atrás

Oi Renan! Funciona no ECC ou so no S/4? Pelo que entendi entao é só ativar na BADI, nao precisa desenvolver o calculo. Correto?

Obrigada!

Glaucia Favaretto
Glaucia Favaretto
13 dias atrás
Responder Para  Renan Correa

Muito obrigada pelo retorno!!

José Márcio
José Márcio
6 dias atrás

Muito legal e esclarecedor. Parabéns.

29
0
Deixa tua opinião aí!x
()
x