Erro: 539 - Rejeição: Duplicidade de NF-e, seguido de Consulta da NF-e

307 views
Skip to first unread message

Cláudio Felipe Sampaio

unread,
Apr 20, 2017, 10:13:06 AM4/20/17
to NFePHP
Bom dia a todos!
Primeiramente percorri o fórum aqui e não achei um problema igual ao meu ou algo que chegasse próximo.

Estou enviando a nota (neste momento eu salvo o XML de envio no BD) e já no primeiro envio me retornar a seguinte mensagem: 539 - Rejeição: Duplicidade de NF-e com diferença na Chave de Acesso.........

Aí nesse retorno percebo que o número da chave que retorna no erro não é o mesmo que enviei (já acho estranho aqui), mas daí eu copio essa chave e salvo ela no meu campo da Chave de Acesso (do BD) e ao invés de enviar novamente eu consulto ela (sefazConsultaChave();), pego o retorno e protocolo (addProtocolo();) com o XML de envio (citei acima que guardo o XML de envio ele no BD).

Só que neste momento retorna a seguinte mensagem: 


Gostaria de saber de vcs o seguinte:
 - Estou fazendo algo de errado, tipo pulando algum passo ou mesmo utilizando algum rotina errado?
 - Vcs fazem algo de diferente q eu possa mudar o meu código para que não ocorra mais isso novamente?
 - É normal retornar um Erro de Duplicidade já no primeiro envio da NF?
 - Sobre essa divergência do DigestValue, há algo que possa fazer pra não dar mais esse erro?

Desde já agradeço!

Edwin Schissato

unread,
Apr 20, 2017, 1:41:52 PM4/20/17
to nfe...@googlegroups.com
Não existe isso de dar erro de duplicidade no primeiro envio, essa numeração já foi utilizada , já que possui chave de acesso diferente! Você não pode adicionar o protocolo de uma chave de acesso na outra.

Se fosse o erro 204 ( duplicidade com mesma chave de acesso) poderia ser algum erro de logica onde seu sistema enviava mais de uma vez a mesma nota , nesse caso era so obter o retorno pela chave de acesso e adicionar o protocolo.

--
--
Você recebeu esta mensagem porque está inscrito no Grupo "NFePHP".
Para Postar: nfe...@googlegroups.com
Para Sair do Grupo: nfephp+unsubscribe@googlegroups.com
Link: http://groups.google.com.br/group/nfephp?hl=pt-BR
-------
Repositório: https://github.com/nfephp-org/nfephp
---
Você recebeu essa mensagem porque está inscrito no grupo "NFePHP" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para nfephp+unsubscribe@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Cláudio Felipe Sampaio

unread,
Apr 20, 2017, 2:57:45 PM4/20/17
to NFePHP
Boa tarde Edwin!

Sim, no meu caso está dando erro de duplicidade já na primeira vez que envia, conforme o meu cliente está reclamando!
E ainda, se pegar essa primeira chave de acesso q foi gerada, q deu duplicidade e consultar ela no site da SEFAZ, volta mensagem dizendo que não existe na base de dados dele.

Então, eu pego a chave correta q volta no erro da duplicidade, gravo no meu campo Chave de Acesso e consulto ela normalmente, aí volta o protocolo correto, mas no momento de protocolar da erro de DigestValue, conforme informei no primeiro post.

Mesmo assim agradeço pelo retorno!

Cláudio Felipe Sampaio

unread,
Apr 25, 2017, 10:57:49 AM4/25/17
to NFePHP
Alguém pode me ajudar, por favor!!!

Edwin Schissato

unread,
Apr 25, 2017, 11:47:25 AM4/25/17
to nfe...@googlegroups.com
Eu ainda acho que você tá utilizando números já utilizados..

Em 25 de abril de 2017 11:57, Cláudio Felipe Sampaio <tue...@gmail.com> escreveu:
Alguém pode me ajudar, por favor!!!

--

Edwin Schissato

unread,
Apr 25, 2017, 11:48:09 AM4/25/17
to nfe...@googlegroups.com
Tenta fazer a inutilização de um número e veja se retorna "Faixa de número já utilizada" ( ou algo do tipo).

Edwin Schissato

unread,
Apr 25, 2017, 11:48:43 AM4/25/17
to nfe...@googlegroups.com
Será que esse cnpj não emitiu notas por outro sistema? ou pelo finado sistema gratuito da sefaz?

Clayton Mergulhão

unread,
Apr 26, 2017, 9:12:13 AM4/26/17
to NFePHP
O que deve estar acontecendo é o que o Edwin disse.
mais vamos lá você está emitindo em produção ou em homologação?

Se tiver emitindo em produção tem que ver qual foi a ultima nota emitida pelo seu cliente, ou mudar a Série da NFe que dai pode iniciar do 1 novamente.
Caso esteja em homologação mude a Série também que tem que emitir corretamente.

Espero ter ajudado, um grande abraço fique com Deus.

Att.
Clayton

Cláudio Felipe Sampaio

unread,
Apr 27, 2017, 10:28:00 AM4/27/17
to NFePHP
Bom dia amigos!

Primeiramente obrigado pelas dicas.

Mas então, respondendo vcs:

- Aparentemente essa numeração não foi utilizada nem pelo meu sistema e nem por outro, pensei até q o usuário poderia de alguma forma dar um duplo clique no botão e ter enviado duas vezes, sei lá só uma ideia.
- Estou emitindo em produção.
- E o estranho que não é sempre que acontece isso, é um problema esporádico.

Amém e mto obrigado!

Bruno Damada

unread,
May 15, 2017, 5:00:03 PM5/15/17
to NFePHP
Olá Claudio, tudo bom?

