fiscal-mcp / rejeições / 204
Duplicidade de NF-e — já existe nota autorizada com essa chave de acesso.
A chave transmitida já está autorizada. Chave igual significa emitente, modelo, série, número e código numérico iguais — ou seja, é a mesma nota, não uma parecida. O padrão que mais produz isso é retry: a primeira transmissão estourou o timeout do seu lado, autorizou do lado da SEFAZ, e a rotina reenviou em vez de consultar o recibo.
A nota 1234 da série 1 já está autorizada. Se a venda é outra, ela precisa de número próprio.
o que foi transmitido
<ide>
<mod>55</mod>
<serie>1</serie>
<nNF>1234</nNF>
<cNF>12345678</cNF>
</ide>
o que a SEFAZ aceita
<ide>
<mod>55</mod>
<serie>1</serie>
<nNF>1235</nNF>
<cNF>87654321</cNF>
</ide>
Só avance o número se a venda for outra. Se for a mesma nota, a autorizada já existe: consulte e use. Reemitir é o que transforma uma duplicidade em cascata de duplicidades.
Exemplo mínimo e fictício. Onde aparece CNPJ ou chave de acesso, o número não é de empresa nenhuma — nem passa no próprio dígito verificador.
Consulte a nota existente antes de tentar de novo. NÃO reemita com o mesmo número e série: isso gera nova tentativa de duplicidade.
Tudo aqui roda na sua máquina, sem certificado e sem enviar nada para lugar nenhum.
# o que a SEFAZ quis dizer
fiscal-mcp rejeicao 204
{
"ok": true,
"codigo": "204",
"significa": "Duplicidade de NF-e — já existe nota autorizada com essa chave de acesso.",
"acao": "Consulte a nota existente antes de tentar de novo. NÃO reemita com o mesmo número e série: isso gera nova tentativa de duplicidade.",
"reversivel": true
}
fiscal-mcp chave 43260812345678000100550010000012341123456783
Decompõe a chave que a SEFAZ diz já existir — emitente, série e número saem separados, sem consultar nada.
A mensagem que chega da SEFAZ muda de UF para UF e de versão para versão do Manual de Orientação do Contribuinte — o que não muda é o código. O texto acima é o significado consolidado no catálogo do fiscal-mcp, não a transcrição literal de uma resposta.
Se a sua veio diferente, ou se o campo que resolveu foi outro, abra uma issue — o catálogo é um YAML de umas poucas linhas, e é assim que ele fica melhor.