Exclusão do ICMS da Base do PIS/COFINS usando a solução standard da SAP
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:
Depois de baixar no snote a Implementação foi rapidinha:
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.
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:
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:
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.
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.
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):
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 ):
Logo depois da BAdI tem uma verificação sobre quais parâmetros foram ativados para exclusão:
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):
Aqui embaixo o exemplo via debugger:
Depois de criada a NF o valor do ICMS excluído fica na J_1BNFLIN no campo novo:
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 ):
A pricing da fatura ficou assim:
Na J1B2N existe um campo para mostrar o valor excluído da base do PIS/COFINS conforme o valor da J_1BNFLIN:
Sem a exclusão do ICMS da base do PIS/COFINS a NF teria ficado assim:
Curiosidades adicionais:
- 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:
+
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.
Renan,
Parabéns pelo conteúdo, extremamente relevante e esclarecedor.
Obrigada por compartilhar conosco.
Valeu, Danielle ! Já estou substituindo soluções com enhancements pela standard da SAP, agora estou na espera pela parte de MM da solução.
Renan, obrigado pelas informações e detalhes. Compartilhando com a galera.
[ ]s
Valeu Rafael por aompanhar e divulgar… Ainda estou adicionando funcionalidades no S4CN… não gosto da idéia de disparar e-mails para cada post, então ainda não sei se vou criar uma lista no telegram ou se vou criar uma newsletter quinzenal ou mensal com o resumo das novidades…
Fala Renan, tudo bem?
Obrigado por compartilhar com a galera todas essas informações no detalhe.
Abraço,
Blz, Paulo!
Valeu pelo feedback, to acompanhando todas as mudanças de perto. E posso dizer que tem muita novidade e alteração saindo do forno agora em outubro com o S/4HANA 2021.
Renan, parabéns pelo detalhamento das novas alterações, muito obrigado por compartilhar.
Tranquilo Lyster, valeu pelo feedback. O site é aberto a sugestões, se tiver alguma coisa legal sobre o assunto para compartilhar bora lá!
Muito obrigado pelo conteúdo Renan, estarei implementando hoje as notas para um cliente e realizarei os testes.
Isso aí, Antônio! Avisa aí se achar algum galho, até agora não tive nenhum problema, mas ainda estou recém validando a solução.
Renan, desculpe o incomodo, você criou a view J_1BAMITV do grupo 85? Colocou tudo como Display ou nem criou?
Fiz a configuração e deixei como display apenas.
[…] 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 […]
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.
Oi Jane,
a SAP ainda vai lançar as notas para pricing TAXBRJ/RVXBRA. Nesse caso eu realmente não estou prestando muita atenção, essas pricings em geral são usadas apenas em ambientes com implementações muito antigas ou empresas que tem Oil/Gas/Mining ativados. A solução para S/4HANA na TAXBRA já saiu, tanto SD como MM.
att,
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.
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
Oi Rui, Tudo de boas. Para MM em outra nota separada, eu fiz um segundo post mostrando a solução da SAP para MM
https://s4cn.com/exclusao-do-icms-da-base-do-pis-cofins-em-mm-usando-a-solucao-standard-da-sap/
Ó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?
Oi Tiago,
Então, a solução é meio estranha. A SAP colocou esse campo na mesma subtela do PIS/COFINS ST, então essa subtela precisa estar configurada para exibição.
Essa subtela vem do grupo 12 na view J_1BNFW_SCCITV.
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!
Same here! Tbem nao sei pq a SAP nao o deixou inativo por default. Aqui 2020 FPS02. Mas funcionou habilitando o 12 tambem.
Obrigado
Opa, bom dia. Conseguiu exibir os campos na J1BxN? Estou tendo dificuldades em achar grupo 85, 12…
Resolvido.
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.
Oi Luiz,
Em teoria se você sempre vai excluir qualquer ICMS você pode flegar todos na sua implementação da BAdI. Agora se você quer regras que dependem do tipo de cliente, do estado de destino ou estado de origem, daí vai ter que criar mais regras para quando excluir cada tipo na BAdI.
att,
Renan Correa
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!
Oi Glaucia,
A solução está disponível tanto no ECC como no S/4HANA, tanto para TAXBRA como TAXBRJ. Isso mesmo, basta implementar as notas e ativar a BAdI, o cálculo é feito direto na pricing pelo código que a SAP entregou nas notas.
att,
Renan Correa
Muito obrigada pelo retorno!!
Muito legal e esclarecedor. Parabéns.
Valeu José! Se tiverem sugestões de conteúdo para discussões podem enviar também!
Muito bom, como ficaria se o valor net já contivesse o PIS/COFINS ?
Oi, não fiz nenhum teste com preço bruto ou PIS/COFINS incluído no líquido. Se você tiver alguma experiência com esse cenário compartilha aí…
Renan, seus posts são sempre otimos!! salvam nossas vidas!! kkkk valeu!
Oi Lucia,
valeu pelo comentário. Se implementarem a solução comentem aí como está funcionando para você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
Oi Jane,
Tratar devoluções e qualquer cenário especial é feito na lógica da BAdI, isso é tudo dependente dos cenários do cliente e por isso precisa ser customizado. Você pode usar a pricing date do documento original ou outros parâmetros para identificar quando realizar o cálculo com a lógica anterior à da exclusão.
att,
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
Oi Renan! Uma duvida, caso o cliente não queira que o valor total da nota fique menor, qual seria o procedimento no SAP?
Oi Glaucia! De cabeça eu não tenho uma resposta, talvez um enhancement para modificar o valor total porque acho que via BAdI não vai ser possível. Mas eu tentaria entender o porque de não mudar o valor total, já que reduziu o montante de imposto. E antes de fazer qualquer desenvolvimento eu faria um teste manualmente só para ver se a NF seria aprovada nesse cenário tbm.
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.
Oi Gláucia e Aline,
Talvez eu não tenha entendido o caso inicialmente, falei com um colega e acho que entendi agora. Se o cliente quer que exclua o ICMS da base do PIS/COFINS e o valor total da nota continue o mesmo é preciso então aumentar o preço do material
Se eu tenho menos imposto e o mesmo preço a consequência natural é que o valor total seja menor, para manter o mesmo valor total eu vou ter que aumentar o preço do material ( e nesse caso a margem do produto ).
att,
Renan Correa
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?
Oi Rafael,
Valeu! Não cheguei a ter problemas de arrendondamento especificamente depois de implementar essas notas e o cálculo novo.
att,
Renan Correa
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!
Oi Augusto,
Não tive nenhum problema ainda com diferimento do ICMS, mas esse é um cenário que depende do estado.
att,
Renan
Muito bom ! Aqui implementamos somente a nota de SD e infelizmente deu impacto em MM totalmente inesperado. Afetou todos Pedidos(PO) antigos e novos.
Oi Alan,
Se foi implementado em SD e impactou cenários de compras provavelmente faltou filtrar a aplicação (TX ou V ) para decidir se remove ou não.
att,
Renan Correa
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?
Oi Ricardo,
Não implementei essas notas em nenhum cliente que estivesse faturando em dólar, então não vi esse problema. Eu acompanho as notas de correção e por enquanto não vi nenhuma falando sobre esse cenário.
att,
Renan Correa
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?
Oi Eduardo,
Isso precisa ser tratado na BAdI se você quer que seja calculado com a exclusão ou não.
att,
Renan Correa ( não tinha visto sua pergunta antes )
nossa mano, valeu pela explicação. TOP demais.
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,
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.
Renan,
Ótimo conteúdo, muito bem explicado, obrigado por compartilhar!
Renan, muito obrigado por compartilhar o conteudo.
Estou em um entrave justamente por conta dos tipos de impostos para a exclusão.
Na fatura de SD que é disparada pelo documento de faturamente de expedição de frete do TM (criado com base em uma ordem de expedição de frete), tem o tipo de imposto CIC3 que não é mencionado em nenhuma das notas e não consigo fazer passar pela exclusão porque a nota não contempla a tratativa para esse tipo.
Já procurei em diversos lugares e nada desse tipo de imposto CIC3 foi encontrado.
Gostaria de saber se já viu (ou alguém aqui já viu) esse tipo de imposto e como que faz pra ele ser validado e cair na exclusão do ICMS.
Desde já agradeço a atenção.