Você achou alguma solução para este caso?

Cláudio Felipe Sampaio

unread,
May 16, 2017, 8:38:02 AM5/16/17
to NFePHP
Bom dia Bruno, tudo blz e aí?

Ainda não encontrei nenhum solução pra este caso, faço manualmente o ajuste no XML quando Duplicidade.

Você está tendo o mesmo problema?

rtal

unread,
May 16, 2017, 8:40:01 AM5/16/17
to nfe...@googlegroups.com
Essa mensagem esta ligada a alguma coisa com o numero do recibo, voce deve estar fazendo algo errado no controle dos mesmos.
--
--
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ório: https://github.com/nfephp-org/nfephp
---
Você recebeu essa mensagem porque está inscrito no grupo "NFePHP" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para nfephp+un...@googlegroups.com.

Para mais opções, acesse https://groups.google.com/d/optout.



Este email está limpo de vírus e malwares porque a proteção do avast! Antivírus está ativa.


Hugo Nunes Barretto

unread,
May 22, 2017, 1:14:26 PM5/22/17
to NFePHP
Isto significa que o nNF que está na chave que está transmitindo já existe na base da Sefaz. Por isto, ele retorna informando duplicidade com diferença na chave de acesso.

Clayton Mergulhão

unread,
May 22, 2017, 1:37:40 PM5/22/17
to NFePHP
Boa tarde eu diminui bastante as minhas nf duplicadas com a seguinte lógica.
Toda fez que vou enviar uma nf eu verifico se aquela nf tem um numero de recibo.
Caso essa nf tenha um numero de recibo, ele vai consultar o numero de recibo se ele tiver autorizado ele me retorna a nf autorizada.

Fiz essa atualização a 30 dias não tive nenhum nf duplicada



Em quinta-feira, 20 de abril de 2017 11:13:06 UTC-3, Cláudio Felipe Sampaio escreveu:

Roberto Machado

unread,
May 22, 2017, 2:17:29 PM5/22/17
to nfe...@googlegroups.com
É isso ai Cleyton, essa é a forma correta.

Roberto

Cláudio Felipe Sampaio

unread,
May 30, 2017, 10:48:44 AM5/30/17
to NFePHP
Bom dia Clayton Mergulhão!
Tudo bem?

Você poderia fazer o favor de me explicar com mais detalhes como vc utiliza a rotina do NFePHP para fazer o seu envio, da mesma forma como me explicou no seu post. Pois não entendi mto bem como vc está fazendo, mas aparentemente é uma ótima solução e gostaria de implementar em meu ERP.

Desde já agradeço pelo retorno!

Abraço!

Professor Leandro Alfredo

unread,
May 30, 2017, 2:27:20 PM5/30/17
to NFePHP
Eu faço desta maneira. Nunca tive retorno de NF duplicada.
Coloquei os arquivos do consultar a Chave pra frente que uso em anexo, veja se te ajuda. (Obviamente, precisa ver as partes que linko na minha base)
Veja:
/* Geração de Nota Fiscal de Saída a partir da API NFePHP.
1 - Gerar XML;
2 - Assinar XML;
3 - Validar XML;
4 - Enviar XML;
5 - Receber Protocolo;
6 - Imprimir NFe;
7 - Baixar XML;
8 - Enviar XML por e-mail;
*/

include_once 'nfephp-master/bootstrap.php'; 
ini_set('max_execution_time','3000');
include ('xml_gerar.php');
//atualizo a chave conforme o que é calculado pela API.
$chaveTrocar = substr($chave,'0','4').' '.substr($chave,'4','4').' '.substr($chave,'8','4').' '.substr($chave,'12','4').' '.substr($chave,'16','4').' '.substr($chave,'20','4').' '.substr($chave,'24','4').' '.substr($chave,'28','4').' '.substr($chave,'32','4').' '.substr($chave,'36','4').' '.substr($chave,'40','4');
include('conecta.php');
mysql_db_query("$conecta_bd","Update nota_saida set chave_acesso = '".$chaveTrocar."' where codigo = '".$_POST['cod_nota']."'");

include ('xml_assina.php');

include ('xml_valida.php'); 

$idLote = substr(str_replace('.','',$aempresa['cnpj']),0,3).date('ymdHms');

include ('xml_enviaLote.php');

/*Aqui você buscar o Resultado pela $aResposta, eu optei por acessar a pasta temporária ACHO QUE SUA DÚVIDA ESTÁ AQUI*/
$dataemissao = substr($nota['dataemissao'],0,6);
$new_xml = str_ireplace('SOAP-ENV:','',file_get_contents("backup/xml/nfe/".$tipo_ambiente."/temporarias/".$dataemissao."/".$idLote."-retEnviNFe.xml"));
$new_xml = str_ireplace('SOAP:','',$new_xml);
$xml = simplexml_load_string($new_xml);
    $cStat =  $xml->Body->nfeAutorizacaoLoteResult->retEnviNFe->protNFe->infProt->cStat;
    $motivo = $xml->Body->nfeAutorizacaoLoteResult->retEnviNFe->protNFe->infProt->xMotivo;

if($cStat == '100'){ //só consulta a chave se estiver autoriza
    include ('xml_consultachave.php');
    include ('xml_addprot.php');
    include ('xml_impressao.php');
    include('conecta.php');
mysql_db_query("$conecta_bd","Update nota_saida set situacaonfe = 'A',motivo='".$cStat." - ".$motivo."' where codigo = '".$_POST['cod_nota']."'");

Se persistir dúvida me chame no skype: leo....@hotmail.com
xml_addprot.php
xml_consultachave.php
Reply all
Reply to author
Forward
0 new messages