Developers / DF-e
DF-e

Manifestação do Destinatário POST

Registra, perante a SEFAZ, o que o seu contribuinte -- como destinatário (quem recebeu, não quem emitiu) -- sabe sobre uma NF-e que outra empresa (um fornecedor) emitiu contra o CNPJ/CPF dele. É o mesmo mecanismo que libera o download do XML completo pela SEFAZ depois de Distribuição.

📥
Eventos como Destinatário. Esta página documenta os 4 eventos de Manifestação do Destinatário e os 6 eventos RTC (Reforma Tributária) do lado destinatário -- todos do ponto de vista de quem recebe a nota. Se você está procurando Cancelamento, Carta de Correção, Ator Interessado ou os eventos RTC do lado emitente de uma NF-e que o seu próprio contribuinte emitiu, veja Eventos como Emitente na página de emissão de NF-e -- são audiências e casos de uso diferentes.

Quando usar

Sempre que o contribuinte cadastrado na CentralFiscal for o destinatário de uma NF-e emitida por terceiros -- por exemplo, uma nota de compra de mercadoria recebida de um fornecedor. Diferente de todos os outros eventos de NF-e da API, não é preciso ter emitido nem sincronizado essa nota antes: basta ter a chave de acesso de 44 dígitos (recebida por e-mail do fornecedor, no XML anexado, no portal do Fisco etc.). A CentralFiscal não valida se essa chave corresponde a um documento já conhecido -- ela simplesmente monta o evento e transmite para a SEFAZ que autorizou a NF-e original.

Os 4 tipos

Eventotipo_manifestacaoQuando usar
210200 -- Confirmação da OperaçãoconfirmacaoOperacaoA operação descrita na NF-e de fato aconteceu como descrito (recebimento confirmado).
210210 -- Ciência da OperaçãocienciaOperacaoVocê está ciente de que a nota existe contra o seu CNPJ, mas ainda não confirmou os detalhes -- normalmente o primeiro passo, e o que libera o download do XML completo na Distribuição.
210220 -- Desconhecimento da OperaçãodesconhecimentoOperacaoVocê não reconhece essa operação -- a nota foi emitida contra seu CNPJ sem que a transação tenha ocorrido.
210240 -- Operação não RealizadaoperacaoNaoRealizadaA operação foi combinada mas não se concretizou (ex.: mercadoria não chegou a ser entregue). Única variante que exige justificativa.

Endpoint

POST https://areacliente.centralfiscal.com.br/v1/nfe/manifestacoes-destinatario

Um único endpoint para os 4 tipos -- eles compartilham a mesma estrutura de evento (confRecebto no leiaute oficial da SEFAZ), diferindo só no código do evento e na obrigatoriedade da justificativa. O tipo escolhido vai no campo tipo_manifestacao do corpo da requisição, não na URL.

Corpo da requisição

Ordem dos campos abaixo segue a ordem real do XML do evento gerado (leiauteConfRecebto_v1.00.xsd): o CNPJ/CPF de quem se manifesta vem antes da chave de acesso, que vem antes do tipo do evento.

CampoObrigatórioObservação
autor_documentoSimCNPJ ou CPF do seu contribuinte -- o destinatário que está se manifestando, não o emitente da NF-e original. Precisa ser um contribuinte ativo cadastrado na sua conta, com certificado digital A1 -- é esse certificado que assina o evento.
chave_acessoSimChave de acesso de 44 dígitos da NF-e recebida do fornecedor. A UF que autorizou a NF-e original (2 primeiros dígitos da chave) é usada automaticamente como órgão de recepção do evento -- não há campo de UF separado.
tipo_manifestacaoSimUm de confirmacaoOperacao, cienciaOperacao, desconhecimentoOperacao ou operacaoNaoRealizada (os códigos oficiais 210200/210210/210220/210240 também são aceitos).
sequencia_eventoNãoPadrão 1. A Manifestação do Destinatário normalmente é enviada uma única vez por chave -- só informe se precisar reenviar.
justificativaSó para operacaoNaoRealizadaTexto livre, 15 a 255 caracteres -- limite do próprio schema oficial da SEFAZ. Ignorado (sem erro) se enviado junto com os outros 3 tipos.
⚠️
A CentralFiscal não confere autor_documento contra o destinatário embutido na NF-e original. A chave de acesso sozinha (44 dígitos) não contém o CNPJ do destinatário, e como pode não existir XML local dessa nota de terceiro, não há contra o que conferir. A API confia no CNPJ/CPF autenticado da conta que chama a API -- garanta que é o mesmo contribuinte que de fato recebeu a NF-e.

Exemplos

Ciência da Operação

