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.
Validar
- JavaScript, biblioteca
- Python, biblioteca
- Go, biblioteca
- Ruby, biblioteca
- Rust, biblioteca
- .NET, biblioteca
- Erlang, biblioteca
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:
1e"1"são o código000001. - 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.cstverifica o par, como a rejeição 1024 da NF-e. Ele é lido comocstIbsCbs.isValidlê um código. Umcstinformado que não corresponde torna o resultado false, qualquer que seja o valor. options.csté opcional. Umcstundefinedou omitido verifica só o cClassTrib. Umcstnull, vazio ou que não esteja escrito como código ("","200001",-200) torna o resultado false. Ele é completado com zeros até 3 dígitos (0e"000"são o mesmo CST).- Um
optionsnulo 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 emcstIbsCbs.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âmetro | Tipo | Obrigatório |
|---|---|---|
value | string | number | sim |
options | IsValidClassTribOptions | não |
options.cst | string | number | não |
| retorna | boolean |
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; umoptionsnullou 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
cstinformado que não seja o CST da classificação, seja ele qual for, torna o resultadofalse. - 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 com220001,220002e220003, 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ódigo000001.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
getClassTribretorna.
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)Teste com JavaScript isValidClassTrib
Casos de teste compartilhados (37) e o resultado em cada biblioteca classTrib.isValid
Consultar
- JavaScript, biblioteca
- Python, biblioteca
- Go, biblioteca
- Ruby, biblioteca
- Rust, biblioteca
- .NET, biblioteca
- Erlang, biblioteca
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.isValidsemoptions.cst. Retornanullexatamente quandoclassTrib.isValidchamada semoptions.cstretornafalse. cstsã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") edescriptiona 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âmetro | Tipo | Obrigatório |
|---|---|---|
value | string | number | sim |
| retorna | ClassTrib | 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. Retornanullquando o código é desconhecido ou o valor não está em uma forma documentada. - A opção
cstexiste só emisValidClassTrib, já que o registro retornado aqui já traz o seu CST emcst. 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") edescriptiona 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/javascriptTeste com JavaScript getClassTrib
Casos de teste compartilhados (22) e o resultado em cada biblioteca classTrib.get
Fontes oficiais
- nfe.fazenda.gov.br/portal/exibirArquivo.aspx
- nfe.fazenda.gov.br/portal/exibirArquivo.aspx
- nfe.fazenda.gov.br/portal/exibirArquivo.aspx
- dfe-portal.svrs.rs.gov.br/DFE/TabelaClassificacaoTributaria
- planalto.gov.br/ccivil_03/leis/…/lcp214.htm
Veja também CST IBS/CBS
Atualizado em
