Em muitos casos temos buscas sobre o DFe feitas simultaneamente ou pela empresa (usando um aplicativo java da Receita) ou pelo contador, ou ainda por terceiros contratados.
Bom e dai ?? você pergunta
Segundo as novas regras e funcionalidades da Receita sobre o DFe, vai ocorrer o seguinte:
- caso haja mais de 20 consultas num período de uma hora, vai dar um erro 656 - Consumo indevido e o CNPJ/CPF fica bloqueado por uma hora a partir daquele momento. Ou seja mais uma hora até novas consultas possam ser feitas. Há casos em que recebemos esse erro 656 dezenas de vezes por dia, e são consultas perdidas que não retornam nenhum documento.
- digamos que o contador busque as NFe as 08:00hs de hoje e receba no sistema dele 20 documentos (ultNSU inicial 1000 e ultNSU final era o 1020), lembrando que NSU é um numero sequencial que controla os documentos destinados (NFe ou Eventos), e outro sistema for buscar o ultNSU 0, para tentar buscar 90 dias anteriores, irá receber na mensagem que o ultNSU é 1020 e não vai receber nenhum documento (pois o contador já os pegou em seu nome) e a próxima busca terá de iniciar pelo ultNSU 1020.
Trocando em miúdos, você não vai receber documentos que já foram baixados por outros sistemas
3. vamos analisar outra condição que acontece muito:
- o contador usa o sistema dele para buscar os documentos destinados as 09:00hs e recuperou os NSUs de 2100 até 2112, ou seja 12 documentos foram recebidos pela contabilidade.
- as 10:20hs nosso sistema foi buscar o os documentos destinados a partir do ultNSU registrado no nosso sistema que era o 2002, na primeira iteração retornou zero documentos e o ultNSU como 2112 e maxNSU = 2113, na segunda iteração foi retornado um documento (NSU 2113) e ultNSU = maxNSU = 2113, onde as buscas param por uma hora, pois não existem mais documentos a serem baixados. (de novo regra da Receita)
Veja que nesse caso ficaram faltando 12 documentos (NSU 2100 até 2112) no nosso sistema, pois já haviam sido baixados pelo sistema do contador.
Esses modo de funcionamento foi imposto pela Receita devido ao excesso de buscas que eram feitas, causando graves problemas aos servidores da Receita, pois a demanda repetitiva e incessante das buscas era constante, inclusive por falha nos sistemas usados (mal projetados, mal programados, e sem uma analise previa de como deveriam de comportar).
Então quem causou essas limitações foram as próprias softhouses, com controles frouxos, por programadores sem conhecimento e sem uma real analise de como e quando as buscas devem ser executadas.
Resumo dessa opera !
Não podemos trabalhar com concorrência, apenas um sistema deve buscar os documentos destinados e esse sistema dever ser bem projetado e obedecer a todas as regras operacionais do webservice.
NOTA: No caso no nosso sistema (integraNotas) caso ocorra esse lapso entre o ultNSU registrado e o ultNSU retornado pela Receita, lembrando do exemplo NSU 2100 até 2112, esses NSUs perdidos serão colocados em uma lista e serão buscados em consultas posteriores individualmente, mas isso consome consultas e atrasa outras buscas, se forem poucos NSUs perdidos não existe nenhum problema imediato, mas se forem muitos (ou seja a empresa recebe muitos documentos em pequenos intervalos de tempo) haverão longos atrasos na recuperação dos documentos, o que não é uma coisa boa. Evitar a concorrência é a melhor solução.