Pular para o conteúdo principal

Status das emissões

Não modele com sucesso = true/false

Uma emissão fiscal tem etapas e desfechos diferentes. Reduzir tudo a um booleano faz sua aplicação tratar uma rejeição fiscal — que exige correção de dados — igual a uma falha de rede — que pede nova tentativa. São ações opostas.

Existem dois eixos de estado, e eles respondem perguntas diferentes.

1. O estado do job — o processamento

O job é a unidade de trabalho criada quando você chama a emissão.

StatusSignificado
pendingaceito e enfileirado; ainda não começou
processingem execução
completedo processamento terminou sem erro técnico
failedo processamento não chegou ao fim
cancelledo trabalho foi cancelado antes de concluir
completed não quer dizer autorizada

Significa apenas que o Conota concluiu o trabalho e obteve uma resposta do autorizador. Essa resposta pode ter sido uma rejeição. Para saber o desfecho fiscal, olhe o bloco nota.

2. O estado da nota — o desfecho fiscal

StatusSignificado
autorizadao autorizador aceitou; o documento produz efeitos fiscais
rejeitadao documento chegou ao autorizador e foi recusado por uma regra
denegadarecusado por situação irregular do emitente ou destinatário
canceladafoi autorizada e depois cancelada
inutilizadaa faixa de numeração foi inutilizada

A consulta traz os dois eixos:

{
"job_id": "6f8dc295-...",
"status": "completed",
"tentativas": "1/3",
"nota": {
"numero": 25,
"serie": 1,
"chave_acesso": "...",
"status": "autorizada",
"codigo_status": 100,
"motivo_status": "Autorizado o uso da NF-e"
},
"arquivos": { "xml": { "...": "..." }, "pdf": { "...": "..." } },
"erro": null
}

Como decidir no seu código

job.status == failed -> falha de processamento: analise `erro`
job.status == completed
└─ nota.status == autorizada -> concluído com sucesso
└─ nota.status == rejeitada -> corrija os dados e emita de novo
(com uma NOVA referencia_externa)
└─ nota.status == denegada -> problema cadastral; não adianta repetir igual
Rejeitada não consome numeração

Uma nota rejeitada não consome o número. Não avance a numeração automaticamente só porque uma tentativa falhou — consulte GET /v1/empresas/numeracao antes de decidir.

Os nomes exatos e eventuais novos valores estão sempre na Referência da API. Esta página explica o significado, não substitui os enums.