Pular para o conteúdo
FiscalAPI
Inscrição Estadual

CNPJ ativo, inscrição estadual suspensa: por que os cadastros divergem

Equipe FiscalAPI 4 min de leitura
CNPJReceita FederalNode.js

CNPJ ATIVA na Receita não diz nada sobre a inscrição estadual. São dois cadastros, de dois governos. O estado pode suspender a IE com o CNPJ ativo, e quem confere só o CNPJ descobre na rejeição da nota.

Por que divergem#

  • Donos diferentes. O CNPJ é da Receita Federal. A IE é da SEFAZ de cada estado, com regras e prazos próprios para suspender, baixar ou reativar.
  • Um CNPJ, vários estados. A filial tem CNPJ e IE próprios. E um CNPJ pode ter IE de substituto tributário em outro estado. Veja a IE do CNPJ em todos os estados.
  • Tempo. A consulta de CNPJ padrão usa a base pública mensal da Receita e pode estar até um mês atrás. A consulta ao vivo traz o dado do momento. Veja por que a consulta de CNPJ fica desatualizada.

O que cada consulta responde#

PerguntaConsulta de CNPJConsulta de IE
A empresa existe e está ativa na Receita?Sim (situacao_cadastral)Não
Tem IE neste estado?NãoSim
A IE está habilitada?NãoSim (situacao_ie)
Pode receber mercadoria na UF?NãoSim (situacao_contribuinte)
Razão social, CNAE, sóciosSimRazão social e CNAE da inscrição

O que a SEFAZ confere na nota#

As duas coisas:

  • O CNPJ na Receita. A partir de 16/11/2026, a NT 2026.007 rejeita NF-e para destinatário com CNPJ não cadastrado (181) ou fora da situação Ativa (182). Veja o que muda com a NT 2026.007.
  • A IE no cadastro do estado. IE não habilitada: rejeição 306. IE de outro CNPJ: 234. Destinatário vedado ou bloqueado: 302 e 305.

Conferir só um dos dois deixa metade das recusas passar.

A consulta combinada (JavaScript)#

Duas chamadas em paralelo, uma decisão:

javascript
const BASE = "https://api.fiscalapi.com.br/api";

async function consultar(rota, params) {
  const resp = await fetch(`${BASE}/${rota}?${new URLSearchParams(params)}`, {
    headers: { "X-API-Key": process.env.FISCALAPI_KEY }, // só no servidor
    signal: AbortSignal.timeout(100_000),
  });
  return { status: resp.status, dados: resp.ok ? await resp.json() : null };
}

const norm = (s) => (s ?? "").trim().toLowerCase();

export async function conferirCliente(cnpj, uf) {
  const [rf, sefaz] = await Promise.all([
    consultar("consultar-cnpj", { cnpj }),
    consultar("consultar", { uf, cnpj }),
  ]);

  if (rf.status === 404) return { diagnostico: "cnpj_nao_encontrado" };
  if (rf.status !== 200 || sefaz.status !== 200 || rf.dados.source_status.status !== "success") {
    return { diagnostico: "pendente", http: [rf.status, sefaz.status] }; // 429, 5xx: tente depois
  }

  const situacaoRf = rf.dados.result.situacao_cadastral;
  if (norm(situacaoRf) !== "ativa") return { diagnostico: "cnpj_inativo", situacaoRf };

  const ies = sefaz.dados.results;
  if (ies.length === 0) return { diagnostico: "sem_ie_na_uf" };

  const restrita = ies.find((i) => /vedad|bloquead/.test(norm(i.situacao_contribuinte)));
  if (restrita) return { diagnostico: "restricao_destinatario", detalhe: restrita.situacao_contribuinte };

  const habilitada = ies.find((i) => norm(i.situacao_ie) === "habilitado");
  if (!habilitada) return { diagnostico: "cnpj_ativo_ie_nao_habilitada", ies };

  return { diagnostico: "ok", ie: habilitada.inscricao_estadual };
}

Cada chamada conta 1 consulta. Com force_fresh: "true" na consulta de CNPJ, o dado vem ao vivo e conta 3.

O que fazer com cada diagnóstico#

DiagnósticoAção sugerida
okFaturar com a IE devolvida
cnpj_ativo_ie_nao_habilitadaBloquear o faturamento com IE. O cliente regulariza na SEFAZ. Em GO, situacao_cadastral diz se está suspensa ou baixada
restricao_destinatarioBloquear
sem_ie_na_ufDecidir o indIEDest com o fiscal. Veja cliente é contribuinte do ICMS?
cnpj_inativo ou cnpj_nao_encontradoBloquear. Confirme o CNPJ com o cliente
pendenteConsultar de novo. Não gravar como "sem IE"

Para decidir se vale vender ao cliente com IE suspensa, veja cliente com inscrição estadual suspensa.


Perguntas frequentes#

Uma API de CNPJ não basta? Não. Ela responde pela Receita. A situação da IE está no cadastro de cada estado.

A IE pode estar ativa com o CNPJ baixado? Os cadastros são independentes e podem ficar desencontrados por um tempo. Por isso a consulta combinada confere os dois.

Consulto pela UF do endereço do CNPJ? Pela UF do estabelecimento que vai receber a nota. O endereço vem em endereco.uf na consulta de CNPJ.

Onde testo sem código? Na consulta de CNPJ e na consulta de inscrição estadual. Contas que nunca assinaram têm 10 consultas grátis por mês no painel, com e-mail confirmado.


Fontes#

Artigos relacionados#

Compartilhar: WhatsApp LinkedIn Twitter

Consulte dados fiscais via API

Consulte Inscrições Estaduais, CNPJs e Certidões Negativas via API REST. Dados direto da SEFAZ e Receita Federal. Planos a partir de R$ 19,99/mês.

Criar conta →