Árvore de páginas


01. DADOS GERAIS

Produto:TOTVS Varejo Franquias e Redes
Linha de Produto:

 Franquias e Redes

Segmento:

Varejo 

Módulo:PDV OMNISHOP - DESK
Função:INTEGRAÇÃO FISCAL
Ticket:000000
Requisito/Story/Issue (informe o requisito relacionado) :DVARLIVEPDV-39656


02. 
SITUAÇÃO/REQUISITO

O PDV Omni permitiu que em lojas que utilizam o modelo fiscal NFCe/NFe e o emissor PDV Omni realizassem vendas com o certificado vencido.

A atualização da propriedade que verifica se o certificado é valido ou não é atualizada na abertura do PDV e também ao carregar a tela de configuração da loja. Porém, a loja que realizou a venda não havia fechado o PDV e também não chegou a entrar na tela de configuração, com isso a propriedade que verifica o certificado ficou com o status do dia anterior, quando ainda era valido, deixando o usuário realizar vendas em contingência. Porém ao tentar autorizar a nota foi recebida a rejeição 291 - Certificado Assinatura Data Validade.

Mesmo após alterar o certificado por um arquivo válido, não foi possível autorizar a nota, pois a XML da venda já havia sido assinada com o certificado vencido. O PDV tentou autorizar a venda diversas vezes e em todas recebeu a rejeição 291 devido a assinatura.

03. SOLUÇÃO

Como solução do problema realizamos as seguinte alterações

  • Criação de um JOB que será executado a cada 3h, responsável por atualizar a propriedade de validação do certificado diversas vezes ao dia. Retirando a necessidade de fechamento do sistema ou de acesso a tela de configuração do PDV.
  • Reassinar o arquivo antes de tentar autoriza-lo.
    • No fluxo de tratar notas emitidas em contingência iremos reassinar o arquivo, ou seja, apesar da XML já estar assinada com os dados do momento da venda iremos coletar novamente os dados atualizados do certificado e reassinar o arquivo, para casos onde o certificado seja alterado após a emissão da nota garantirmos que a assinatura estará com as novas informações.
  • Retirar da fila de tratativa vendas que tenham recebido uma rejeição diferente das conhecidas.
    • No momento que iremos autorizar as notas emitidas em contingência, caso a nota receba uma rejeição diferente da rejeição 204 ou 539, iremos retira-la da fila de autorização. Com isso, caso a nota receba uma rejeição não tratada não iremos forçar a tentativa de autorização que não será resolvida, consumindo o serviço da SEFAZ desnecessariamente. Será alterada a coluna pendente_tratativa_contingencia para false.

Para melhor analise futura, caso necessário, adicionamos também no JOB que será executado o LOG da informação recebida.

As informações serão gravadas no log C:TOTVSPDVLogsTOTVS.Omnishop.API.Module.HangfireJobs.Models.ScheduledJob.log e haverá uma informação como o exemplo: VerificaValidadeCertificadoEmissorScheduledJob: Arquivo: C:TOTVSPDVResourcesCertificadoNfce.pfx Data de expiração: 22/08/2025 09:37:29 Valido: True

04. DEMAIS INFORMAÇÕES

https://tdn.totvs.com/display/TVPO/DT+DVARLIVEPDV-26600+DT+Bloquear+PDV+quando+certificado+estiver+expirado

05. ASSUNTOS RELACIONADOS

        Não se aplica

06. ANÁLISE DE IMPACTO

  • Emissão de venda
  • Navegação de telas com certificado vencido
  • Serviços do hangfire

07. VERSÃO

PRODUTO

VERSÃO

TOTVS PDV Omni3.8.170.0