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.
É 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


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.



Ela será responsável pelo cadastro dos códigos cClassTrib:

Criada rotina para fazer a importação dos dados da Tabela referente ao CST/cClasstrib do IBS e CBS. Será gravada na tabela CKB do sistema.
A rotina processará somente arquivo do tipo ".CSV", portanto, a tabela original, que possui formato ".xlsx" (Planilha do Microsoft Excel), deverá ser transformada para o formato ".CSV". Como sugestão para esse procedimento, abra a tabela através do Microsoft Excel, opção "Salvar Como", selecione o Tipo "CSV (separado por vírgulas)" e salve o documento. Como forma de validar o arquivo, será exigida a presença dos campos abaixo exatamente com esses nomes (não case sensitive). Caso algum desses campos não exista no arquivo, será exibido um alerta na tela e a importação não será realizada. CST-IBS/CBS |
Será exibida uma tela conforme a figura abaixo, para selecionar o arquivo ".CSV" que foi gerado. Após a seleção do arquivo e confirmar a operação, a importação será realizada.


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. |
Campo | CJ3_CCT |
|---|---|
| Tipo | Caractere |
| Tamanho | 3 |
| Decimal | 0 |
| Título | CCT IBS/CBS |
| Descrição | CCT IBS/CBS |
| Picture | @! |
| Validação | |
| Exibe browse | Sim |
| Visual | Alterar |
| Contexto | Real |
| Help | Código da Classificação Tributária para o IBS e CBS. Corresponde aos 3 últimos dígitos do campo CJ2_CSTCCT. |
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. |
Campo | CJ2_CSTCCT |
|---|---|
| Tipo | Caractere |
| Tamanho | 6 |
| Decimal | 0 |
| Título | Class Trib |
| Descrição | Cod Classif Trib IBS/CBS |
| Picture | @999999 |
| Validação | |
| Exibe browse | Sim |
| Visual | Alterar |
| Contexto | Real |
| Help | Código da Classificação Tributária Completo para o IBS e CBS |
Campo | CJ2_CCT |
|---|---|
| Tipo | Caractere |
| Tamanho | 3 |
| Decimal | 0 |
| Título | CCT IBS/CBS |
| Descrição | CCT IBS/CBS |
| Picture | @! |
| Validação | |
| Exibe browse | Sim |
| Visual | Visualizar |
| Contexto | Real |
| 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 |
|---|---|
| Tipo | Data |
| Tamanho | 8 |
| Decimal | 0 |
| Título | Data Inicial |
| Descrição | Data Inicial da Vigencia |
| Picture | |
| Validação | |
| Exibe browse | Sim |
| Visual | Visualizar |
| Contexto | Real |
| Help | Data de inicio da vigencia para esse codigo de classificacao tributaria. |
Campo | CJ2_DESCCT |
|---|---|
| Tipo | Memo |
| Tamanho | 10 |
| Decimal | 0 |
| Título | Desc CCT |
| Descrição | Desc Classif Tributaria |
| Picture | |
| Validação | |
| Exibe browse | Não |
| Inic. Padrão | IIF(!INCLUI,POSICIONE("CKB",1,XFILIAL("CKB")+CJ2->CJ2_CSTCCT+DTOS(CJ2->CJ2_CCTVIG),"CKB_DESCRI"),"") |
| Inic. Browse | |
| Visual | Visualizar |
| Contexto | Virtual |
| Help | Descrição detalhada da Classificação Tributária do IBS/CBS. |
Consulta | CJ2CCT |
|---|---|
| Descrição | Cod Classsif Trib |
| Tabela | CKB |
| Filtro | CKB->CKB_DTFIM >= dDataBase .or. empty(CKB->CKB_DTFIM) |
| Ordem | 01 - 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 |
Gatilho | CJ2_CSTCCT |
|---|---|
| Ctr. Domínio | CJ2_CST |
| Sequência | 001 |
| Regra | CriaVar("CJ2_CST") |
| Tipo | Primário |
| Seek (Posiciona) | Não |
| Alias Pesq. | |
| Ordem Pesq. | |
| Chave | |
| Condição | EMPTY(M->CJ2_CSTCCT) |
Gatilho | CJ2_CSTCCT |
|---|---|
| Ctr. Domínio | CJ2_CCT |
| Sequência | 002 |
| Regra | CriaVar("CJ2_CCT") |
| Tipo | Primário |
| Seek (Posiciona) | Não |
| Alias Pesq. | |
| Ordem Pesq. | |
| Chave | |
| Condição | EMPTY(M->CJ2_CSTCCT) |
Gatilho | CJ2_CSTCCT |
|---|---|
| Ctr. Domínio | CJ2_DESCCT |
| Sequência | 003 |
| Regra | "" |
| Tipo | Primário |
| Seek (Posiciona) | Não |
| Alias Pesq. | |
| Ordem Pesq. | |
| Chave | |
| Condição | EMPTY(M->CJ2_CSTCCT) |
Gatilho | CJ2_CSTCCT |
|---|---|
| Ctr. Domínio | CJ2_CCTVIG |
| Sequência | 004 |
| Regra | CriaVar("CJ2_CCTVIG") |
| Tipo | Primário |
| Seek (Posiciona) | Não |
| Alias Pesq. | |
| Ordem Pesq. | |
| Chave | |
| Condição | EMPTY(M->CJ2_CSTCCT) |
Gatilho | CJ2_CSTCCT |
|---|---|
| Ctr. Domínio | CJ2_DESCST |
| Sequência | 005 |
| Regra | "" |
| Tipo | Primário |
| Seek (Posiciona) | Não |
| Alias Pesq. | |
| Ordem Pesq. | |
| Chave | |
| Condição | EMPTY(M->CJ2_CSTCCT) |
Gatilho | CJ2_CSTCCT |
|---|---|
| Ctr. Domínio | CJ2_CCTVIG |
| Sequência | 006 |
| Regra | F160JVIG() |
| Tipo | Primário |
| Seek (Posiciona) | Não |
| Alias Pesq. | |
| Ordem Pesq. | |
| Chave | |
| Condição |
Gatilho | CJ2_CCTVIG |
|---|---|
| Ctr. Domínio | CJ2_CST |
| Sequência | 001 |
| Regra | CKB->CKB_CST |
| Tipo | Primário |
| Seek (Posiciona) | Sim |
| Alias Pesq. | CKB |
| Ordem Pesq. | 001 |
| Chave | xFilial("CKB")+M->CJ2_CSTCCT+DTOS(M->CJ2_CCTVIG) |
| Condição |
Gatilho | CJ2_CCTVIG |
|---|---|
| Ctr. Domínio | CJ2_CCT |
| Sequência | 002 |
| Regra | CKB->CKB_CCT |
| Tipo | Primário |
| Seek (Posiciona) | Sim |
| Alias Pesq. | CKB |
| Ordem Pesq. | 001 |
| Chave | xFilial("CKB")+M->CJ2_CSTCCT+DTOS(M->CJ2_CCTVIG) |
| Condição |
Gatilho | CJ2_CCTVIG |
|---|---|
| Ctr. Domínio | CJ2_DESCCT |
| Sequência | 003 |
| Regra | CKB->CKB_DESCRI |
| Tipo | Primário |
| Seek (Posiciona) | Sim |
| Alias Pesq. | CKB |
| Ordem Pesq. | 001 |
| Chave | xFilial("CKB")+M->CJ2_CSTCCT+DTOS(M->CJ2_CCTVIG) |
| Condição |
Gatilho | CJ2_CCTVIG |
|---|---|
| Ctr. Domínio | CJ2_DESCST |
| Sequência | 004 |
| Regra | CKB->CKB_DESCST |
| Tipo | Primário |
| Seek (Posiciona) | Sim |
| Alias Pesq. | CKB |
| Ordem Pesq. | 001 |
| Chave | xFilial("CKB")+M->CJ2_CSTCCT+DTOS(M->CJ2_CCTVIG) |
| Condição |
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 |