curl -X POST https://areacliente.centralfiscal.com.br/v1/nfe/manifestacoes-destinatario \
  -H "Authorization: Bearer cf_test_51JqK..." \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: manif-nfe-0001" \
  -d '{
    "autor_documento": "12345678000190",
    "chave_acesso": "43260712345678000190550010000010011000010018",
    "tipo_manifestacao": "cienciaOperacao"
  }'

Operação não Realizada (com justificativa)

curl -X POST https://areacliente.centralfiscal.com.br/v1/nfe/manifestacoes-destinatario \
  -H "Authorization: Bearer cf_test_51JqK..." \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: manif-nfe-0002" \
  -d '{
    "autor_documento": "12345678000190",
    "chave_acesso": "43260712345678000190550010000010011000010018",
    "tipo_manifestacao": "operacaoNaoRealizada",
    "justificativa": "Mercadoria descrita na nota nao chegou a ser entregue pelo fornecedor."
  }'

Resposta

Mesmo padrão síncrono dos demais eventos de NF-e: a resposta do POST já traz o resultado final do registro na SEFAZ.

{
  "ambiente": "HOMOLOGATION",
  "documento": "NF-e",
  "transmissao_id": "9a21c4e0-...",
  "idempotencia": "manif-nfe-0001",
  "id_externo": null,
  "status": "AUTHORIZED",
  "operacao": "MANIFESTACAO_CIENCIA_OPERACAO",
  "chave": "43260712345678000190550010000010011000010018",
  "numero_documento": null,
  "serie": null,
  "protocolo": "143260000000123",
  "mensagem": "Ciencia da Operacao",
  "criada_em": "2026-09-22T10:00:00-03:00",
  "concluida_em": "2026-09-22T10:00:03-03:00",
  "xml": {
    "disponivel": true,
    "status": "SEFAZ_REGISTRADO",
    "gerado": true,
    "assinado": true,
    "assinado_em": "2026-09-22T10:00:02-03:00",
    "etapa": "SEFAZ_REGISTRADO"
  },
  "retorno_amigavel": {
    "codigo": "NFE_MANIFCIENCIA_REGISTRADO",
    "mensagem": "Ciencia da Operacao",
    "acao_recomendada": "Nenhuma acao necessaria."
  },
  "detalhes": {}
}
💡
status aqui se refere ao evento de manifestação em si (AUTHORIZED = registrado na SEFAZ), não a um novo status para a NF-e original -- a CentralFiscal não tem, e normalmente não terá, um registro local dessa nota de terceiro pra atualizar. Se precisar conferir de novo mais tarde -- ex. depois de um status: "PROCESSING" -- use GET /v1/nfe/manifestacoes-destinatario/{transmissao_id} com o transmissao_id devolvido no POST original.

Eventos RTC (Reforma Tributária) -- como destinatário

A Reforma Tributária (IBS/CBS) define 16 eventos novos de NF-e. Esta seção documenta os 6 que fazem sentido do lado de quem recebe a nota (tpAutor=2, Empresa Destinatária) -- complemento dos 7 eventos RTC do lado emitente (ver Eventos RTC na página de emissão de NF-e). Assim como a Manifestação do Destinatário acima, quem assina esses eventos é o destinatário da NF-e (campo autor_documento), não o emitente original. Os demais 3 eventos RTC oficiais são do lado de empresa sucessora em fusão/aquisição ou do próprio Fisco -- fora do escopo do produto. Mesmo padrão síncrono dos demais eventos de NF-e: nenhum deles cancela nem altera a NF-e original.

Consumo Pessoal (211120, variante destinatária)

POST /v1/nfe/consumos-pessoais -- mesmo endpoint documentado como Consumo Pessoal na página de emissão de NF-e, mas com "papel": "destinataria" no corpo da requisição (o leiaute oficial deste evento aceita tpAutor=1 ou tpAutor=2 no mesmo XML -- é o único dos 16 eventos RTC assim). Itens (itens[]), chave_acesso e demais campos são idênticos à variante emitente; só o autor do evento muda -- use autor_documento (não emitente_documento) para deixar claro que é o destinatário quem assina.

curl -X POST https://areacliente.centralfiscal.com.br/v1/nfe/consumos-pessoais \
  -H "Authorization: Bearer cf_test_51JqK..." \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: consumopessoal-dest-nfe-0001" \
  -d '{
    "autor_documento": "12345678000190",
    "chave_acesso": "43260712345678000190550010000010011000010018",
    "papel": "destinataria",
    "itens": [
      {
        "nItem": 1,
        "vIbs": 40.00, "vCbs": 16.00,
        "qConsumo": 1, "uConsumo": "UN",
        "chaveAcessoReferenciada": "43260712345678000190550010000010021000010028",
        "nItemReferenciado": 3
      }
    ]
  }'

