01. Visão Geral

O Índice de Participação por Município (IPM) é um controle efetuado pelas Secretarias da Fazenda Estadual (SEFAZ) para identificar o montante de operações realizadas em cada município,
com o propósito de realizar uma melhor distribuição do imposto recolhido para os municípios de seu território. Essas informações são apresentadas no registro 1400 da EFD ICMS/IPI.

Essa funcionalidade permite rastrear quais os valores divididos para cada município e identificar (via relatório) como o sistema chegou nesses valores, trazendo informações dos documentos fiscais e das regras utilizadas.

O objetivo da rotina de apuração é que seja personalizável, permitindo que o cliente consiga configurar e montar as regras de geração do registro 1400 de acordo com sua movimentação.

02. Pré-Condições

2.0 Regras de Negócio

  Além do configurador de tributos gerar os lançamentos fiscais na tabela F2D ( Tributos Genéricos Calculados ), as notas que irão ser consideradas no filtro da apuração, deverão possuir ICMS na SFT ( FT_BASEICM > 0, FT_ISENICM > 0 ou FT_OUTRICM > 0 ).


          Exemplo de nota que irá considerada na apuração:

2.1 Código de item para IPM ( CLN )

É possivel importar os códigos do IPM (tabela CLN) por UF, na rotina Índice de Part. dos Municipios (FISA094).
https://www.sped.fazenda.gov.br/spedtabelas/AppConsulta/publico/aspx/ConsultaTabelasExternas.aspx?CodSistema=SpedFiscal

2.2 Tributo Genérico ( F2E )

2.3 Perfil de Produto ( F20 \ F24 )

2.4 Perfil de Operação ( F20 \ F23  )

2.5 Perfil de Participante ( F20 \ F22 )

2.6 Perfil de Origem / Destino ( F20 \ F21 )

2.7 Regra Base de Cálculo  ( F27 )

2.8 Regra Alíquota ( F28 )

2.9 Regra Escrituração ( C2J )

2.10 Regra Apuração ( F2G )

2.11 Regra Cálculo Documento Fiscal ( F2B )

2.12 Cadastro Código IPM ( CKD\CKE\CKD)


        

03. Apuração

3.1 Como parametrizar

Caminho: Configurador de tributos (FISA170) \ Regras Fiscais \ Apuração \ Apuração de IPM (FISA325 - FISA324)

Ao clicar em processar será necessário selecionar a filial onde será gravado a apuração, essa filial será considerada a filial centralizadora.



03. CRIAÇÃO E PERSISTÊNCIA DO CAMPO CJ3_CCT NA TABELA CJ3

Os códigos cClassTrib foram integrados à estrutura do Configurador de Tributos por meio da rotina Regra de Escrituração, permitindo o cadastro do Código de Classificação Tributária (cClassTrib) e do Código de Situação Tributária (CST) do IBS, CBS e IS.

Após o vínculo dos códigos na Regra de Escrituração e o posterior vínculo desta na Regra de Cálculo, quando houver o cálculo do tributo a sua escrituração se dará na tabela CJ3, assim, foi criado o campo CJ3_CCT para armazenar o Código de Classificação Tributária. Com isso, ao lançar o documento fiscal, os campos CJ3_CST e CJ3_CCT serão preenchidos automaticamente, compondo o código do cClassTrib.

Para clientes que operam nas releases 12.1.2410 ou anteriores, será necessária a execução do compatibilizador UPDDISTR com o pacote diferencial (SDFBRA.txt).

Esta correção será disponibilizada na Expedição contínua e o pacote poderá ser acessado através dos links disponibilizados na documentação Pacotes de Atualização - Fiscal.

Informações sobre a Expedição contínua acessar: http://tdn.totvs.com/x/H4uCEw.
Informações sobre o compatibilizador UPDDISTR acessar: Atualizador de dicionário e base de dados - UPDDISTR.

Campo

CJ3_CCT

TipoCaractere
Tamanho3
Decimal0
TítuloCCT IBS/CBS
DescriçãoCCT IBS/CBS
Picture@!
Validação
Exibe browseSim
VisualAlterar
ContextoReal
Help

Código da Classificação Tributária para o IBS e CBS. Corresponde aos 3 últimos dígitos do campo CJ2_CSTCCT.

04. INCLUSÃO E PERSISTÊNCIA DOS CAMPOS cClassTrib NA TABELA CJ2

Conforme estabelecido pela Lei Complementar nº 214/2025 e normatizado na Nota Técnica 2025.002 – IBS/CBS/IS e no Informe Técnico RT 2024.001, os documentos fiscais eletrônicos são obrigados a informar o Código de Classificação Tributária (cClassTrib) e do Código de Situação Tributária (CST) do IBS, CBS e IS.

Portanto, foi disponibilizado o preenchimento desses códigos no Configurador de Tributos através da rotina Regra de Escrituração.

