WeePulse Blog Logo

CST do IBS e da CBS no Protheus: o que cada um exige

O CST não é um rótulo, é um contrato: cada código define quais grupos o seu XML deve levar e quais não pode. É daí que nasce a família de rejeições 1020, 1021 e 1022.

Por WeePulse
Imagem de capa do post CST do IBS e da CBS no Protheus: o que cada um exige
CategoriasFiscalProtheus

A maior parte das rejeições de IBS e CBS não acontece porque alguém escolheu o CST errado. Acontece porque o CST escolhido exigia um grupo no XML que não foi enviado, ou proibia um grupo que foi.

É uma diferença que muda onde você procura o problema. O CST do IBS e da CBS não é um rótulo descritivo: ele funciona como um contrato. Para cada código, a especificação da NF-e define quais grupos o documento deve conter, quais não pode conter, e o que é opcional. O validador da SEFAZ confere esse contrato item a item.

Quando o que o seu Protheus monta não bate com o que o CST prometeu, a nota volta. E volta com um código de rejeição que aponta para o sintoma, não para a causa.

Recebendo rejeição e não acha a origem? A WeePulse revisa a parametrização do Configurador de Tributos no seu TOTVS em operação e valida a emissão em homologação. Falar com um especialista.

CST e cClassTrib: dois campos, duas funções

Vale separar os dois de saída, porque a confusão entre eles é a origem de muito diagnóstico errado.

CST do IBS/CBScClassTrib
Campo no leiaute324.13324.14
O que informaA situação tributária da operaçãoO enquadramento específico dentro daquela situação
Granularidade18 códigosCentenas de códigos
Muda com frequência?RaramenteSim, a cada versão do Informe Técnico

O CST diz “esta operação é imune”. O cClassTrib diz “é imune por este dispositivo específico”. Por isso os códigos de classificação são organizados pelo CST: os do 000 começam com 000, os do 410 com 410, e assim por diante.

Se o seu problema é código que deixou de existir, o assunto é a tabela, e ele está no guia do cClassTrib. Se o problema é grupo que faltou ou sobrou no XML, o assunto é o CST, e é o que este guia trata.

Os 18 códigos de CST

A tabela é publicada junto com o Informe Técnico 2025.002 e tem 18 códigos:

CSTSituação
000Tributação integral
010Tributação com alíquotas uniformes
011Tributação com alíquotas uniformes reduzidas
200Alíquota reduzida
220Alíquota fixa
221Alíquota fixa proporcional
222Redução de base de cálculo
400Isenção
410Imunidade e não incidência
510Diferimento
515Diferimento com redução de alíquota
550Suspensão
620Tributação monofásica
800Transferência de crédito
810Ajuste de IBS na Zona Franca de Manaus
811Ajustes
820Tributação em documento específico
830Exclusão da base de cálculo

⚠️ Confira sempre a versão vigente. A tabela de CST é publicada à parte do documento de regras e acompanha as versões do Informe Técnico. Antes de parametrizar, baixe a tabela atual no Portal da NF-e em vez de copiar de artigo, inclusive deste.

O que transforma o CST em contrato: os indicadores

Aqui está o mecanismo que quase ninguém explica, e que é o que realmente decide se a sua nota passa.

Cada CST carrega, na especificação, um conjunto de indicadores. Eles não aparecem no XML: são propriedades do código, consultadas pelo validador. Os principais:

IndicadorO que controla
ind_gIBSCBSSe o grupo de IBS e CBS pode ou deve ser informado
ind_gIBSCBMonoSe o grupo de tributação monofásica entra
ind_gTransfCredSe o grupo de transferência de crédito entra
ind_gDifSe o grupo de diferimento entra
ind_gRedSe o grupo de redução de alíquota entra

Cada indicador funciona como um interruptor de três posições: exige, proíbe ou permite. Um CST com ind_gIBSCBS = 0 proíbe o grupo; com ind_gIBSCBS = 1, exige.

É por isso que não existe “grupo opcional por segurança”. Mandar um grupo a mais é tão rejeitável quanto mandar a menos, e essa simetria é o que mais confunde quem vem da lógica do ICMS.

A família de rejeições que nasce do descasamento

Todas as rejeições abaixo têm a mesma causa raiz: o grupo enviado não bate com o que o indicador do CST determina. Elas mudam só o grupo em questão.

RegraRejeiçãoO que aconteceu
UB13-101020CST do IBS/CBS informado inexistente
UB13-201021Grupo IBS/CBS informado indevidamente
UB13-301022Grupo IBS/CBS não informado
UB13-391151Grupo monofásico informado indevidamente
UB13-441131Grupo de transferência de crédito informado indevidamente
UB13-451132Grupo de transferência de crédito não informado
UB40-101044CST obriga informação de diferimento municipal
UB40-201083CST não permite diferimento municipal
UB45-101007CST não permite redução de alíquota municipal

Repare no par 1021 e 1022: são a mesma regra em direções opostas. Um diz que sobrou, o outro que faltou. Se você recebe as duas em notas diferentes na mesma operação, é sinal de que a regra fiscal está resolvendo o CST de forma inconsistente, e não de que faltou preencher um campo.

E há uma exceção que vale registrar, porque explica casos estranhos: a regra do 1022 não se aplica quando a nota é de perda em estoque (tpNFDebito = 07).

Duas rejeições que você já conhece, e são a mesma lógica

Isso explica de forma unificada dois casos que tratamos separadamente aqui no blog.