Perecimento no Transporte -- Adquirente (211124)

POST /v1/nfe/perecimentos-transporte-adquirente -- "Perecimento, perda, roubo ou furto durante o transporte contratado pelo adquirente". Item por item, em itens[]: nItem, vIbs/vCbs (valor do imposto na nota de aquisição correspondente à quantidade perdida -- um só par, diferente do evento 112130 do lado emitente, que tem dois) e qPerecimento/uPerecimento.

curl -X POST https://areacliente.centralfiscal.com.br/v1/nfe/perecimentos-transporte-adquirente \
  -H "Authorization: Bearer cf_test_51JqK..." \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: perecimentoadq-nfe-0001" \
  -d '{
    "autor_documento": "12345678000190",
    "chave_acesso": "43260712345678000190550010000010011000010018",
    "itens": [
      { "nItem": 1, "vIbs": 10.00, "vCbs": 4.00, "qPerecimento": 2, "uPerecimento": "UN" }
    ]
  }'

Aceite de Débito na Apuração (211128)

POST /v1/nfe/aceites-debito-apuracao -- "Aceite de débito na apuração por emissão de nota de crédito". O mais simples dos 6: um único campo de negócio, ind_aceitacao ("0" = não aceite, "1" = aceite).

curl -X POST https://areacliente.centralfiscal.com.br/v1/nfe/aceites-debito-apuracao \
  -H "Authorization: Bearer cf_test_51JqK..." \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: aceitedebito-nfe-0001" \
  -d '{
    "autor_documento": "12345678000190",
    "chave_acesso": "43260712345678000190550010000010011000010018",
    "ind_aceitacao": "1"
  }'

Imobilização de Item (211130)

POST /v1/nfe/imobilizacoes-item -- "Imobilização de Item". Item por item, em itens[]: nItem, vIbs/vCbs (valor do IBS/CBS relativo à imobilização) e qImobilizado/uImobilizado (quantidade imobilizada).

curl -X POST https://areacliente.centralfiscal.com.br/v1/nfe/imobilizacoes-item \
  -H "Authorization: Bearer cf_test_51JqK..." \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: imobilizacao-nfe-0001" \
  -d '{
    "autor_documento": "12345678000190",
    "chave_acesso": "43260712345678000190550010000010011000010018",
    "itens": [
      { "nItem": 1, "vIbs": 100.00, "vCbs": 40.00, "qImobilizado": 1, "uImobilizado": "UN" }
    ]
  }'

Crédito de Combustível (211140)

POST /v1/nfe/creditos-combustivel -- "Solicitação de Apropriação de Crédito de Combustível". Item por item, em itens[]: nItem, vIbs/vCbs (valor do IBS/CBS relativo ao consumo de combustível na nota de aquisição) e qComb/uComb (quantidade consumida).

curl -X POST https://areacliente.centralfiscal.com.br/v1/nfe/creditos-combustivel \
  -H "Authorization: Bearer cf_test_51JqK..." \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: credcombustivel-nfe-0001" \
  -d '{
    "autor_documento": "12345678000190",
    "chave_acesso": "43260712345678000190550010000010011000010018",
    "itens": [
      { "nItem": 1, "vIbs": 30.00, "vCbs": 12.00, "qComb": 50, "uComb": "L" }
    ]
  }'

Crédito por Atividade do Adquirente (211150)

POST /v1/nfe/creditos-atividade-adquirente -- "Solicitação de Apropriação de Crédito para bens e serviços que dependem de atividade do adquirente". Item por item, em itens[]: nItem, vCredIbs/vCredCbs -- sem quantidade/unidade (único dos 6 eventos assim) e com nomes diferentes dos demais eventos com item (vCredIbs/vCredCbs, não vIbs/vCbs).

curl -X POST https://areacliente.centralfiscal.com.br/v1/nfe/creditos-atividade-adquirente \
  -H "Authorization: Bearer cf_test_51JqK..." \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: credatividadeadq-nfe-0001" \
  -d '{
    "autor_documento": "12345678000190",
    "chave_acesso": "43260712345678000190550010000010011000010018",
    "itens": [
      { "nItem": 1, "vCredIbs": 25.00, "vCredCbs": 10.00 }
    ]
  }'

O que ainda não existe

  • Confirmação/Rejeição do Tomador de NFS-e (evento equivalente, mas para NFS-e) -- fica para uma rodada futura.
  • Download automático do XML completo a partir de uma Ciência da Operação -- hoje é você quem consulta a SEFAZ separadamente depois.