📑 CONCEITO

Implementado o reprocessamento automático de notas fiscais modelos 55 (NF-e) e 65 (NFC-e) que tenham sido emitidas em contingência off-line.

O objetivo é buscar o status de retorno das notas pendentes no MID-e Client e atualizar automaticamente esses status no banco de dados do Linx POS.

O reprocessamento será efetuado de forma totalmente automática, bastando apenas iniciar o Linx POS ou o Linx POS Manager.

⚠️ IMPORTANTE

O Linx POS 7.8SPK2 HF003 foi adaptado para não permitir autorização da NFC-e sem que exista venda vinculada à ela, isto é, não serão aprovadas notas que não estejam vinculadas às vendas feitas no sistema.

Em síntese: Caso o sistema emita a NFC-e de número 000000001 e receba resposta do MID em que a SEFAZ do Estado está em modo off-line (contingência), essa nota será desvinculada da venda e automaticamente será vinculada na próxima numeração disponível que pode ser a 000000002 (dependendo do uso da numeração dos demais terminais). A nota de número 000000002 deve ser emitida off-line e a nota 000000001 ficará com status de aguardando cancelamento. A nota 000000001 não será autorizada e o status somente será atualizado quando vier a resposta da SEFAZ para inutilização da mesma ou cancelamento. Com isso não ocorrera mais o risco de haver 2 notas aprovadas para a mesma venda NFC-e.

Por fim, o Mid-e Client informará que o retorno do status dessa nota (Cancelamento ou Inutilização) poderá acontecer em até 7 dias.

  •  Vale relembrar que para o Estado de São Paulo, não existe emissão em contingência para NFC-e.

✔️ PASSO A PASSO


O primeiro reprocessamento ocorrerá 25 minutos após efetuar o login no Linx POS/Linx POS Manager, e os demais em intervalos pré-definidos também de 25 minutos, desde que o Linx POS/Linx POS Manager não seja encerrado.

Situações em que as notas serão verificadas pelo Robô de reprocessamento automático:

  • Emissões que tenham havido falha na comunicação com o MID ou com a Sefaz. 
  • Quando for informado manualmente na tela de vendas, que a emissão será efetuada em modo de contingência.
  • Emissões on-line em que o retorno da Sefaz seja igual a um destes:

Código Status

Descrição

999

SEFAZ de origem retornando erro não catalogado.

M0020

Não houve um retorno de aprovação. Consulte o documento para decidir a ação a ser tomada.

M9999

Erro não catalogado.

MC020

Aguarde que esta nota será automaticamente cancelada ou o número inutilizado.

MC021

Aguarde que esta nota será automaticamente cancelada ou o número inutilizado.

Não havendo rejeições a nota ficará aguardando o envio por parte do MID-e Client para a Sefaz.

  • As notas ficais eletrônicas (NF-e) que foram emitidas e o operador decidiu enviá-las posteriormente, não serão tratadas pelo Robô, assim, respeitando a decisão tomada inicialmente de não enviá-las.
  • As notas com erro não são verificadas pelo Robô, pois é preciso analisar o motivo, para que não tenham sido aprovadas na primeira tentativa de aprovação.
    O critério que o robô utiliza para consulta das notas fiscais pendentes, é filtrar todos os documentos fiscais eletrônicos que foram emitidos a mais de dez minutos até os últimos 40 dias, respeitando as condições de Status e Período.

A partir do Hotfix 003 do Service Pack 1 da versão 7.7.1, o Robô de Reprocessamento de Notas foi adaptado para ordenar a execução das pendências das notas, independentemente das datas das notas, conforme ações a seguir:

1º Cancelamento

2º Inutilização

3º Contingência

4º Rejeição

EXEMPLO:

Loja A - 4 notas pendentes:

Nota 001 - Rejeição.

Nota 002 - Contingência

Nota 003 - Inutilizada

Nota 004 - Cancelada

Com a nova funcionalidade o Robô executará as pendências na seguinte ordem: Nota 004, Nota 003, Nota 002 e Nota 001.


Aviso


Após interrupção do ciclo de reprocessamento, seja por exceder o tempo configurado em parâmetro ou por falta de comunicação com o MID-e, um novo ciclo é iniciado após 25 minutos, com retorno do reprocessamento das notas pendentes.


Para o correto funcionamento do Robô de reprocessamento de notas fiscais, é necessário que a Collation da instância do SQL e do banco de dados estejam devidamente corretas.

Configurações

1.A collation deve estar como LATIN1_GENERAL_CI_AS, pois qualquer valor diferente disso, o robô de notas não funcionará na loja.

 


