Ir para conteúdo
  • Cadastre-se

dev botao

Duplicidade com diferença na chave de acesso


Ver Solução Respondido por Italo Giurizzato Junior,
  • Este tópico foi criado há 2274 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Boa tarde amigos, alguem poderia me ajudar? 

Estou com um problema no meu codigo, ja é o segundo cliente que acontece de dar duplicidade com diferença na chave de aceso, porem a NF-e está sendo emitida pela primeira vez, acredito eu ser um instabilidade com a internet ou coisa do tipo, como faço para evitar esse problema? Segue abaixo os logs do cliente

LOG.TXT

LOG_COMP.TXT

sai.txt

WLS Sistemas

www.wlssistemas.com.br

[email protected]

  • Moderadores
Postado
21 minutos atrás, WalterLopes disse:

Boa tarde amigos, alguem poderia me ajudar? 

Estou com um problema no meu codigo, ja é o segundo cliente que acontece de dar duplicidade com diferença na chave de aceso, porem a NF-e está sendo emitida pela primeira vez, acredito eu ser um instabilidade com a internet ou coisa do tipo, como faço para evitar esse problema? Segue abaixo os logs do cliente

LOG.TXT

LOG_COMP.TXT

sai.txt

Boa tarde, WalterLopes.

Já tive esse problema, uma das formas de corrigir, seria pegar a chave que consta na mensagem de duplicidade, corrigir no seu banco de dados os dados e realizar a consulta novamente.

  • Curtir 1
Equipe ACBr

Felipe Eduardo Resende Mesquita

Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

 

 

 

  • Consultores
  • Solution
Postado

Boa tarde Walter,

Primeiramente temos que entender o que vem a ser esse erro.

Duplicidade com diferença de chave de acesso, significa que já existe na SEFAZ a respectiva nota, mas a chave é diferente.

A chave é composta por variais informações e uma delas é chamada de Código da Nota Fiscal - cNF.

A SEFAZ recomenta que o cNF seja um numero aleatório, sendo assim muitos atribuem o valor zero a cNF, o ACBr ao detectar que o valor de cNF é zero gera automaticamente um numero aleatório que como dito vai fazer parte da chave.

Se no seu arquivo ini referente a nota não contem a linha com o campo cNF ou se o seu valor é zero vai ocorrer o que foi exposto acima.

Se ocorrer um erro e o seu cliente enviar novamente a nota usando o mesmo arquivo ini um novo XML será gerado e consequentemente com uma nova chave.

Se o erro não ocorreu no envio e sim no retorno a SEFAZ vai rejeitar essa segunda tentativa de envio acusando duplicidade com diferença de chave.

Quando ocorre erro a primeira coisa a se fazer não é tentar enviar novamente e sim realizar uma consulta.

Se o erro foi no envio a SEFAZ vai retornar uma mensagem informando que a nota não consta na base de dados, ai sim você envia novamente, por outro lado se o erro ocorreu no retorno, a SEFAZ vai retornar o protocolo de autorização e o XML será atualizado ou será retornado a rejeição e o motivo da mesma.

 

 

  • Curtir 4
  • Obrigado 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado
18 minutos atrás, Felipe E. Resende Mesquita disse:

Boa tarde, WalterLopes.

Já tive esse problema, uma das formas de corrigir, seria pegar a chave que consta na mensagem de duplicidade, corrigir no seu banco de dados os dados e realizar a consulta novamente.

Felipe, mas quando retorna esse erro, não gera o XML, como devo proceder pra pegar esse arquivo?

 

  • Curtir 1

WLS Sistemas

www.wlssistemas.com.br

[email protected]

  • Moderadores
Postado
26 minutos atrás, WalterLopes disse:

Felipe, mas quando retorna esse erro, não gera o XML, como devo proceder pra pegar esse arquivo?

 

No meu caso, quando não existia, eu corrigia a chave e transmitia novamente. Mas sugiro seguir os passos do Italo Jurisato Juniopois ele tem mais conhecimento do que eu sobre esse assunto.

  • Curtir 1
Equipe ACBr

Felipe Eduardo Resende Mesquita

Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

 

 

 

  • Moderadores
Postado
54 minutos atrás, WalterLopes disse:
1 hora atrás, Felipe E. Resende Mesquita disse:

Boa tarde, WalterLopes.

Já tive esse problema, uma das formas de corrigir, seria pegar a chave que consta na mensagem de duplicidade, corrigir no seu banco de dados os dados e realizar a consulta novamente.

Felipe, mas quando retorna esse erro, não gera o XML, como devo proceder pra pegar esse arquivo?

Boa tarde!

Observe que o Felipe comentou sobre pegar a  CHAVE e você fala sobre pegar ARQUIVO.  

Eu suponho que vc se enganou e quis se referir a chave que é o que de fato importa. 
Observe na resposta do ACBrMonitorPLUS que se vc ler este retorno, ele te trás a informação.  Veja no teu próprio arquivo SAI.TXT que vc postou, que ele trás a informação da chave que vc tentou enviar e a chave correta que está registrado na SEFAZ.

Parte do teu arquivo SAI.TXT que é o retorno no ACBr. 

 

Citar

[NFe281]
CStat=539
CUF=35
DhRecbto=13/08/2018 14:08:18
Msg=
VerAplic=SP_NFE_PL_008i2
Versao=SP_NFE_PL_008i2
XMotivo=Rejeicao: Duplicidade de NF-e com diferenca na Chave de Acesso [chNFe:35180800128351000182550010000002811000050936][nRec:351004906265575]
arquivo=C:\ACBrMonitorPLUS\Docs\35180800128351000182550010000002811000055334-nfe.xml
chNFe=35180800128351000182550010000002811000055334

