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

Publicado por:Renan Correa Wed, 22 September 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,

Nesse método que você precisa programar excessões para a lógica de exclusão como por exemplo no caso de devoluções de vendas antigas.

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
54 Comentários
Oldest
Newest Most Voted
Inline Feedbacks
Ver Todos Comentarios
Danielle Cordeiro
Danielle Cordeiro
1 ano atrás

Renan,

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

RAFAEL AIRES
RAFAEL AIRES
1 ano atrás

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

[ ]s

Paulo Kanofre
Paulo Kanofre
1 ano atrás

Fala Renan, tudo bem?

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

Abraço,

Lyster
Lyster
1 ano atrás

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

Antônio Rodrigues
Antônio Rodrigues
1 ano 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
1 ano 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
1 ano 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
1 ano 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
11 meses 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
11 meses 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
11 meses 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
11 meses 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 11 meses atrás by Ana Beatriz Nascimento Schmidt
Paulo Zeferino
Paulo Zeferino
11 meses 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

Ramon Roque
Ramon Roque
9 meses atrás
Responder Para  Tiago Rodrigues

Opa, bom dia. Conseguiu exibir os campos na J1BxN? Estou tendo dificuldades em achar grupo 85, 12…

Ramon Roque
Ramon Roque
9 meses atrás
Responder Para  Ramon Roque

Resolvido.

Luiz Cardoso
Luiz Cardoso
11 meses 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
11 meses 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
11 meses atrás
Responder Para  Renan Correa

Muito obrigada pelo retorno!!

José Márcio
José Márcio
11 meses atrás

Muito legal e esclarecedor. Parabéns.

sniffer
sniffer
10 meses atrás

Muito bom, como ficaria se o valor net já contivesse o PIS/COFINS ?

Lucia Cristina Mendes
Lucia Cristina Mendes
10 meses atrás

Renan, seus posts são sempre otimos!! salvam nossas vidas!! kkkk valeu!

Jane Zanini
Jane Zanini
10 meses atrás

Olá Renan, tudo bem?
Aplicamos as Notas da SAP e por hora tudo seguindo bem, mas estou com um problema quanto as devoluções.

Sabe se há alguma solução standard para que as devoluções mantenham os valores conforme emitidos na NF de Saída original? Ou isso a SAP deixou para ser tratado via BADI?

Por hora, aqui as devoluções aplicam o desconto na base do pis/cofins fazendo com que o contábil não feche.

Att.
Jane

Jane Zanini
Jane Zanini
10 meses atrás
Responder Para  Renan Correa

Oi Renan.

Muito obrigada!
Vamos analisar a melhor solução de acordo com o nosso ambiente mas creio que utilizaremos a pricing date mesmo.

Há outro cenário que aqui teremos que tratar via BADI que é o ICMS desonerado, há o entendimento que este ICMS não deve ser abatido, e ai não tem jeito, vai ser via desenvolvimento.

Att.
Jane

Glaucia
Glaucia
9 meses atrás

Oi Renan! Uma duvida, caso o cliente não queira que o valor total da nota fique menor, qual seria o procedimento no SAP?

Aline
Aline
7 meses atrás
Responder Para  Renan Correa

Tenho este mesmo problema, tem clientes que não querem modificar o valor final da nota fiscal e dizem que o valor de ICMS precisa manter o antigo, sem ajuste. No caso de preço liquido quando esta situação ocorre o campo NETWR não bate com o preço líquido informado na pricing.

Rafael
Rafael
8 meses atrás

Renan,
Primeiramente parabéns pelo tutorial e obrigado por compartilhar conosco.

Aplicação as notas e implementamos a BADI apenas passando ‘X’ para CS_ICMS_EXCL_PARAMS-ICMS, exceções de devoluções trataremos depois. Vimos que a solução proposta foi aplicada com sucesso.

Dúvida:
Área fiscal apontou uma diferença de 1 ou 2 cents no Montante Base, talvez por arredondamento no código STANDARD.
Você chegou a passar por esse problema de arredondamento? Se sim, sabe se a SAP disponibilizou alguma solução/nota posterior?

Augusto Pres
Augusto Pres
6 meses atrás

Você soube de algum problema com o diferimento do ICMS? pegando o valor total do icms e não o % diferido nos casos de preço bruto? Obrigaod!

Renan Correa
Renan Correa
6 meses atrás
Responder Para  Augusto Pres

Oi Augusto,
Não tive nenhum problema ainda com diferimento do ICMS, mas esse é um cenário que depende do estado.
att,
Renan