2. É necessário que o idioma do SQL esteja em inglês US_ENGLISH. Para validar o idioma execute o seguinte comando no SQL: SELECT @@LANGUAGE@@LANGID. 

O resultado dessa consulta deve ser conforme a imagem:


3. Caso o resultado da consulta for diferente de “US_ENGLISH”, será necessário executar os comandos para realizar a alteração.

a.  Execute o comando EXEC SP_CONFIGURE 'DEFAULT LANGUAGE', 0

b.  Execute o comando RECONFIGURE

c.  Execute o comando EXEC SP_DEFAULTLANGUAGE 'SA', 'US_ENGLISH'

Importante

O comando executado no passo ‘C’, deve ser aplicado para o usuário ‘SA’ e também para todos os demais usuários do banco de dados que, eventualmente tenham sido criados para que o LinxPOS faça o login na base de dados.

4. Reinicie a instância do SQL por meio do próprio SQL Management Studio, conforme exemplo:


5. Após reiniciar a instância, execute novamente o comando: SELECT @@LANGUAGE@@LANGID. O resultado dessa consulta deve ser US_ENGLISH.

Prossiga com os procedimentos seguintes.


6. O Linx POS Manager deve ser executado como Administrador, para que sejam registradas as DLLs: LINX.NFCE.FOXPRO.DLL e LINX.PROCESSAR.NOTAS.DLL

Nota

Este procedimento deve ser efetuado para todos os terminais da Loja.


7. Após a instalação, é necessário validar se o robô de reprocessamento de notas está ativo; para isso siga os próximos passos.

8. Com o LinxPOS ou LinxPOS Manager aberto, acesse o REGEDIT.

9. Acesse a chave HKEY_CURRENT_USER\Software\Linx Sistemas\LinxPOS\LinxProcessInvoice. 

Nela existem dois valores que devem ser verificados:


  • DllRegistrada: Verifica se a LINX.PROCESSAR.NOTAS.DLL está no ou não registrada no sistema. Essa dll é reponsável pelo processamento das notas.
    A coluna Dados deve conter o valor T, para que o robô de reprocessamento de notas funcione.

  • ServicoAtivo: Quando o LinxPOS ou o LinxPOS Manager estão abertos, a coluna Dados deve estar preencida com o valor T, assim sinalizando que o robô de reprocessamento de notas está ativo.


10. Abra o LinxPOS ou o LinxPOS Manager, e na sequência, acesse a pasta %TEMP%.


11. Verifique se o sistema criou de forma automática o arquivo chamado dadosComunicacaoMid_20171106.txt.

12. No diretório de instalação, também verifique se o sistema criou de forma automática o arquivo chamado LinxProcessarNotasLog_20170217.txt.

Exemplo: C:\Program Files (x86)\Linx Sistemas\LinxPOS\Log\RoboProcessamentoNotas\LinxProcessarNotasLog_20170217.txt

Nota

O arquivo dadosComunicacaoMid só será criado para lojas que utilizam SAT ou NFC-e.

Caso a loja emita só NF-e, só será criado o arquivo de log chamado LinxProcessarNotasLog


13.Dentro do arquivo LinxProcessarNotasLog_20171106.txt deve existir uma linha para cada sistema que tenha sido aberto, ou seja, se abrir o LinxPOS e o LinxPOS Manager existirão duas linhas variando apenas o horário de cada uma delas. 

“99/99/9999 99:99:99: Método: IniciarCiclo. Mensagem de log: O Robo de reprocessamento de notas foi iniciado.”

14.Para cada dia em que o Linx for executado, um novo arquivo é criado dentro da pasta de instalação do Linx POS, mudando apenas a data no final do nome do arquivo.

                Exemplo: C:\Program Files (x86)\Linx Sistemas\LinxPOS\Log\RoboProcessamentoNotas\LinxProcessarNotasLog20171106.txt

15.Quando o robô entra no ciclo de 25 minutos e houver uma NFC-e a ser tratada pelo robô, o sistema usa o MID-e Client para aprovação dos documentos, neste momento será criado na mesma pasta %TEMP% um arquivo chamado dadosComunicacaoMid_xxxxxxxx.txt.

Nota

Quando houver mais de um terminal com o MID-e Client instalado em cada terminal, o robô de reprocessamento só vai processar os documentos que estiverem no banco de dados local do terminal do MID-e.

16. Ao abrir o arquivo LinxProcessarNotasLog_20171106.txt, é possível constatar que ele registra o horário em que o sistema foi aberto, e partir deste horário, inicia-se uma contagem de 25 minutos.