Foram criados os campos Class Trib (CJ2_CSTCCT), Data Inicial (CJ2_CCTVIG), CCT IBS/CBS (CJ2_CCT), Desc CCT (CJ2_DESCCT) para vincular os códigos vindos da tabela Classificação Tribt IBS/CBS (CKB).


Vinculando a Regra de Escrituração com os códigos de Tabela cClassTrib-IBS/CBS. Para isso é necessário ter dados incluídos no Cadastros -> Tabela cClassTrib-IBS/CBS

Após isso, na Regra de Escrituração ao informar o código Class Trib (CJ2_CSTCCT) na consulta padrão os campos CCT IBS/CBS (CJ2_CCT), Vigência Class Trib (CJ2_CCTVIG), Desc CCT (CJ2_DESCCT), CST (CJ2_CST) e Descrição (CST) serão gatilhados de acordo com o código escolhido.

Após isso, a Regra de Escrituração deve ser vinculada a Regra de Cálculo - Documentos Fiscais

Após vincular a Regra de Cálculo - Documentos Fiscais a configuração do código da Classificação Tributária do IBS, CBS e IS estará concluída.


A tela apresenta um comportamento dinâmico.

Caso o campo Class Trib (CJ2_CSTCCT) esteja preenchido, os campos da sessão Códigos da Situação Tributária: Tabela CST (CJ2_CSTCAB), CST (CJ2_CST) e CST Devol. (CJ2_CSTDEV) serão desabilitados, não permitindo edição.

Caso o campo Class Trib (CJ2_CSTCCT) em branco, o campo da sessão Códigos da Situação Tributária: Tabela CST (CJ2_CSTCAB) será habilitado e o preenchimento desse campo, desabilitará os campos da sessão Código de Classificação Tributária IBS e CBS e habilitará a edição dos campos CST (CJ2_CST) e CST Devol. (CJ2_CSTDEV)

Portanto os campos Class Trib (CJ2_CSTCCT) e Tabela CST (CJ2_CSTCAB) determinam quais sessão serão usadas para aquela Regra de Escrituração, não sendo possível ter operações onde o Class Trib (CJ2_CSTCCT) e a Tabela CST (CJ2_CSTCAB) sejam usadas simultaneamente.

Para clientes que operam nas releases 12.1.2410 ou anteriores, será necessária a execução do compatibilizador UPDDISTR com o pacote diferencial (SDFBRA.txt).

Esta correção será disponibilizada na Expedição contínua e o pacote poderá ser acessado através dos links disponibilizados na documentação Pacotes de Atualização - Fiscal.

Informações sobre a Expedição contínua acessar: http://tdn.totvs.com/x/H4uCEw.
Informações sobre o compatibilizador UPDDISTR acessar: Atualizador de dicionário e base de dados - UPDDISTR.

05. DEMAIS INFORMAÇÕES

Campos Criados

Campo

CJ2_CSTCCT

TipoCaractere
Tamanho6
Decimal0
TítuloClass Trib
DescriçãoCod Classif Trib IBS/CBS
Picture@999999
Validação
Exibe browseSim
VisualAlterar
ContextoReal
Help

Código da Classificação Tributária Completo para o IBS e CBS

Campo

CJ2_CCT

TipoCaractere
Tamanho3
Decimal0
TítuloCCT IBS/CBS
DescriçãoCCT IBS/CBS
Picture@!
Validação
Exibe browseSim
VisualVisualizar
ContextoReal
Help

Código da Classificação Tributária para o IBS e CBS. Corresponde aos 3 últimos dígitos do campo CJ2_CSTCCT.

Campo

CJ2_CCTVIG

TipoData
Tamanho8
Decimal0
TítuloData Inicial
DescriçãoData Inicial da Vigencia
Picture
Validação
Exibe browseSim
VisualVisualizar
ContextoReal
Help

Data de inicio da vigencia para esse codigo de classificacao tributaria.

Campo

CJ2_DESCCT

TipoMemo
Tamanho10
Decimal0
TítuloDesc CCT
DescriçãoDesc Classif Tributaria
Picture
Validação
Exibe browseNão
Inic. PadrãoIIF(!INCLUI,POSICIONE("CKB",1,XFILIAL("CKB")+CJ2->CJ2_CSTCCT+DTOS(CJ2->CJ2_CCTVIG),"CKB_DESCRI"),"")
Inic. Browse
VisualVisualizar
ContextoVirtual
Help

Descrição detalhada da Classificação Tributária do IBS/CBS.

Consulta Padrão (F3)

Consulta

CJ2CCT

DescriçãoCod Classsif Trib
TabelaCKB
FiltroCKB->CKB_DTFIM >= dDataBase .or. empty(CKB->CKB_DTFIM)
Ordem01 - Class Trib+ Data In  (CKB_CSTCCT + CKB_DTINI)
Colunas

Class Trib (CKB_CSTCCT)

Data Inicial (CKB_DTINI)

Desc CCT (CKB_DESCRI)

Retorno

CKB_CSTCCT

