Problema na determinação de Direito Fiscal de Pis/Cofins

Publicado por:Renan Correa Sun, 08 June 2025
Compartilhe:
08 de June de 2025

Problema do Tax Law do PIS/COFINS

Conversando com um colega vimos um erro curioso em um sistema ECC. O sistema estava determinando o Direito Fiscal do PIS e do COFINS vindo da J_1BSDICA embora existisse uma bendita exceção dinâmica na J1BTAX para esse famigerado cenário.

Por algum motivo obscuro ela não estava sendo encontrada nem com reza braba. A alíquota e base estavam corretas, apenas o Direito fiscal estava vindo errado.

Olhamos e re-olhamos as configurações e nada parecia estar errado, então resolvemos analisar no código, direto pela função J_1B_SD_TAXLAW, afinal de contas código não mente:

Graphical user interface, text, application

Description automatically generated

Essa função gloria tem a lógica para determinar essa informação do direito fiscal e ela obviamente busca os dados de maneira dinâmica lendo as informações dos grupos das exceções da J1BTAX.

Isso fica evidente no PERFORM abaixono qual o sistema está passando o taxgroup e os valores dinâmicos 1,2 e 3 para fazer a leitura:

Text, application

Description automatically generated

Nesse ponto aqui a FM faz a leitura dos dados de COFINS e notei algo muito interessante nesse select direto da tabela J_1BTXCOF:

Grupo 51 - Uma boa idéia

O Direto Fiscal do PIS/COFINS não vem do registro de condição criado da J1BTAX (juro que estou há 15 anos nessa indústria vital e nunca tinha reparado nisso) mas sim diretamente da tabela de exceção J_1BTXCOF (para o caso do cofins).

Resolução:

Pô, se não é o registro de condição e o select da tabela tá falhando vamos ver o que está na tabela do banco.

Abri a SE16N e olhei as entradas da tabela e notei que havia uma entrada com 2 chaves, diferente do que era esperado pois na config do grupo em questão só tinha 1 chave.

Peraê, peraê, peraê. A entrada que eu via na tela da J1BTAX é diferente da que eu estou vendo no banco. Analisei as requests de alterações e achei a razão para o erro.

O que aconteceu: acho que foi criado um grupo novo usando uma chave com 2 campos dinâmicos. Foi criada uma exceção dinâmica e testada. Depois disso, devem ter notado/decidido que o grupo precisava de apenas uma chave, então alteraram a configuração do grupo, mas a entrada existente não foi ajustada/deletada.

A exceção passou a aparecer na tela da J1BTAX com 1 das chaves (de acordo com a config), mas no banco ela continuava existindo usando as 2 chaves e o select falhava na leitura da tabela por causa disso. Deletei a entrada no banco e re-criei pela J1BTAX e o cenário funcionou.

Como diria o Dr. House “Everybody lies” inclusive dynpros de programas ABAP quando a gente faz configurações do jeito errado e fica indo e voltando as alterações.

Moral da História: Máxima atenção antes de criar um grupo novo na J1BTAX, tanto nas chaves dinâmicas como na sequência do grupo, depois de criar entradas em um grupo qualquer alteração da estrutura do grupo deixa “lixaredo” nas tabelas do sistema se não forem apagadas manualmente.

Valeu Gurizada,

Renan Correa

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
6 Comentários
Oldest
Newest Most Voted
Inline Feedbacks
Ver Todos Comentarios
Secco
Secco
10 dias atrás

Lição aprendida aqui, debug sempre salva <3

Ruy
Ruy
10 dias atrás

Lição 2 hhe l sempre rodar a migração das tabelas dos impostos da J1BTAX sempre quando criar, excluir grupo e criar excluir registros de condições.

Michelle
Michelle
10 dias atrás
Responder Para  Ruy

E tem pessoas que falam que não precisa. O básico bem feito não dá problema. 🙂

Michelle
Michelle
10 dias atrás

O básico sempre salva! 🙂

Sílvio
Sílvio
10 dias atrás

Lição aprendida

Manuel
Manuel
10 dias atrás

Foi longe…parece uma cena do famoso 007.

6
0
Deixa tua opinião aí!x