Nota fiscal em duplicidade (NFCE)

133 views
Skip to first unread message

sarettaweb

unread,
Aug 11, 2025, 9:22:17 AM8/11/25
to NFePHP
Bom dia, pessoal! Estou enfrentando intermitência com duplicidade na emissão de NFC-e.  Alguém já passou por isso e pode indicar boas práticas para evitar duplicidade (idempotência, controle de reenvio em assíncrono/contingência, checagem por chave/recibo antes de reenviar)? Valeu! 

Atenciosamente,

André Saretta

Roberto Machado

unread,
Aug 11, 2025, 9:57:56 AM8/11/25
to nfe...@googlegroups.com
André;

Boas Práticas para NFCe
Quando se emite NFCe em geral o clientes está esperando a nota na boca do caixa, então devido a isso não podemos esperar o retorno da SEFAZ por mais de 3 a 5 minutos.
Dito isso:

1 - Gerar e enviar a NFCe para a SEFAZ autorizadora, aguardar a resposta:
    Caso "TIMEOUT":
          a - em caso de timeout, ficamos num estado de INDEFINIÇÃO, ou seja não sabemos se a NFCe foi ou não recebida, nesse caso esperamos mais 1 minuto e consultamos pela CHAVE
                Caso "NFCe Não localizada" ou novo TIMEOUT, mudamos para contingência, incrementamos o número da NFCe e emitimos em contingência OFFLINE, e entregamos ao cliente
                         b - continuamos a consulta pela chave (da NFCe em estado de INDEFINIÇÃO), depois de uma hora e de hora em hora 
                         c - enviamos a NFCe em contingência, assim que a SEFAZ retornar a operar
                         d - depois de algumas horas, se a NFCe em estado de INDEFINIÇÃO, ainda estiver como "NÃO LOCALIZADA", então devemos INUTILIZAR o número dessa NFCe
                         e - depois de algumas horas de a NFCe  em estado de INDEFINIÇÃO, for autorizada, devemos substituí-la pela NFCe seguinte que foi emitida em modo OFFLINE

  caso "SEFAZ STATUS indisponível":
             -  gerar as NFCe em modo contingência OFFLINE, e envial-las tão logo a SEFAZ autorizadora retorne

Atender as regras e manter o cliente satisfeito é uma linha tênue, pois mesmo ocorrendo um TIMEOUT na NFCe, ainda pode ocorrer o processamento da NFCe no backend da SEFAZ, até uma hora após o seu envio sem uma resposta.
Devemos manter o nosso próprio timeout (ou o tempo de espera pela resposta) em pelo menos uns 120 segundos, o que já é um tempo de espera bastante longo.
E mais pelo menos um minuto a mais para tentar obter ao retorno da consulta da chave, e mesmo recebendo um "NÃO LOCALIZADA" não significa necessariamente que a NFCe não esteja sendo processada pelo backend da SEFAZ.

É divertido né, 🥺😓😢😰😧😵‍💫
Roberto

sarettaweb

unread,
Aug 11, 2025, 2:08:58 PM8/11/25
to NFePHP
Roberto, Boa tarde! Obrigado por sua resposta, vou fazer um revisão aqui no meu código para poder seguir suas orientações.

André Saretta

Roberto Machado

unread,
Aug 11, 2025, 2:57:31 PM8/11/25
to nfe...@googlegroups.com
André; 

Lembre-se que existem prazos para inutilização, substituição e para o envio das NFCe em modo OFFLINE não deixa passar os prazos.

Roberto

sarettaweb

unread,
Aug 13, 2025, 6:08:41 AM8/13/25
to NFePHP
Ok! Obrigado mais uma vez Roberto. Vou me atentar a esses prazos

Renato Ricci

unread,
Aug 30, 2025, 10:07:14 AM8/30/25
to NFePHP
Bom dia..  A partir de 01/09/2025 o envio passa a ser síncrono também para NFe (mod. 55). 