CKB_CCT

CKB_DTINI

Gatilhos criados

Campo CJ2_CSTCCT

Gatilho

CJ2_CSTCCT

Ctr. DomínioCJ2_CST
Sequência001
RegraCriaVar("CJ2_CST")
TipoPrimário
Seek (Posiciona)Não
Alias Pesq.
Ordem Pesq.
Chave
CondiçãoEMPTY(M->CJ2_CSTCCT)

Gatilho

CJ2_CSTCCT

Ctr. DomínioCJ2_CCT
Sequência002
RegraCriaVar("CJ2_CCT")
TipoPrimário
Seek (Posiciona)Não
Alias Pesq.
Ordem Pesq.
Chave
CondiçãoEMPTY(M->CJ2_CSTCCT)

Gatilho

CJ2_CSTCCT

Ctr. DomínioCJ2_DESCCT
Sequência003
Regra"" 
TipoPrimário
Seek (Posiciona)Não
Alias Pesq.
Ordem Pesq.
Chave
CondiçãoEMPTY(M->CJ2_CSTCCT)

Gatilho

CJ2_CSTCCT

Ctr. DomínioCJ2_CCTVIG
Sequência004
RegraCriaVar("CJ2_CCTVIG")
TipoPrimário
Seek (Posiciona)Não
Alias Pesq.
Ordem Pesq.
Chave
CondiçãoEMPTY(M->CJ2_CSTCCT)

Gatilho

CJ2_CSTCCT

Ctr. DomínioCJ2_DESCST
Sequência005
Regra""
TipoPrimário
Seek (Posiciona)Não
Alias Pesq.
Ordem Pesq.
Chave
CondiçãoEMPTY(M->CJ2_CSTCCT)

Gatilho

CJ2_CSTCCT

Ctr. DomínioCJ2_CCTVIG
Sequência006
RegraF160JVIG()
TipoPrimário
Seek (Posiciona)Não
Alias Pesq.
Ordem Pesq.
Chave
Condição

Campo CJ2_CCTVIG

Gatilho

CJ2_CCTVIG

Ctr. DomínioCJ2_CST
Sequência001
RegraCKB->CKB_CST
TipoPrimário
Seek (Posiciona)Sim
Alias Pesq.CKB
Ordem Pesq.001
ChavexFilial("CKB")+M->CJ2_CSTCCT+DTOS(M->CJ2_CCTVIG)
Condição

Gatilho

CJ2_CCTVIG

Ctr. DomínioCJ2_CCT
Sequência002
RegraCKB->CKB_CCT
TipoPrimário
Seek (Posiciona)Sim
Alias Pesq.CKB
Ordem Pesq.001
ChavexFilial("CKB")+M->CJ2_CSTCCT+DTOS(M->CJ2_CCTVIG)
Condição

Gatilho

CJ2_CCTVIG

Ctr. DomínioCJ2_DESCCT
Sequência003
RegraCKB->CKB_DESCRI
TipoPrimário
Seek (Posiciona)Sim
Alias Pesq.CKB
Ordem Pesq.001
ChavexFilial("CKB")+M->CJ2_CSTCCT+DTOS(M->CJ2_CCTVIG)
Condição

Gatilho

CJ2_CCTVIG

Ctr. DomínioCJ2_DESCST
Sequência004
RegraCKB->CKB_DESCST
TipoPrimário
Seek (Posiciona)Sim
Alias Pesq.CKB
Ordem Pesq.001
ChavexFilial("CKB")+M->CJ2_CSTCCT+DTOS(M->CJ2_CCTVIG)
Condição

Campos alterados

Foi retirado o inicializador padrão do campo de Descrição do CST, pois agora quando é Classificação Tributária do IBS e CBS, a descrição será de acordo com o campo Descricao CST-IBS/CBS (CKB_DESCST) a tabela Classificação Tribt IBS/CBS (CKB). Caso seja uma operação legada, a descrição será de acordo com o campo Descrição do CST (CJ1_DESCR) da tabela CST-ITEM (CJ1) que faz referência a rotina Código Situação Tributária do Configurador de Tributos

Esse inicializador será realizado via fonte, pois foi adicionado a validação:

SE o campo Tabela de CST (CJ2_CSTCAB) ESTIVER PREENCHIDO E o campo Class Trib (CJ2_CSTCCT) NÃO ESTIVER PREENCHIDO 

ENTÃO Inicializador Browser = Descrição do CST (CJ1_DESCR) da tabela CST-ITEM (CJ1) 

SENÃO
SE o campo Class Trib (CJ2_CSTCCT) ESTIVER PREENCHIDO E o campo Tabela de CST (CJ2_CSTCAB)  NÃO ESTIVER PREENCHIDO 

ENTÃO Inicializador Browser = Descricao CST-IBS/CBS (CKB_DESCST) a tabela Classificação Tribt IBS/CBS (CKB)

FIM


Campo

CJ2_DESCST

Inic. browse