Ir para conteúdo
  • Cadastre-se

dev botao

Dúvida sobre DISTNFe e ultimo NSU


Ver Solução Respondido por penasoftsistemas,

Recommended Posts

Postado

Olá pessoal,

Estamos com alguns problemas ao utilizar o serviço de distribuição de NFe, pois a contabilidade do cliente utiliza um software que realiza o download dos XMLs de forma automática e em nosso sistema tambem há esta funcionalidade.

Em contato com a contabilidade fomos informados que o software que utilizam só realiza o download entre 23:00h e 05:00h da manhã para não gerar o consumo indevido 656 no cliente, sendo assim modificamos nosso sistema para realizar o download entre 07:00 e 21:00h. Porem mesmo com esta alteração continuamos a ter rejeicao 656, bem como nem todas as notas são baixadas.

Em algumas pesquisas surgiu a dúvida de qual NSU deve ser armazenado para a proxima pesquisa, devemos guardar somente o ultimo NSU que tiver notas disponiveis? ou devemos guardar todos os NSU retornados para realizar a proxima pesquisa sobre este ultimo?

Agradeço aos colegas pela ajuda.

  • Moderadores
Postado

Como explicado no discord

ou um baixa ou outro. indiferente do horário. senão alguém vai ficar sem xml

se um baixar o outro já não baixa mais

então é fazer o contador entender que ele não pode e não deve ficar baixando o xml do seuc liente com o certificado

  • Obrigado 1
Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: juliomar_m@yahoo.com.br
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

  • Moderadores
Postado
  Em 23/04/2025 at 23:09, phfmiranda disse:

Em algumas pesquisas surgiu a dúvida de qual NSU deve ser armazenado para a proxima pesquisa, devemos guardar somente o ultimo NSU que tiver notas disponiveis? ou devemos guardar todos os NSU retornados para realizar a proxima pesquisa sobre este ultimo?

Expandir  

Você deve armazenar o último NSU que a sua aplicação recebeu, e tentar sempre consultar a partir dele.

Na minha experiência, não vi problema baixar de locais distintos, desde que respeitado o prazo de 1 hora entre consultar de um local e do outro.

O que não pode é as duas aplicações ficarem tentando consultar ao mesmo tempo, uma atrapalhando a outra, ninguém baixa nada.

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

  • Membros Pro
Postado

Boa tarde! Aproveitando o tópico...

@BigWings então caso o escritório consulte notas de um cliente meu, e eu faça um sistema que não conflite nos horários de consulta deles, cada um trabalha com o seu último número de NSU e consulta a partir dele?

 

  • Consultores
Postado
  Em 29/04/2025 at 20:02, penasoftsistemas disse:

cada um trabalha com o seu último número de NSU e consulta a partir dele

Expandir  

Não, o sequencial de ultNSU baixado é único.

Quando você faz a consulta passando ultNSU=0, são baixados todos os registros existentes dos últimos 90 dias e essa "posição do ultNSU" é "atualizada" assim como é atualizada quando você pesquisa pelo ultNSU.

Quando você consulta passando o ultNSU, deve passar o ultNSU recebido na última consulta seja de onde for.

Se for feito em paralelo por dois sistemas eles precisam compartilhar o ultNSU recebido e o que foi recebido por um, não será recebido pelo outro.

A solução que vi em casos reportados é que a contabilidade baixa a noite, fazendo a primeira consulta por ultNSU=0 todos os dias, reprocessando tudo. Em contrapartida, durante o dia, o sistema do cliente também faz a primeira consulta por ultNSU=0 todos os dias, reprocessando tudo e depois segue pelo ultNSU.

...corrigindo a desinformação que passei anteriormente, o @BigWings está correto, você pode passar o ultNSU diferente entre os dois sistemas, bastando aguardar o tempo mínimo de 1h entre as consultas.

Se você utiliza o componente do ACBr, uma alternativa é um sistema consumir o serviço de distribuição e compartilhar os xmls recebidos para o outro sistema importar, você pode fazer isso utilizando o método a seguir do componente: 

ACBrNFe.WebServices.DistribuicaoDFe.retDistDFeInt.LerXMLFromFile( 'c:\temp\20220307130102-dist-dfe.xml' ).

O programa de exemplo mostra como utilizar esse recurso no próprio botão de consulta.

  • Curtir 1
  • Moderadores
Postado
  Em 29/04/2025 at 20:02, penasoftsistemas disse:

Boa tarde! Aproveitando o tópico...

@BigWings então caso o escritório consulte notas de um cliente meu, e eu faça um sistema que não conflite nos horários de consulta deles, cada um trabalha com o seu último número de NSU e consulta a partir dele?

Expandir  

Sim, exatamente isso.

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

  • Membros Pro
Postado
  Em 30/04/2025 at 12:17, BigWings disse:

Sim, exatamente isso.

Expandir  
  Em 30/04/2025 at 09:42, Renato Rubinho disse:

Se for feito em paralelo por dois sistemas eles precisam compartilhar o ultNSU recebido e o que foi recebido por um, não será recebido pelo outro.

Expandir  

Entendi, mas aí entra o que o @Renato Rubinho disse acima? Por exemplo, meu sistema consultou até o NSU 100, e o escritório consultou até o 150 posteriormente (considerando que não sei como o sistema do contador trata as consultas).

Nesse caso, na minha próxima consulta seria a partir do NSU 0 novamente, ou NSU 100? Pois pelo que entendi, se não "resetar" mandando zero no NSU, não vou conseguir baixar os XMLs que foram consultados pelo outro sistema...

  • Moderadores
Postado
  Em 30/04/2025 at 12:47, penasoftsistemas disse:

Entendi, mas aí entra o que o @Renato Rubinho disse acima? Por exemplo, meu sistema consultou até o NSU 100, e o escritório consultou até o 150 posteriormente (considerando que não sei como o sistema do contador trata as consultas).

Nesse caso, na minha próxima consulta seria a partir do NSU 0 novamente, ou NSU 100? Pois pelo que entendi, se não "resetar" mandando zero no NSU, não vou conseguir baixar os XMLs que foram consultados pelo outro sistema...

Expandir  

Eu diria pra nunca passar 0 a não ser que você não saiba qual é o último NSU que a sua aplicação recebeu. Passar 0 tem que reprocessar tudo, não tem nenhuma vantagem. 

Passando 0 ou 100 você ainda vai receber consumo indevido se consultar dentro do intervalo de 1 hora que o contador consultou.

Passando o ultNSU 100 após a 1 hora de intervalo, você vai receber os NSU 101 em diante, mesmo o contador já tendo até o 150.

Isso no meu entendimento e experiência.

  • Curtir 1
Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

  • Membros Pro
  • Solution
Postado

Entendi... Bom, vou tentar entrar em contato com a contabilidade de um cliente nosso aqui, para ver se descubro qual sistema eles usam e como funciona as consultas DFe deles, se tem configuração de horário, etc.

Enquanto isso seguirei com os testes e análises a respeito dessa consulta.

Muito obrigado @BigWings e @Renato Rubinho pelas informações fornecidas! 

  • Curtir 2

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.