Como tratar caso haja timeout após o envio da NFe? Pois não saberemos se a NFe já foi processada ou não pela SEFAZ.. e caso o usuário tente novamente o envio sincrono, poderá ocorrer duplicidade de NFe(creio que seja bem raro.. mas ainda sim é possível que isto ocorra). Neste caso.. Quando o usuário fizer o primeiro envio e ocorrer timeout, o correto seria na sua proxima requisição, enviar uma consulta para ver se aquela chave já se econtra na sefaz ou não(assim como no passo a passo que o Roberto descreveu acima para quando é NFCe).. 

Minha pergunta é? Já existe algo neste sentido para NFe modelo 55 assim como já existe para NFCe?

Obrigado,
Renato


Roberto Machado

unread,
Aug 30, 2025, 10:35:25 AM8/30/25
to nfe...@googlegroups.com
Renato !

Qual é a diferença entre uma NFe e uma NFCe ??

1 - NFCe o cliente está esperando no caixa tem que ser rápida a geração da NFCe !! Tem que dar um jeito de emitir AGORA, mesmo que a SEFAZ esteja demorando mais 15 minutos para autorizar  teremos de liberar antes desse tempo.
Por isso nesse caso é mais complexo e cuidadoso deve ser o sistema, para não criar mais confusão e problemas, lembrando que para NFCe os prazos de cancelamento são curtos, existe previsão de uso offline e probabilidade de falhas é grande.

2 - NFe, por mais que o cliente ESPERNEIE ele deve aguardar até que seja processada e autorizada. Em caso de timeout e a SEFAZ fique fora do ar e libere o sistema de contingência, isso pode demorar HORAS. 
     Ainda pode ocorrer duplicidade ?? SIM pode sim (mas é mais raro) e quando ocorre a forma de lidar com isso fica um pouco diferente. 

Lembrando, duplicidade somente ocorre por falha do sistema emissor !!! o culpado por criar duplicidade é o SEU CÓDIGO, lembre-se disso.

Roberto

Denis Brandl

unread,
Aug 30, 2025, 1:18:01 PM8/30/25
to nfe...@googlegroups.com
Roberto, obrigado pelas explicações!

Como você recomenda a emissão de NFC-e  em caso de indisponibilidade? Tem como gerar o layout para entregar ao cliente e depois solicitar emissão ao SEFAZ?


Denis Brandl
den...@gmail.com
-----------------------------------------------------------
Ter problemas na vida é Inevitável, ser derrotado por eles é Opcional


--
--
Você recebeu esta mensagem porque está inscrito no Grupo "NFePHP".
Para Postar: nfe...@googlegroups.com
Para Sair do Grupo: nfephp+un...@googlegroups.com
Link: http://groups.google.com.br/group/nfephp?hl=pt-BR
-------
Repositórios: https://github.com/nfephp-org
---
You received this message because you are subscribed to the Google Groups "NFePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to nfephp+un...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/nfephp/CAEj7DH%3DPa_NEnTVre-BPDD_ckf-XkKiuL5aDyA_R2BzN-rScUg%40mail.gmail.com.

Renato Ricci

unread,
Sep 1, 2025, 12:38:46 PM9/1/25
to NFePHP
Olá Roberto.. obrigado pela esclarecimento, mas minha dúvida é mais no sentido técnico da coisa..

Quando ocorre timeout, apesar deste momento ser raro, precisamos tratar e para isto, no lado do nosso sistemas precisamos de algumas informações para tomar a decisão mais acertiva. Discordo quando voce meciona que  '...duplicidade somente ocorre por falha do sistema emissor !!! '. Entre o nosso sistema emissor e a sefaz existe um longo caminho que a nota trafega para chegar até lá.. e neste meio tempo, pode haver intercorrencias.. como voce disse, raro, mas ainda sim podem sim existir.. Ou seja.. nosso sistema envia a nota.. a sefaz recebe e a processa. Neste meio tempo, a internet do usuário cai.. a energia cai, e ai? entende? ficamos sem retorno e de mãos atadas.. É neste ponto que estou perguntando se a sefaz já disponibiliza algum endpoint para consultarmos a real situação daquela nota, para sim, depois tomar a decisão correta do que fazer.. Sei que NFCe tem como consultar.. mas NFe não sei se já tem..

Obrigado,
Renato
Reply all
Reply to author
Forward
0 new messages