Toda vez que você transmite uma nota, a SEFAZ devolve um código numérico de status chamado cStat. Ele vem dentro do elemento protNFe > infProt > cStat, acompanhado do texto explicativo (xMotivo) e do número do protocolo (nProt). Esse mesmo mecanismo vale para NF-e, NFC-e e os demais documentos fiscais eletrônicos.
O problema é que muita gente olha só pro "deu certo" da tela e não pro código. E cStat diferentes significam situações completamente diferentes: uma nota pode ter sido recebida, rejeitada, denegada ou de fato autorizada. Só um desses cenários permite entregar mercadoria com segurança fiscal.
O que significa o cStat 100
O cStat 100 corresponde a "Autorizado o uso da NF-e". Na prática, isso quer dizer que:
- A nota existe legalmente perante o fisco.
- Ela tem protocolo (
nProt) e um XML autorizado. - A operação está fiscalmente concluída (fora de casos com manifestação posterior).
Ou seja: enquanto você não tem cStat 100 no protNFe, a venda não está fechada do ponto de vista fiscal. Nenhum outro código substitui isso.
Autorizada não é a mesma coisa que "enviada"
Aqui mora o erro de negócio mais comum: tratar o retorno de lote recebido como se a nota já estivesse autorizada. Quando você manda a nota, a SEFAZ pode responder 103 (lote recebido com sucesso) ou 104 (lote processado). Esses códigos falam do lote, não da nota. Você ainda precisa consultar o recibo pra descobrir o cStat real de cada documento.
Entregar mercadoria só porque o lote foi aceito, sem confirmar o cStat 100 no protocolo, é receita para vender sem nota válida. A regra simples: a operação só vale quando existe cStat 100 no protNFe.
Códigos de status que mais aparecem
| cStat | Significado |
| 100 | Autorizado o uso da NF-e (a única que fecha a venda) |
| 150 | Autorizado fora de prazo (autorizada, mas transmitida com atraso) |
| 101 | Cancelamento de NF-e homologado |
| 135 | Evento registrado e vinculado (ex.: cancelamento, CC-e) |
| 103 / 104 | Lote recebido / lote processado (status do LOTE, não da nota) |
| 204 | Duplicidade de NF-e (a mesma nota já foi enviada) |
| 217 | NF-e não consta na base da SEFAZ |
| 110 / 301 / 302 | Uso denegado (irregularidade cadastral do emitente ou destinatário) |
| 108 / 109 | Serviço paralisado (momentânea / sem previsão) — caso de contingência |
| 2xx | Faixa de rejeição (erro de validação: cadastro, cálculo, chave, certificado) |
Observação: não decore os números da faixa 2xx um a um — o que importa é a categoria. Rejeição você corrige e reenvia; denegação é cadastral.
Autorizada x rejeitada x denegada x lote
Vale fixar a diferença essencial entre os quatro grupos, porque cada um exige uma ação diferente:
- Autorizada (100): nota válida, com protocolo e XML. Pode circular.
- Rejeitada (faixa 2xx): a nota não passou na validação (cadastro, cálculo, chave, certificado). Não foi autorizada — você corrige o erro apontado no
xMotivoe reenvia. Ex.:204(duplicidade),217(não consta na base). - Denegada (110 / 205 / 301 / 302): a SEFAZ recusa por irregularidade cadastral do emitente ou do destinatário. A nota não pode ser usada nem cancelada. Aqui o caminho é resolver a pendência cadastral, não reenviar igual.
- Status de lote (103 / 104): fala do envio, não da nota. Consulte o recibo pra achar o
cStatde cada documento.
Se você quer entender melhor como cada documento se comporta, veja qual documento fiscal emitir em cada operação — o retorno de status segue a mesma lógica em todos eles.
E quando a SEFAZ está fora do ar?
Os códigos 108 e 109 indicam serviço paralisado (momentânea ou sem previsão). Nesses casos você não vai conseguir o cStat 100 pela via normal e precisa acionar contingência da NFC-e pra continuar vendendo sem travar o caixa.
No SoftPay, o motor faz uma pré-validação (pre-flight) que recalcula chave, totais e tributos e bloqueia a nota inconsistente antes de mandar pra SEFAZ — o que derruba boa parte das rejeições 2xx. E a API só retorna sucesso quando a autorização está confirmada com cStat 100, com idempotência nativa pra não duplicar nota. Veja os planos.
Como ler o cStat na prática
Se você integra emissão via API, o fluxo correto é sempre o mesmo:
- Transmitir a nota e guardar o recibo do lote.
- Consultar o processamento e ler o
cStatde cada documento noprotNFe > infProt. - Só marcar a venda como válida quando o
cStatfor100(ou150, autorizada fora de prazo). - Guardar o
nProte o XML autorizado — são a prova legal da operação.
Lembre também que uma emissão só acontece com certificado digital válido. Certificado vencido ou errado costuma cair em rejeição 2xx antes mesmo de chegar na autorização.
Resumo
O cStat 100 é o único sinal de que a nota foi mesmo autorizada: tem protocolo, tem XML e fecha a venda. Tudo que não for 100 (ou 150) pede ação — corrigir e reenviar na rejeição, resolver cadastro na denegação, ou consultar o recibo quando o retorno for de lote. A boa prática que evita dor de cabeça fiscal é simples: só entregue mercadoria e considere a operação concluída quando existir cStat 100 no protNFe.