Em vermelho a sua chave errada, em verde a chave correta.
Observe que em vermelho o código cNF que Italo comentou é 00005533,  enquanto que na correta é 00005093.  
Com isto a nota 281 está com duas chaves. Passe a controlar o cNF e informe ao ACBrMonitorPLUS, para vc não ter problema com isto. 

 

  • Curtir 2


logoacbr.pngConheça o Portal do Projeto ACBr

Ajude o Projeto ACBr crescer - Assine o SAC ACBr
Assine um dos planos de longa duração do SAC ACBr, obtenha Descontos Especiais, Parcele no Cartão e ainda ganhe Brindes Exclusivos. Saiba mais aqui

Conheça o ACBrLib, o ACBr de forma nativa para qualquer linguagem de programação. Saiba mais aqui

 

 

 

 

Postado

Walter teve uma tentativa de envio as 14:05:43 com erro de timeout, (a internet deve ter caido e o retorno não veio) depois as 14:07:42 o reenvio que causou a duplicidade.

Tu tem que tratar esses erro e consultar a nota antes de reenviar.

  • Consultores
Postado

Bom dia Walter,

Ai é que esta o problema, muitos comente o mesmo erro.

Envia a nota o retorno não vem e o usuário envia a nota novamente.

Esse procedimento esta errado.

A nota é enviada e ocorre um erro, você sabe me dizer se esse erro de timeout (por exemplo) ocorreu no envio ou no retorno?

Pois bem, não sabe.

O que devemos fazer se ocorrer um erro ao enviar uma nota?

Simples, devemos consultar a mesma, se a SEFAZ retornar a mensagem que a nota não consta na base de dados, fica claro que o erro ocorreu no envio, logo devemos enviar novamente.

Agora se o erro ocorreu no retorno, ao consultar, a SEFAZ vai retornar o protocolo de autorização, o XML da nota será atualizado e o passo seguinte é imprimir o DANFE.

 

Para resolver o problema de uma vez por todas de Duplicidade com diferença na chave de acesso é muito simples.

Veja o fragmento do arquivo INI de uma nota abaixo:

[infNFe]
versao=4.00
[Identificacao]
cNF= <informar aqui o código da Nota Fiscal>
natOp=VENDA
mod=55
serie=1
nNF=1500

No seu banco de dados deve existir uma tabela que contem os dados da nota, como numero, data de emissão, destinatário, ... entre outras informações.

Pois bem, agora vai ter um campo a mais chamado CodNF que é do tipo numérico inteiro.

A sua aplicação deve gerar um código aleatório diferente de zero e com no máximo 8 dígitos para cada nota a ser emitida.

Esse código deve ser salvo no banco de dados no campo CodNF (conforme exemplo acima).

Na rotina que lê as informações do banco de dados para gerar o arquivo INI, devemos ler o campo CodNF e o seu valor atribuir a cNF (em negrito/vermelho).

Qual é a motivação para fazer isso?

Simples, o valor de cNF é utilizado para compor a chave da nota, se não atribuirmos nada ao campo cNF o Monitor vai considerar ele como zero, isso faz com que um código aleatório seja gerado.

Por outro lado se passamos um numero diferente de zero para o cNF, o Monitor vai utilizar esse numero para compor a chave.

O que faz gerar o erro de Duplicidade com diferença na chave é exatamente a falta de controle desse numero atribuído a cNF.

Se no arquivo ini da nota não tempos o campo cNF se mandarmos o monitor gerar a nota 10 vezes, teremos 10 notas cada uma com uma chave diferente.

Por outro lado se passamos o valor de cNF no arquivo ini, podemos gerar quantas vezes desejarmos a nota, a chave sempre será a mesma.

 

Tome muito cuidado, não inventa de atribuir a cNF o numero da nota ou seja o numero atribuído a nNF.

Três motivos para não fazer isso:

1. A SEFAZ recomenta que o cNF seja um numero aleatório.

2. Uma nota cujo cNF é igual a nNF a chave se torna fraca, ou seja, passível de pessoas não autorizadas a ter acesso as informações da mesma.

3. O numero da nota (nNF ) é um numero com no máximo 9 dígitos, já o código da nota (cNF) é um numero com no máximo 8 dígitos, logo não tem como atribuir um numero de 9 dígitos a um campo que só aceita no máximo 8.

 

Espero ter ajudado.

  • Curtir 3
  • Obrigado 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado

Tem acontecido com alguma frequência de dar a duplicidade, porém com a mesma chave. Quando isso está acontecendo, consulto manualmente no portal da Sefaz e a nota consta normalmente, já no portal da Receita consta como inexistente. Depois de algum tempo, a NFe aparece no portal da Receita, faço o download manual e atualizo o sistema com os dados da autorização. Como ainda não descobri o que acontece, testo se o arquivo xml existe e faço um backup do existente antes de criar um novo.

  • Consultores
Postado

Boa tarde José,

Toda rejeição de duplicidade significa que a nota foi enviada novamente.

A regra é simples, enviou, ocorreu algum erro, não se deve enviar novamente e sim consultar.

É normal você consultar no portal da SEFAZ-Autorizadora e a nota constar e não constar no Portal Nacional.

A nota é enviada para a SEFAZ-Autorizadora e esta por sua vez replica para o Portal Nacional caso a nota tenha sido autorizada.

A questão é o tempo que demora para que ocorra essa replicação, que pode ser de alguns segundos, minutos ou até horas.

  • Curtir 3
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Este tópico foi criado há 2274 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.