Inscrição estadual do CNPJ em todos os estados: filial e substituto
Um CNPJ pode ter inscrição estadual em mais de um estado. A IE do próprio estabelecimento fica na UF dele. Se a empresa retém ICMS-ST para outro estado, pode ter lá uma IE de substituto tributário. E cada filial tem CNPJ e IE próprios.
Este guia mostra onde cada IE aparece, qual vai na nota e como achar todas numa chamada.
Um CNPJ, várias IEs#
| Caso | Onde fica a IE | Como achar |
|---|---|---|
| Estabelecimento (matriz ou filial) | No estado do endereço do estabelecimento | Consulte o CNPJ completo dele |
| Filial em outro estado | No estado da filial, com o CNPJ da filial | Consulte o CNPJ da filial: a raiz é a mesma, os dígitos finais mudam |
| Substituto tributário | No estado de destino da mercadoria, em nome do remetente | Na varredura do CNPJ do remetente, quando o estado a registra, com tipo_ie de substituto |
A IE de substituto é opcional e depende do estado de destino. O Convênio ICMS 142/2018 diz que o estado de destino pode exigir ou conceder a inscrição ao substituto (cláusula décima sétima). Sem ela, o remetente recolhe o imposto por GNRE a cada nota (cláusula décima oitava).
Qual IE vai na nota#
| Você está | Campo da NF-e | Qual IE |
|---|---|---|
| Emitindo | emit/IE | A do seu estabelecimento, na UF dele |
| Emitindo com ICMS-ST retido para a UF de destino | emit/IEST | A sua IE de substituto naquela UF, quando existir |
| Cadastrando um cliente | dest/IE | A do estabelecimento do cliente, na UF dele |
Três rejeições ligadas à IEST:
- 211: a IE do substituto é inválida para a UF do destinatário.
- 347:
IESTinformada em operação que não é interestadual. - 363:
IESTigual à IE do emitente ou do destinatário.
A IE de substituto do cliente não serve como IE de destinatário. A SEFAZ confere a IE do destinatário no cadastro da UF dele e o vínculo com o CNPJ. IE de outro estado ou de outro CNPJ leva a rejeições como a 210, a 233 e a 234.
Os 27 estados numa chamada (JavaScript)#
GET /api/consultar-ie-todos procura o CNPJ em todos os estados e conta como 1 consulta. A função abaixo separa a IE do estabelecimento, as de substituto e as que pedem revisão:
const API = "https://api.fiscalapi.com.br/api/consultar-ie-todos";
export async function iesDoCnpj(cnpj, ufDoEstabelecimento) {
const resp = await fetch(`${API}?cnpj=${encodeURIComponent(cnpj)}`, {
headers: { "X-API-Key": process.env.FISCALAPI_KEY }, // nunca no front-end
signal: AbortSignal.timeout(120_000),
});
if (resp.status === 429) {
throw new Error(`Limite por minuto. Tente em ${resp.headers.get("Retry-After")} s`);
}
if (!resp.ok) throw new Error(`HTTP ${resp.status}`); // 400, 402, 403, 5xx
const dados = await resp.json();
const ies = dados.results.flatMap((estado) =>
estado.results.map((ie) => ({
uf: estado.uf,
ie: ie.inscricao_estadual,
tipo: ie.tipo_ie,
habilitada: ie.situacao_ie.trim().toLowerCase() === "habilitado",
substituto: /substitut/i.test(ie.tipo_ie),
}))
);
return {
requestId: dados.request_id,
completa: dados.complete,
semResposta: dados.results
.filter((e) => ["error", "timeout"].includes(e.source_status.status))
.map((e) => e.uf),
doEstabelecimento: ies.filter((i) => i.uf === ufDoEstabelecimento && !i.substituto),
deSubstituto: ies.filter((i) => i.substituto),
revisar: ies.filter((i) => i.uf !== ufDoEstabelecimento && !i.substituto),
};
} Como ler:
-
doEstabelecimento: a IE que vai emdest/IE(ou ememit/IE, se o CNPJ for seu). Use a que estiverhabilitada. -
deSubstituto: IEs de substituto em outros estados. Servem para aIESTdas notas desse CNPJ para aquele estado. -
revisar: IE fora da UF do estabelecimento sem tipo de substituto. Otipo_ievem como o estado informa e pode vir vazio. Confira com o cliente antes de usar. -
completa: false: algum estado não respondeu. A IE pode estar justamente nele: vejasemRespostae consulte de novo.
Pegue ufDoEstabelecimento do seu cadastro ou da consulta de CNPJ, no campo endereco.uf.
Quando usar cada rota#
| Você tem | Use | Por quê |
|---|---|---|
| CNPJ e a UF do estabelecimento | GET /api/consultar?uf=XX&cnpj=... | Responde mais rápido |
| CNPJ, sem saber onde há IE | GET /api/consultar-ie-todos?cnpj=... | Varre os 27 estados |
| Só o número da IE | GET /api/consultar-ie-todos?ie=... | Descobre a UF da IE |
As duas rotas contam 1 consulta cada. A varredura nos 27 estados exige plano: as 10 consultas grátis do painel são uma UF por vez. Veja os planos.
Para uma carteira inteira sem código, suba a planilha na consulta de IE em massa: cada linha passa pela varredura nos 27 estados.
Perguntas frequentes#
Consultando a matriz, aparecem as IEs das filiais? Não. A busca é pelo CNPJ informado. Cada filial tem CNPJ próprio: consulte um por um.
Toda empresa que vende com ICMS-ST para outro estado tem IE lá? Não. A inscrição de substituto depende do estado de destino. Sem ela, o imposto vai por GNRE a cada nota.
A IE de substituto pode ser usada como IE do cliente na nota? Não. Em dest/IE vai a IE do estabelecimento destinatário, na UF dele.
Dá para conferir o número antes de consultar? Sim. O validador de inscrição estadual confere formato e dígito de cada UF, de graça. O dígito certo não diz se a IE está ativa: veja dígito verificador ou consulta.
Fontes#
- Convênio ICMS 142/2018, Confaz: cláusulas décima sétima e décima oitava
- MOC 7.0, Anexo I: Leiaute e Regras de Validação da NF-e e da NFC-e (PDF), Confaz: campos C17 e C18; regras C18-14, C18-30, C18-40 e 5E17
- Consultar IE em todos os estados, documentação da FiscalAPI
Artigos relacionados#
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 →