cClassTrib

Código de Classificação Tributária do IBS e da CBS: a classificação de 6 dígitos que o documento traz junto do CST-IBS/CBS.

  • Matriz de paridade

Validar

Verifica se um cClassTrib (Código de Classificação Tributária do IBS e da CBS) existe na tabela oficial. É a verificação da rejeição 1023 da NF-e.

  • Aceita uma string só de dígitos, com espaços opcionais nas pontas, ou um inteiro seguro não negativo. Um valor com menos de 6 dígitos é completado com zeros à esquerda: 1 e "1" são o código 000001.
  • Qualquer outra string é rejeitada ("c200001", "200.001"). Um número negativo, fracionário ou inseguro é inválido.
  • Os 3 primeiros dígitos do cClassTrib são o seu CST-IBS/CBS. options.cst verifica o par, como a rejeição 1024 da NF-e. Ele é lido como cstIbsCbs.isValid lê um código. Um cst informado que não corresponde torna o resultado false, qualquer que seja o valor.
  • options.cst é opcional. Um cst undefined ou omitido verifica só o cClassTrib. Um cst null, vazio ou que não esteja escrito como código ("", "200001", -200) torna o resultado false. Ele é completado com zeros até 3 dígitos (0 e "000" são o mesmo CST).
  • Um options nulo ou que não seja objeto é lido como sem opções, então só o cClassTrib é verificado.
  • Só contam as classificações vigentes na tabela: uma que o Informe Técnico excluiu ao encerrar sua vigência (dFimVig) não está nela. 220001, 220002 e 220003 (excluídas pela v.1.60) são inválidas. O CST 220 continua válido em cstIbsCbs.isValid.
  • A tabela é a versão publicada em 23/06/2026 e tem 161 classificações vigentes. A função não lê a data: a vigência foi aplicada quando a tabela foi gerada.
ParâmetroTipoObrigatório
valuestring | numbersim
optionsIsValidClassTribOptionsnão
options.cststring | numbernão
retornaboolean

Valida um cClassTrib (Código de Classificação Tributária do IBS e da CBS) contra a tabela oficial, o código que o campo cClassTrib leva ao lado do CST-IBS/CBS.

  • Opções (IsValidClassTribOptions): cst é o CST-IBS/CBS que o documento leva, validado também contra a classificação. Omita-o para validar só o cClassTrib; um options null ou que não seja objeto é lido como ausente.
  • Toda classificação pertence a exatamente um CST-IBS/CBS, os 3 primeiros dígitos do seu código, e um documento que leva um cClassTrib com outro CST é rejeitado (rejeição 1024, "Classificação Tributária do IBS e da CBS incompatível com o CST informado"). Um cst informado que não seja o CST da classificação, seja ele qual for, torna o resultado false.
  • Só contam as classificações vigentes: o Informe Técnico 2025.002 exclui uma classificação encerrando sua vigência (dFimVig), como a v.1.60 fez com 220001, 220002 e 220003, e essas são rejeitadas. São 161 vigentes na versão publicada em 23/06/2026.
  • Aceita uma string de dígitos puros, com espaços opcionais nas extremidades, ou um inteiro seguro não negativo. O campo é numérico com 6 dígitos e não tem máscara, então qualquer outra string é rejeitada.
  • Um valor com menos de 6 dígitos é completado com zeros à esquerda: 1, '1' e '000001' são todos o código 000001. cst é lido da mesma forma, completado para 3 dígitos.
  • Só a lista de códigos entra no bundle com esta função, não as descrições que getClassTrib retorna.
import { isValidClassTrib } from '@brazilian-utils/brazilian-utils';

isValidClassTrib('200001'); // true
isValidClassTrib(1); // true (completado para '000001')
isValidClassTrib('200001', { cst: '200' }); // true
isValidClassTrib('200001', { cst: '000' }); // false (a classificação pertence ao CST 200)
isValidClassTrib('999999'); // false
isValidClassTrib('220001'); // false (excluído pelo Informe Técnico 2025.002 v.1.60)
isValidClassTrib('c200001'); // false (não é uma forma documentada)
Código: brazilian-utils/javascript
Teste com JavaScript isValidClassTrib
As entradas começam com o primeiro caso compartilhado. Mude uma para ver o novo resultado.

Roda @brazilian-utils/brazilian-utils 2.5.0 no seu navegador.

Casos de teste compartilhados (37) e o resultado em cada biblioteca classTrib.isValid

Consultar

Consulta um cClassTrib na tabela oficial e retorna o código, o CST-IBS/CBS, o nome e a descrição.

  • Mesmas regras de entrada de classTrib.isValid sem options.cst. Retorna null exatamente quando classTrib.isValid chamada sem options.cst retorna false.
  • cst são os 3 primeiros dígitos do código: cada classificação pertence a um CST.
  • name é o nome curto que a tabela oficial dá para exibição (a coluna "Nome cClassTrib") e description a situação a que a classificação se refere (a coluna "Descrição cClassTrib"), ambos copiados literalmente da planilha oficial, em uma só linha. A redação legal da planilha (artigo da Lei Complementar 214/2025 e dos regulamentos) não é retornada.
  • A tabela online da SVRS (Portal dos Documentos Fiscais Eletrônicos) diverge da planilha oficial em 5 nomes e 7 descrições; as divergências de 550017 e 200041 mudam o sentido. A função segue a planilha.
ParâmetroTipoObrigatório
valuestring | numbersim
retornaClassTrib | null

Busca um cClassTrib e retorna a sua classificação oficial. O resultado é um registro ClassTrib: { code, cst, name, description }.

  • Valem a mesma tabela e as mesmas regras de leitura do código de isValidClassTrib. Retorna null quando o código é desconhecido ou o valor não está em uma forma documentada.
  • A opção cst existe só em isValidClassTrib, já que o registro retornado aqui já traz o seu CST em cst.
  • cst é o CST-IBS/CBS a que a classificação pertence, os 3 primeiros dígitos do seu código; name é o nome reduzido que a tabela oficial dá para apresentação (a coluna "Nome cClassTrib") e description a situação a que se refere (a coluna "Descrição cClassTrib").
  • A redação legal que a planilha também traz em cada linha (o artigo da Lei Complementar nº 214/2025 e dos dois regulamentos) não é distribuída.
import { getClassTrib } from '@brazilian-utils/brazilian-utils';

getClassTrib('000002');
// {
//   code: '000002',
//   cst: '000',
//   name: 'Exploração de via',
//   description: 'Exploração de via, observado o art. 11 da Lei Complementar nº 214, de 2025.',
// }
getClassTrib(2)?.code; // '000002'
getClassTrib('999999'); // null
getClassTrib('220001'); // null (excluído pelo Informe Técnico 2025.002 v.1.60)
getClassTrib('c200001'); // null (não é uma forma documentada)

Fonte: as abas CST e cClassTrib da planilha "Tabela de Classificação Tributária do IBS e CBS" que o Portal Nacional da NF-e publica em "Documentos" > "Diversos" (a versão publicada em 23/06/2026), divulgada pelo Informe Técnico 2025.002 (v.1.60), e a Nota Técnica 2025.002-RTC, campos UB13 e UB14.

Código: brazilian-utils/javascript
Teste com JavaScript getClassTrib
As entradas começam com o primeiro caso compartilhado. Mude uma para ver o novo resultado.

Roda @brazilian-utils/brazilian-utils 2.5.0 no seu navegador.

Casos de teste compartilhados (22) e o resultado em cada biblioteca classTrib.get

Fontes oficiais

Veja também CST IBS/CBS

Atualizado em

Nesta página