🔧 ação corretiva · 4 etapas progressivas · 2026-06-19 21:43

Ação corretiva — como dar baixa nos 5 meses em aberto

Plano em 4 etapas, da mais prioritária (não-técnica) pra mais invasiva. Mudança em relação à versão 19/06 manhã: a Etapa 1 agora é confirmar com o cliente, não re-rodar ETL — porque a análise atualizada (16 meses) provou que o planum e o .85 estão 100% sincronizados e o ETL não é o gargalo. As SQLs abaixo são SUGESTÕES — não foram executadas em produção.

Nesta página

TL;DR — comece pela Etapa 1

Antes de qualquer SQL, ligar/mandar e-mail pro cliente pedindo os PDFs de 11/2025 a 03/2026 com numero_guia, data_pagamento, valor e o banco. Sem esses dados, qualquer ação técnica é cega. Se o cliente apresentar numero_guia que não está em pgdas.pgdasguias nem no .85 nem no planum, é forte sinal de "DAS emitida fora do sistema" (a frase dele).

Mudança de premissa (2026-06-19 21:43): a versão anterior desta página listava 3 causas prováveis (ETL não rodou, CNPJ fora do recorte, filtro de data). A análise atualizada invalida as 3 — o ETL rodou (prova: 10 DAS replicadas), o CNPJ está no recorte (improvável dado o exposto), e o filtro de data não bloqueia nada de 2025 em diante. A causa-raiz agora é upstream.

Etapa 1 · confirmar com o cliente (PRIORITÁRIO, não-técnico)

Antes de tocar em banco, pegar do cliente os 5 PDFs que faltam (11/2025 a 03/2026). Pra cada PDF, confirmar:

  1. numero_guia da DAS (16 dígitos, começa com 72).
  2. data_pagamento (data em que ele pagou no banco).
  3. valor exato pago.
  4. banco/agência onde pagou.
  5. comprovante (autenticação bancária ou print do app do banco).

Com esses dados, ir pra Etapa 3 e procurar o numero_guia no .85. Se aparecer, a Etapa 2 (re-rodar ETL) traz pro planum. Se não aparecer, é a hipótese "DAS emitida fora do sistema" — o pagamento pode estar em outro schema (ex.: dividaativadebitossset, parcelamento antigo, ou boleto avulso).

💡
Sobre a 04/2026: ainda não transmitida — comportamento normal (transmissão esperada só ~05/2026, após o fim do mês). Não é débito. Se o cliente pagou antecipado, é caso de estorno — mas improvável.

Etapa 2 · re-rodar o ETL (não deve resolver)

Mesmo com a análise indicando que o ETL não é o gargalo, vale executar por garantia — custa ~17min e mostra evidência ao cliente que a sincronização está feita.

Onde: servidor srv-app (177.136.247.255), banco auditoria, schema pgdas_local. Conexão: psql -h sp1-sd-taxtecnologia-1 -U auditoria_user -d auditoria.

-- NÃO EXECUTAR — submeter pra aprovação do gestor + DBA.
-- Pré-requisito: o pagamento precisa existir em pgdas.pagamentosset (srv .85).
-- Pra este CNPJ, NÃO existe → essa chamada não traz nada novo.

SELECT pgdas_local.carregar_pagamentos();

Provável resultado: 0 linhas afetadas para o CNPJ 59048820000104, porque não há pagamento novo no .85 que não esteja no planum. Mas rodar confirma a hipótese.

Etapa 3 · investigar no PGDAS nacional (.85) — READ-ONLY

Antes de qualquer INSERT manual, esgotar a busca no `.85` com queries READ-ONLY. Se aparecer o numero_guia que o cliente apresentou, a Etapa 2 resolve.

-- NÃO EXECUTAR com modificações — só rodar como SELECT. READ-ONLY.

