Developers / NF-e
NF-e

Consulta Cadastro POST

Descobre a Inscrição Estadual e a situação cadastral de um destinatário (CNPJ, CPF ou a própria IE) direto na SEFAZ, antes de emitir uma NF-e contra ele -- webservice oficial NfeConsultaCadastro (leiaute leiauteConsultaCadastro_v2.00.xsd).

⚠️
Só ambiente de homologação por enquanto. Esta consulta ainda está bloqueada em produção até validação completa ao vivo -- environment: "PRODUCTION" devolve erro (Nfe.ConsultaCadastro.ProductionBlocked).

Quando usar

Antes de emitir uma NF-e, para conferir se o destinatário está com a Inscrição Estadual habilitada perante a SEFAZ do estado dele. Emitir contra um destinatário com IE irregular é uma das causas mais comuns de denegação -- e a denegação consome o número da NF-e, que não pode ser reaproveitado (é preciso pular para o próximo número). Consultar antes evita perder números de NF-e por um problema que não é seu.

💡
API independente: não altera, não consulta e não depende de nenhuma NF-e já emitida pela sua conta. É uma consulta cadastral pura sobre o destinatário.

Endpoint

POST https://areacliente.centralfiscal.com.br/v1/nfe/consultas-cadastro

Corpo da requisição

Ordem dos campos abaixo segue a ordem real do pedido oficial (ConsCad/infCons no leiaute): xServ é fixo ("CONS-CAD", preenchido automaticamente), depois a UF consultada, depois exatamente um identificador do destinatário.

CampoObrigatórioObservação
emitente_documentoSimCNPJ ou CPF do seu contribuinte -- é o certificado digital A1 dele que assina a chamada ao SEFAZ. Não é o destinatário sendo consultado.
ufSimSigla de 2 letras da UF a consultar (ex. "SP"), ou "SU" para SUFRAMA.
ieUm dos 3Inscrição Estadual do destinatário.
cnpjUm dos 3CNPJ do destinatário.
cpfUm dos 3CPF do destinatário.
forcar_nova_consultaNãoPadrão false. A CentralFiscal reaproveita a última consulta bem-sucedida (inclusive quando ela não achou nenhum cadastro) por até 30 dias antes de consultar o SEFAZ de novo -- envie true para ignorar esse cache e forçar uma nova chamada.
📦
Cache de até 30 dias. A IE de um contribuinte muda raramente -- por isso a CentralFiscal guarda o resultado da última consulta (mesmo quando ela não encontrou nada) e o devolve direto, sem gastar uma nova chamada ao SEFAZ, dentro dessa janela. O campo de_cache na resposta indica se o resultado veio do cache ou de uma consulta nova.

Exemplo

Consulta por CNPJ

curl -X POST https://areacliente.centralfiscal.com.br/v1/nfe/consultas-cadastro \
  -H "Authorization: Bearer cf_test_51JqK..." \
  -H "Content-Type: application/json" \
  -d '{
    "emitente_documento": "12345678000190",
    "uf": "SP",
    "cnpj": "83123456000155"
  }'

Resposta

Ordem dos campos de cada item de destinatarios[] segue a ordem real do retorno oficial (retConsCad/infCad no leiaute): IE, CNPJ/CPF, UF, situação cadastral, credenciamento NF-e/CT-e, nome/fantasia, regime de apuração, CNAE, datas, IEs relacionadas, endereço.

{
  "ambiente": "HOMOLOGATION",
  "origem": "consulta_nova",
  "de_cache": false,
  "ver_aplic": "SP_CAD4_20260101",
  "cstat": "111",
  "xmotivo": "Consulta cadastro com uma ocorrencia",
  "uf": "SP",
  "dh_cons": "2026-09-26T10:00:00-03:00",
  "c_uf": 35,
  "destinatarios": [
    {
      "ie": "123456789012",
      "cnpj": "83123456000155",
      "cpf": null,
      "uf": "SP",
      "c_sit": "1",
      "ind_cred_nfe": "1",
      "ind_cred_cte": "1",
      "x_nome": "EMPRESA TESTE LTDA",
      "x_fant": "TESTE",
      "x_reg_apur": "Regime Periodico de Apuracao",
      "cnae": "4711302",
      "d_ini_ativ": "2010-01-01",
      "d_ult_sit": "2020-01-01",
      "d_baixa": null,
      "ie_unica": null,
      "ie_atual": null,
      "endereco": {
        "x_lgr": "RUA TESTE",
        "nro": "100",
        "x_cpl": null,
        "x_bairro": "CENTRO",
        "c_mun": 3550308,
        "x_mun": "SAO PAULO",
        "cep": "01000000"
      }
    }
  ]
}

Situação cadastral (c_sit)

O leiaute oficial só define 2 valores -- não existe "suspensa", "inapta" ou "baixada" no retorno deste webservice (isso é informação de outros cadastros estaduais, fora do escopo desta consulta):

c_sitSignificado
"0"Não habilitado
"1"Habilitado

Credenciamento (ind_cred_nfe / ind_cred_cte)

Mesmo enum para os dois campos -- indica se o destinatário está credenciado a emitir NF-e/CT-e nessa UF (não se ele pode receber uma):

ValorSignificado
"0"Não credenciado
"1"Credenciado
"2"Credenciado, com obrigatoriedade para todas as operações
"3"Credenciado, com obrigatoriedade parcial
"4"A SEFAZ não fornece essa informação

Nenhum cadastro encontrado

A própria SEFAZ pode responder sem nenhuma ocorrência (identificador não encontrado, IE inexistente etc.) -- desfecho válido, não um erro. Nesse caso destinatarios vem como lista vazia, e esse resultado negativo também entra no cache de 30 dias (evita reconsultar a cada chamada por algo que já se sabe que não existe).

O que ainda não existe

  • Retrigger automático desta consulta a partir de uma denegação na emissão de NF-e -- hoje é você quem decide quando consultar.
  • Vínculo entre uma NF-e emitida e a consulta que a precedeu -- cada consulta fica registrada isoladamente.
  • Ambiente de produção -- só homologação até autorização explícita.