17. Após os 25 minutos da abertura ou fechamento de qualquer um dos sistemas, Linx POS ou Linx POS Manager, começa o reprocessamento das notas de forma automática e, cada nota reprocessada pelo robô, consta neste mesmo arquivo.

A partir do Hotfix 003 do Service Pack 1 da versão 7.7.1 do Linx POS, foi implementado um login no LOGREADER, a fim de gravar a inicialização do Robô de Reprocessamento de Notas.

Para executá-lo, basta acessá-lo em: C:\Program Files (x86)\Linx Sistemas\LinxPOS\Log\LP201909-NOMEDOCOMPUTADOR.LLF


Objetos e componentes

Descrição

Linx.Processar.Notas.dll.config

Contém configurações padrão para o reprocessamento automático, como:

- Intervalo de reprocessamento. Valor padrão: 25 minutos.

- Quantidade de dias a contar da emissão da nota que será considerado para a busca de notas pendentes.

- Parâmetros necessários ao processamento da NF-e e NFC-e.

- Endereço de consulta da NF-e.

Linx.Processar.Notas.dll

Componente responsável pelo reprocessamento das notas de modelo 55 e 65 pendentes no banco.

O processamento será efetuado automaticamente a cada 25 minutos, conforme configurações padrão acima.

Acessa a procedure LX_CONSULTA_NFS_PENDENTES

LX_CONSULTA_NFS_PENDENTES

LX_PROCESSAMENTO_RETORNO_NFE_SEFAZ (gravar o log do processamento)

Procedures de consulta das situações de NFC-e e NF-e que alimentam a tabela LX_NFS_PENDENTES

LX_NFS_PENDENTES

Conterá as notas fiscais que foram emitidas nos últimos 40 dias cujo campo STATUS_NFE da tabela LOJA_NOTA_FISCAL seja diferente de 5, 49, 59 e 70.


  • Implementação do parâmetro TEMPO_MAXIMO_PROC_ROBO para indicar o tempo máximo para processamento de notas pendentes, que inicialmente deve ser igual a 1 minuto.
  • Ao tratar a fila de notas pendentes, o robô deve respeitar o tempo configurado, sempre verificando se ele expirou, antes de iniciar o tratamento de uma nova nota.
  • A cada 3 tentativas seguidas de tratamento de notas, sem comunicação com o MID-e/SEFAZ, interromper o ciclo de processamento.

    CONFIGURAÇÕES


    PARÂMETRO     Tempo MáximoDESCRIÇÃO

    TEMPO_MAXIMO_PROC_ROBO

    Minutos

    O tempo informado vai indicar o tempo máximo para o processamento de notas pendentes.

    OBS: Configurável via Linx POS Manager » Configurações » MID-e Client » Robô de Processamento
              A configuração pode variar de acordo com cada loja, com possibilidade de alteração em loja.


Logs criados para auxiliar na validação dos novos tratamentos:

  • Método: IniciarCiclo. Mensagem : O Robo de reprocessamento de notas foi iniciado;
  • Método: ReprocessarNotas. Mensagem : Um novo ciclo de processamento do robô foi iniciado;
  • Método: ReprocessarNotas. Mensagem : O ciclo do robô foi interrompido pois passou o tempo limite de processamento;
  • Método: ReprocessarNotas. Mensagem : O ciclo do robô foi interrompido, porque o robô não se comunicou com o MID ou Sefaz

Aviso


Após interrupção do ciclo de reprocessamento, seja por exceder o tempo configurado em parâmetro ou por falta de comunicação com o MID-e, um novo ciclo é iniciado após 25 minutos, com retorno do reprocessamento das notas pendentes.


Melhorias:

  • Web Service (INTERFACE_NFE = 2): Tratamento de cancelamento e inutilização;
    Status_nfe = 1, 42 e 52 serão considerados como pendencias para o robô de processamento

  • Fiscal Flow (MID-e - INTERFACE_NFE = 4): Tratamento por enquanto somente de cancelamento;

✔️ FISCAL FLOW

O robô de processamento está compatível para utilização via Fiscal Flow, mediante configuração, que possibilita o tratamento de notas fiscais eletrônicas (NF-e)

#DicaLinx

Foi publicado, no nosso canal do #DicaLinx, três vídeos que abordam o Robô de Reprocessamento de Notas do LinxPOS.

Neles são abordados os seguintes temas: 

  • Introdução:

https://youtu.be/To8orqt3UFU

  •  Configuração:

https://youtu.be/6M95EMD5evg

  •  Utilização:

https://youtu.be/s2I8wdBtNkY