-- 1) Há pagamento de 11/2025 em algum pagset (mesmo sem fkpgdascontribuinte setado)?
SELECT * FROM pgdas.pagamentosset p
WHERE p.cnpj = '59048820000104'
  AND p.data_pagamento BETWEEN '2025-11-01' AND '2025-12-31';

-- 2) Há DAS gerada para o CNPJ em algum pagset sem fkpgdascontribuinte?
SELECT * FROM pgdas.pgdasguias g
WHERE g.fkpgdascontribuinte IN (SELECT id FROM pgdas.pgdascontribuinteset WHERE cnpj = '59048820000104')
  AND g.data_vencimento >= '2025-11-01';

-- 3) O CNPJ está no recorte municipal (CNPJMUNICIPIOSET)?
SELECT * FROM pgdas.cnpjmunicipioset WHERE cnpj = '59048820000104';

-- 4) Há pagamentos órfãos (sem DAS correspondente) para o CNPJ?
SELECT p.* FROM pgdas.pagamentosset p
LEFT JOIN pgdas.pgdasguias g ON g.numero_guia::text = p.numero_guia::text
WHERE p.cnpj = '59048820000104' AND g.id IS NULL;

Etapa 4 · INSERT manual (último recurso)

Se a Etapa 3 mostrar que há DAS no `.85` mas ela não foi replicada pro planum, ou se o cliente apresentar um numero_guia que está no `.85` mas sumiu do planum, o caminho é o INSERT manual:

-- NÃO EXECUTAR — submeter pra aprovação do gestor + DBA.
-- Antes: conferir o número_guia e valor exato no PDF do cliente.

BEGIN;

-- 1) Garantir pagset (cabeçalho do lote) — necessário por causa da FK fkpag.
INSERT INTO pgdas_local.pagset (id, data_inicial, data_final, ultimautilizacao_dataalteracao, tipo)
SELECT COALESCE(MAX(id),0)+1, '2025-11-01'::date, '2025-11-30'::date, NOW(), 'SIMPLES NACIONAL'
FROM pgdas_local.pagset
ON CONFLICT (id) DO NOTHING;

-- 2) Inserir o pagamento do DAS em aberto (preencher com dados do PDF).
INSERT INTO pgdas_local.pagamentosset
  (numero_guia, data_pagamento, codigo_banco, codigo_agencia, numero_remessa,
   numero_daf607, valor_guia, fkpag, cnpj)
VALUES
  (-- numero_guia DO PDF -->,
   -- data_pagamento DO PDF -->,
   -- codigo_banco DO PDF -->,
   -- codigo_agencia DO PDF -->,
   -- numero_remessa DO PDF -->,
   -- numero_daf607 DO PDF -->,
   -- valor_guia DO PDF -->,
   -- fkpag = id do pagset acima -->,
   '59048820000104');

-- 3) Forçar a baixa via função canônica.
SELECT pgdas_local.simples_baixar_guia_2(-- numero_guia -->);

-- 4) Reforçar quitada=t para as 5 competências em aberto (redundante com passo 3).
UPDATE pgdas_local.pgdascontribuinteset
   SET quitada = 't'
 WHERE cnpj = '59048820000104'
   AND periodoapuracao IN ('11/2025', '12/2025', '01/2026', '02/2026', '03/2026');

COMMIT;
🔴
Não execute este bloco sem antes:
  1. Conferir os valores dos PDFs do cliente (especialmente numero_guia e valor_guia)
  2. Fazer pg_dump (ou pg_dump --data-only --table=pgdas_local.pagamentosset --table=pgdas_local.pgdasmunicipioset --table=pgdas_local.pgdascontribuinteset --table=pgdas_local.pgdasguias) e guardar o dump
  3. Ter aprovação formal do gestor por escrito (ticket / e-mail)
  4. Testar primeiro em homolog (banco homologacao_fiscal ou similar)
acao.html · Função: pgdas_local.carregar_pagamentos · pgdas_local.simples_baixar_guia_2 · SQLs acima são SUGESTÃO — não foram executadas em produção.