A rejeição 1115, de IBS e CBS não informado, é a mesma família do 1022: o CST exigia o grupo e ele não veio.

A rejeição 1111, de grupo de devolução do IBS informado indevidamente, é a mesma família do 1021 e do 1151: um grupo foi montado onde o indicador não permitia. Detalhamos a causa e a correção no guia de rejeições no Protheus.

Ver as duas como o mesmo mecanismo muda o diagnóstico: em vez de procurar a solução específica de cada código, você verifica qual grupo o CST daquela operação exige e o que o seu ambiente está montando.

Onde isso vive no Protheus

O CST não é digitado nota a nota. Ele é resultado da regra fiscal, e é aí que o ajuste acontece.

No Configurador de Tributos, a regra de escrituração é quem determina o CST aplicado à operação. Se ela resolve para um CST cujo indicador não bate com o grupo que o sistema monta, a rejeição é consequência, não causa. O guia do Configurador de Tributos cobre a estrutura das regras.

Na montagem do XML, existe o parâmetro MV_CSTGXML, que define para quais CST o grupo <gIBSCBS> é gerado. Ele é a tradução prática do ind_gIBSCBS dentro do ERP, e o valor padrão dele já causou problema real: incluía o CST 220 depois de os códigos daquele CST terem sido encerrados.

No cadastro, o vínculo entre operação e perfil fiscal decide qual regra é encontrada. Em nota de serviço, por exemplo, esse vínculo depende do CFOP 000, e a ausência dele faz o imposto simplesmente não aparecer, como detalhamos em NFS-e sem IBS e CBS no Protheus.

Como diagnosticar uma rejeição de CST

  1. Leia o número da rejeição, não só a mensagem. Ele diz se o problema é falta ou excesso.
  2. Identifique o CST que saiu na nota, no XML ou na consulta do documento.
  3. Confira o indicador daquele CST na tabela vigente do Portal da NF-e, para o grupo em questão.
  4. Compare com o que o XML levou. A divergência é o problema.
  5. Suba um nível: se o grupo está certo mas o CST está errado, o ajuste é na regra de escrituração, não no XML.
  6. Verifique o MV_CSTGXML se a divergência é o grupo <gIBSCBS> inteiro.
  7. Teste em homologação, em todos os módulos que emitem, antes de liberar produção.

Perguntas frequentes

O que é o CST do IBS e da CBS?

É o Código de Situação Tributária aplicável aos novos tributos, informado no campo 324.13 do leiaute da NF-e. Ele indica a situação tributária da operação, e cada código define, por meio de indicadores, quais grupos o XML deve ou não pode conter.

Quantos códigos de CST do IBS e da CBS existem?

São 18, publicados junto com o Informe Técnico 2025.002, do 000 (tributação integral) ao 830 (exclusão da base de cálculo). A tabela acompanha as versões do Informe Técnico, então vale conferir a vigente no Portal da NF-e antes de parametrizar.

Qual a diferença entre CST e cClassTrib?

O CST informa a situação tributária, com 18 códigos. O cClassTrib informa o enquadramento específico dentro daquela situação, com centenas de códigos organizados pelo CST correspondente. O CST muda raramente; a tabela cClassTrib muda a cada versão do Informe Técnico.

O que causa a rejeição 1021?

O grupo de IBS e CBS foi informado numa operação cujo CST não permite esse grupo. É rejeição por excesso, não por falta. A 1022 é o inverso: o CST exigia o grupo e ele não veio.

Posso enviar o grupo de IBS e CBS por segurança, mesmo em dúvida?

Não. Mandar um grupo a mais é tão rejeitável quanto mandar a menos, porque os indicadores do CST tanto exigem quanto proíbem. Essa simetria é a diferença em relação à lógica a que muita gente estava acostumada no ICMS.

Onde o CST é definido no Protheus?

Ele resulta da regra de escrituração no Configurador de Tributos, e não é digitado nota a nota. A geração do grupo <gIBSCBS> no XML também depende do parâmetro MV_CSTGXML, que define para quais CST o grupo é montado.

Preciso trocar de ERP por causa disso?

Não. O TOTVS Protheus já em operação trata todos esses códigos. O trabalho é de parametrização das regras fiscais e de validação da emissão, não de substituição de sistema.

Prepare seu Protheus com quem entende de TOTVS em operação

Rejeição de CST é um daqueles problemas em que o código do erro aponta para o sintoma e a causa está duas camadas atrás, na regra fiscal que resolveu o CST daquela operação.

A WeePulse apoia empresas que já usam o TOTVS Protheus a acertar a parametrização fiscal da Reforma Tributária, com consultoria, suporte e atualização do ambiente em operação. Falar com um especialista e emitir sem surpresa no monitor.

Fontes oficiais

  • Portal da NF-e: Reforma Tributária do Consumo, Adequações NF-e / NFC-e, documento de regras de validação, campos 324.13 e 324.14 e regras UB13, UB40 e UB45.
  • Informe Técnico 2025.002 e a Tabela de CST do IBS/CBS que o acompanha, publicados no Portal da NF-e.
  • Lei Complementar nº 214/2025, que institui o IBS e a CBS e define as situações tributárias.

Continuar lendo

Posts relacionados

Ver todos

Vamos revisar a sua parametrização de CST?

Conte quais rejeições aparecem no seu monitor e em quais operações. Um especialista da WeePulse identifica se o problema está no CST, no cClassTrib ou na montagem do grupo.

Informe um e-mail corporativo válido.