Base de conhecimento
Encontre respostas para suas dúvidas em quatro fontes de conhecimento diferentes ao mesmo tempo, simplificando o processo de pesquisa.

Varejo Supermercados - DFE - Emissão de cupom - Como corrigir valor de base ou imposto do CBS/IBS negativo (Inconsistência 301) via banco de dados

time.png Tempo aproximado para leitura: 00:05:00 min

Dúvida
Como reprocessar documentos fiscais com inconsistência de valor de base ou imposto do CBS/IBS negativos (seqinconsist = 301) e integrá-los novamente ao ERP através do PL/SQL Developer?

Ambiente
Monitor de PDVs - Aplicável para todas as versões.
 

Solução
 

💡 IMPORTANTE:

A versão de PDV/Monitor com correção para estancar a situação foi liberada em 26.9.0.2, sendo necessária a atualização para solucionar definitivamente e não gerar novos casos.

Este procedimento envolve manipulação direta de dados nas tabelas operacionais do sistema. Deve ser executado exclusivamente pelo DBA ou pela equipe de TI/Suporte Técnico da empresa, preferencialmente fora do horário de pico. Recomenda-se realizar backup das tabelas envolvidas antes da execução.

 

Passo a passo para execução via PL/SQL

  1. Abra o PL/SQL Developer.
     

  2. Conecte-se na base de dados com um usuário que possua permissões de leitura/escrita nos schemas CONSINCOMONITOR e CONSINCO (ou utilize o usuário padrão da aplicação/DBA).
     

  3. Abra uma nova janela de comando SQL (SQL Window).
     

  4. Copie e cole o script abaixo:

SQL:

begin
  for t in (select a.*, c.nronotafiscal, c.seriedocto
              from consincomonitor.tb_docto a,
                   consincomonitor.tb_doctonfe b,
                   consincomonitor.tb_doctocupom c
             where b.nroempresa = a.nroempresa
               and b.nrocheckout = a.nrocheckout
               and b.seqdocto = a.seqdocto
               and b.nroempresa = c.nroempresa
               and b.nrocheckout = c.nrocheckout
               and b.seqdocto = c.seqdocto
               and c.status = 'V'
               and exists (select 1
                             from consinco.rf_auxnotamestr d,
                                  consinco.rf_inconsistenc e
                            where d.seqnota = e.seqnota
                              and d.nroempresa = c.nroempresa
                              and d.nrocheckout = c.nrocheckout
                              and d.nronota = c.nronotafiscal
                              and d.serie = c.seriedocto
                              and e.seqinconsist in (301))
               ) loop
       
    -- 1. Zera bases ou valores de impostos negativos no monitor
    update consincomonitor.tb_doctotributacaoitem b1
       set b1.vlrbase = case when b1.vlrbase < 0 then 0 else b1.vlrbase end,
           b1.vlrimpostointegral = case when b1.vlrimpostointegral < 0 then 0 else b1.vlrimpostointegral end
     where b1.nroempresa = t.nroempresa
       and b1.nrocheckout = t.nrocheckout
       and b1.seqdocto = t.seqdocto
       and (b1.vlrbase < 0 or b1.vlrimpostointegral < 0);

    -- 2. Altera o status de replicação do documento para 'P' (Pendente)
    update consincomonitor.tb_docto d1
       set d1.replicacao = 'P'
     where d1.nroempresa = t.nroempresa
       and d1.nrocheckout = t.nrocheckout
       and d1.seqdocto = t.seqdocto;
       
    -- 3. Remove itens fiscais gravados no ERP para o documento
    delete from consinco.mfl_dfitem e2
     where e2.nroempresa = t.nroempresa
       and e2.dtamovtoitem = t.dtamovimento
       and e2.numerodf = t.nronotafiscal
       and e2.seriedf = t.seriedocto;
  
    -- 4. Ajusta o status de integração fiscal para reprocessamento ('I')
    update consinco.mrl_intdoctofiscal b1
       set b1.indexportacao = 'I'
     where (b1.nroempresa, b1.seriedf, b1.numerodf, b1.seqintdoctofiscal) in (
        select b.nroempresa,
               b.seriedf,
               b.numerodf,
               max(b.seqintdoctofiscal)
          from consinco.mfl_doctofiscal a,
               consinco.mrl_intdoctofiscal b
         where a.nroempresa = b.nroempresa
           and a.seriedf = b.seriedf
           and a.numerodf = b.numerodf
           and a.dtamovimento = t.dtamovimento
           and a.nroempresa = t.nroempresa
           and a.seriedf = t.seriedocto
           and a.numerodf = t.nronotafiscal
         group by b.nroempresa, b.seriedf, b.numerodf
     );
       
    -- 5. Exclui o registro de cupom fiscal em duplicidade/inconsistente
    delete from consinco.mfl_cupomfiscal f1
     where f1.nroempresa = t.nroempresa
       and f1.nrocheckout = t.nrocheckout
       and f1.dtamovimento = t.dtamovimento
       and f1.numeronf = t.nronotafiscal
       and f1.serienf = t.seriedocto;
       
    -- 6. Exclui itens e mestre da área temporária de consistência fiscal
    delete from consinco.rf_auxnotaitem w2
     where exists (select 1 
                     from consinco.rf_auxnotamestr x1
                    where w2.seqnota = x1.seqnota
                      and x1.nroempresa = t.nroempresa
                      and x1.nrocheckout = t.nrocheckout
                      and x1.nronota = t.nronotafiscal
                      and x1.serie = t.seriedocto);

    delete from consinco.rf_auxnotamestr w1
     where w1.nroempresa = t.nroempresa
       and w1.nrocheckout = t.nrocheckout
       and w1.nronota = t.nronotafiscal
       and w1.serie = t.seriedocto;
    
    -- 7. Executa a procedure para reexportar a movimentação corrigida
    consincomonitor.pkg_movimentomonitor.sp_exportarmovimento(t.dtamovimento, t.nroempresa, t.nrocheckout, t.seqdocto);
    
    commit;

  end loop;
end;
/
 
  1. Execute o script pressionando F8 (ou clicando no botão Execute).
     

  2. Após o término da execução, valide se a mensagem “PL/SQL procedure successfully completed” foi exibida.
     

  3. Acompanhe a integração no painel do Monitor / Na aplicação do Fiscal o documento pendenderá do JOB de integração da aplicação do Fiscal, essa rotina é executada automaticamente em banco de dados de 30 em 30 minutos, assim, poderá ter conferido os documentos integrados no Fiscal como esperado.

Esse artigo foi útil?
Usuários que acharam isso útil: 0 de 0

0 Comentários

Por favor, entre para comentar.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Preencha os campos abaixo para iniciar o atendimento:

Chat _