Carvalho Alan
Carvalho Alan
5 meses atrás

Muito bom ! Aqui implementamos somente a nota de SD e infelizmente deu impacto em MM totalmente inesperado. Afetou todos Pedidos(PO) antigos e novos.

RIcardo Ribeiro
RIcardo Ribeiro
5 meses atrás

Renan Fizemos aplicação das notas e deu certo até certo. No entanto, para as notas em dólar o valor do campo exclusão não está sendo convertido. sabe se temos nota para isso?

Eduardo
Eduardo
4 meses atrás

Renan tenho uma duvida, estou para implementar em uma empresa aonde , possuem um cockpit que gera, cotação e ordem de vendas que ficam aguardando a delivery.

Neste caso como ficariam essas ordens antigas e pendentes, após a implementação, saberia me informar?

Angelo
Angelo
4 meses atrás

nossa mano, valeu pela explicação. TOP demais.

Diego
Diego
17 dias atrás

Bom dia Caros colegas!

Gostaria de saber alguém já testou o calculo em uma venda para consumo onde o IPI integra a base do ICMS. Identificamos partido de um preço líquido de 1.000, incluindo os impostos ICMS/IPI/PIS/COFINS chegamos em um preço bruto X. Conferindo este preço bruto, retirando os impostos calculados, teríamos o mesmo preço líquido… Porem esta conta não fecha, sobrando uma diferença que acreditamos ser o impacto da exclusão no IPI. Alguém teria esta solução, como devemos proceder nos casos de venda para consumo com IPI?

grato,

Danilo Nogueira
Danilo Nogueira
14 dias atrás

Renan boa tarde,

Obrigado por compartilhar, me ajudou muito na implemtação da exclusão do ICMS da base de PIS e COFINS.

Será que você poderia me sugerir um caminho para seguir com uma possível solução abaixo:

Case: Implementação a exclusão de ICMS da base de PIS e COFINS standard SAP tanto para SD e MM, o cálculo está funcionando corretamente, porém o departamento fiscal nos passou que a crédito de ICMS sobre a base de PIS e COFINS deve ser feito em cima da base cheia, solicitou que seja feita a contabilização da diferença do cálculo inserindo uma nova linha no momento do lançamento da MIRO. Porém identificamos que caso isso seja feito poderá alterar o valor dos impostos da NF-e e consequentemete o lançamento da MIRO não irá fechar.

Exemplo:

NF-e 000166176-1 – Fornecedor ID 18739 – Produflex, possui a exclusão do ICMS da Base de PIS e COFINS

Veja que na NF-e o cálculo de PIS e COFINS foi realizado em cima do valor sem o ICMS na Base de PIS e COFINS

Print “Impostos NF-e”

COFINS – 75,23 x 0,076 = 5,72

PIS – 75,23 x 0,0165 = 1,24

O departamento fiscal realiza o crédito em cima do valor da Base ICMS cheio, por isso é necessário realizar o cálculo do complemento que seria:

Valor base ICMS 91,74 x 0,076 = 6,98 resultado você subtrai valor calculado com a exclusão do ICMS da base do COFINS

6,98 – 5,72 = 1,26 – Valor do COFINS complementar

Valor base ICMS 91,74 x 0,0165 = 1,51 resultado você subtrai valor calculado com a exclusão do ICMS da base do PIS

1,51 – 1,24 = 0,27 – Valor do PIS complementar

O valor complementar do PIS e COFINS deve acontecer somente no lançamento da contabilização da MIRO, conforme abaixo, porém inserindo uma nova linha do PIS e COFINS com o valor complementar.

No caso deveria criar duas novas linhas da seguinte forma

CO3 BR02 7 40 44101300 Oth.tax payable t13 1,26 BRL 1,26

PI3 BR02 8 40 44101200 Oth.tax payable t12 0,27 BRL 0,27

O valor complementar do PIS e COFINS deve acontecer somente no lançamento da contabilização da MIRO, conforme abaixo, porém inserindo uma nova linha do PIS e COFINS com o valor complementar.

No caso deveria criar duas novas linhas da seguinte forma

CO3 BR02 7 40 44101300 Oth.tax payable t13 1,26 BRL 1,26

PI3 BR02 8 40 44101200 Oth.tax payable t12 0,27 BRL 0,27

Print “Contabilização”

Desde já obrigado pela atenção.
Obrigado.

Contabilização.png
54
0
Deixa tua opinião aí!x