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.
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).
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:
- numero_guia da DAS (16 dígitos, começa com
72). - data_pagamento (data em que ele pagou no banco).
- valor exato pago.
- banco/agência onde pagou.
- 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).
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;
- Conferir os valores dos PDFs do cliente (especialmente
numero_guiaevalor_guia) - Fazer
pg_dump(oupg_dump --data-only --table=pgdas_local.pagamentosset --table=pgdas_local.pgdasmunicipioset --table=pgdas_local.pgdascontribuinteset --table=pgdas_local.pgdasguias) e guardar o dump - Ter aprovação formal do gestor por escrito (ticket / e-mail)
- Testar primeiro em homolog (banco
homologacao_fiscalou similar)
pgdas_local.carregar_pagamentos · pgdas_local.simples_baixar_guia_2
·
SQLs acima são SUGESTÃO — não foram executadas em produção.