Developers / Tributário
Tributário

CBS/IBS · Catálogos

Quem prefere implementar o próprio motor de cálculo de IBS/CBS no ERP (em vez de chamar POST /v1/tributario/ibscbs/calcular a cada nota) pode baixar aqui as mesmas tabelas de referência que esse endpoint usa por baixo -- CST, classificação tributária (cClassTrib), o relacionamento delas com NCM/NBS, e o cronograma oficial de alíquotas. Fonte única em todos os catálogos: banco de dados oficial da Calculadora de Tributos sobre o Consumo (Comitê Gestor do IBS).

💡
Como as peças se encaixam: cada classificação tributária (cClassTrib) tem um CST (1:1) e um ou mais NCM/NBS aplicáveis (1:N, com exceções pontuais) -- é assim que, dado o NCM/NBS do seu produto/serviço, você descobre qual classificação usar, e dela tira o CST e os percentuais de redução. As alíquotas (união/estadual/municipal) são independentes disso -- variam por ano e, no caso estadual/municipal, por UF/município.

CST GET

GET https://areacliente.centralfiscal.com.br/v1/catalogo/ibscbs/cst

Tabela completa de Código de Situação Tributária de IBS/CBS -- sem parâmetros.

{
  "resultados": [
    { "codigo": "000", "descricao": "Tributação integral", "ativo": true },
    { "codigo": "200", "descricao": "Alíquota reduzida", "ativo": true }
  ]
}

Classificações tributárias GET

GET https://areacliente.centralfiscal.com.br/v1/catalogo/ibscbs/classificacoes
ParâmetroTipoObrigatórioObservação
buscastringNãoFiltra por código ou trecho da descrição. Sem esse parâmetro, devolve as 164 classificações.
{
  "resultados": [
    {
      "codigo": "200003",
      "cst_codigo": "200",
      "descricao": "Vendas de produtos destinados à alimentação humana (Anexo I)",
      "tipo_aliquota": "Padrão",
      "nomenclatura": "NCM",
      "percentual_reducao_cbs": 100.0,
      "percentual_reducao_ibs_uf": 100.0,
      "percentual_reducao_ibs_mun": 100.0
    }
  ]
}

Classificação por NCM/NBS GET

GET https://areacliente.centralfiscal.com.br/v1/catalogo/ibscbs/classificacao-por-ncm
GET https://areacliente.centralfiscal.com.br/v1/catalogo/ibscbs/classificacao-por-nbs
ParâmetroTipoObrigatórioObservação
ncmstringSim, em classificacao-por-ncmCódigo NCM (até 8 dígitos).
nbsstringSim, em classificacao-por-nbsCódigo NBS.
⚠️
Casamento por prefixo, não código exato. Um NCM/NBS aplicável pode cadastrar um prefixo curto (ex.: "10") que vale pra qualquer código de 8 dígitos começando por ele -- a resposta traz todos os candidatos que casaram, ordenados do mais específico (prefixo mais longo) pro mais genérico. Use o primeiro da lista. Um código pode ainda estar numa exceção, que remove ele de dentro de uma faixa mais ampla já cadastrada -- a API já desconta isso antes de devolver a resposta.
curl "https://areacliente.centralfiscal.com.br/v1/catalogo/ibscbs/classificacao-por-ncm?ncm=10064000" \
  -H "Authorization: Bearer cf_live_51JqK..."
{
  "ncm": "10064000",
  "resultados": [
    {
      "ncm_prefixo": "10064000",
      "classificacao_codigo": "200003",
      "descricao": "Vendas de produtos destinados à alimentação humana (Anexo I)"
    },
    {
      "ncm_prefixo": "10",
      "classificacao_codigo": "200034",
      "descricao": "Fornecimento dos alimentos destinados ao consumo humano (Anexo VII)"
    }
  ]
}

Alíquotas -- União, estadual e municipal GET

Tudo numa chamada só

GET https://areacliente.centralfiscal.com.br/v1/catalogo/ibscbs/aliquotas

Jeito mais fácil de sincronizar o catálogo inteiro pra um ano -- devolve união + estadual + municipal juntos, todos pro mesmo ano de vigência (informado ou o ano corrente). Diferente dos 3 endpoints individuais abaixo, aqui não tem "devolve todos os anos": é sempre uma foto de um ano só, o mesmo pros 3 catálogos.

curl "https://areacliente.centralfiscal.com.br/v1/catalogo/ibscbs/aliquotas?ano=2029" \
  -H "Authorization: Bearer cf_live_51JqK..."
{
  "ano": 2029,
  "uniao": [ { "data_vigencia": "2029-01-01", "aliquota_efetiva": 8.5, "...": "..." } ],
  "estadual": [ { "uf": "RS", "data_vigencia": "2029-01-01", "aliquota_efetiva": 1.6, "...": "..." } ],
  "municipal": [ { "municipio_ibge": 4314902, "data_vigencia": "2029-01-01", "aliquota_efetiva": 0.25, "...": "..." } ]
}

Ou, se preferir granular

GET https://areacliente.centralfiscal.com.br/v1/catalogo/ibscbs/aliquota-uniao
GET https://areacliente.centralfiscal.com.br/v1/catalogo/ibscbs/aliquota-uf
GET https://areacliente.centralfiscal.com.br/v1/catalogo/ibscbs/aliquota-municipio
ParâmetroEndpointObrigatórioObservação
anotodos (nos 4 endpoints)NãoFiltra por ano de vigência. Sem esse parâmetro: aliquota-uniao/aliquota-uf devolvem todos os 8 anos de uma vez; aliquota-municipio e aliquotas (combinado) usam o ano corrente.
ufaliquota-uf, aliquotasNãoFiltra por sigla de UF.
municipio_ibgealiquota-municipio, aliquotasNãoFiltra por código IBGE do município. Sem esse parâmetro, devolve os 5571 municípios do ano informado -- pensado pra sincronização pontual/periódica do catálogo inteiro, não chamada por nota.
💡
Cronograma oficial 2026-2033 (LC 214/2025, alíquotas de referência nacionais):
AnoCBS (União)IBS estadualIBS municipal
20260,9%0,1%0%
20278,4%0,05%0,05%
20288,4%0,05%0,05%
20298,5%1,6%0,25%
20308,5%3,2%0,5%
20318,5%4,8%0,75%
20328,5%6,4%1,0%
20338,5%16,0%2,5%
Hoje nenhum estado/município legislou uma alíquota própria diferente da referência -- se isso mudar, os três endpoints já resolvem a alíquota certa automaticamente (o campo aliquota_efetiva já reflete a própria quando existir, sem quebrar sua integração).
{
  "resultados": [
    {
      "uf": "RS",
      "data_vigencia": "2029-01-01",
      "aliquota_referencia": 1.6,
      "aliquota_propria": null,
      "forma_aplicacao": null,
      "aliquota_efetiva": 1.6,
      "dados_simulados": false
    }
  ]
}