Compliance Fiscal Automatizado
Prefeitura de Belo Horizonte
Solução de RPA desenvolvida em Python que automatiza a emissão de Certidões Negativas de Débito de 89 lojas, organiza os documentos, atualiza automaticamente a base de dados e alimenta um dashboard executivo em Power BI para monitoramento diário da regularidade fiscal.
O que esta automação faz?
Um pipeline autônomo que substitui horas de trabalho manual em compliance fiscal por um ciclo diário controlado por dashboard.
Emite automaticamente as CNDs de 89 lojas
Salva e organiza todos os PDFs
Extrai automaticamente os dados das certidões
Atualiza a planilha estruturada
Alimenta automaticamente o Power BI
Identifica imediatamente lojas com pendências fiscais
Um pipeline end-to-end de RPA + BI
O robô combina Web Scraping resiliente, ETL de PDFs e visualização executiva em Power BI. Cada etapa foi desenhada para rodar sem intervenção humana.
Fluxo do processo
- 1. RPA emite as CNDs
Playwright em modo stealth acessa o portal da PBH, digita cada CNPJ como humano e captura o PDF em popup.
- 2. PDFs salvos com padrão
Arquivos gravados como CND_LOJA{N}_{DATA}.pdf em pasta local, prontos para auditoria.
- 3. OCR/ETL dos PDFs
Script em pdfplumber varre a pasta, extrai status e CNPJ por âncora textual e limpa os dados.
- 4. Planilha atualizada
openpyxl grava LOJA, CIDADE, CNPJ, STATUS e DATA_ATUALIZACAO em memória, sem quebrar fórmulas.
- 5. Dashboard em Power BI
Planilha conectada ao Power BI gera cockpit diário de regularidade fiscal com alerta de positivas.
Stack técnica
- Python 3.x
- Playwright
- Pandas
- pdfplumber
- openpyxl
- Power BI
89 arquivos gravados por ciclo, prontos para auditoria fiscal.
Cockpit de regularidade fiscal em Power BI
A planilha alimentada pelo robô é conectada ao Power BI para gerar um painel diário de status das certidões, com destaque imediato para lojas em situação irregular.



Resultados da Automação
Impacto operacional entregue por ciclo do robô, medido diretamente no ambiente produtivo.
Do dado bruto à decisão fiscal
O robô entrega, todo dia, informação executiva pronta para a diretoria financeira agir.
Em 29/06/26, 2 de 89 lojas apresentaram certidão POSITIVA — risco fiscal imediato sinalizado pelo dashboard antes de qualquer processo administrativo.
41 lojas estão em 'Positiva com efeito Negativa': regularidade preservada, mas devem ser monitoradas para não migrarem para status crítico.
O processo, que consumia várias horas de trabalho manual por ciclo, passou a rodar em minutos e sem intervenção humana.
Execução resiliente: caso o portal instabilize, o status parcial é salvo na planilha e o robô retoma exatamente do ponto onde parou.
Regularidade fiscal em escala, sem trabalho manual
Emitir e conferir CNDs de dezenas de lojas em portais governamentais consome horas de trabalho e ainda deixa passar riscos fiscais. Este projeto elimina esse gargalo.
89 lojas exigindo CND recorrente em portais públicos.
Horas de trabalho manual por ciclo de conferência.
Certidões positivas passam despercebidas sem monitoramento.
reCAPTCHA v3 e layout volátil derrubavam scripts simples.
Arquivos soltos, sem padrão de nomenclatura nem rastreio.
Como garantir, todos os dias, que 89 lojas estão fiscalmente regulares sem depender de conferência manual?
Engenharia de RPA em ambiente hostil
O portal da PBH combina reCAPTCHA v3 Enterprise, layout dinâmico e detecção de webdriver. Cada barreira exigiu uma solução específica.
reCAPTCHA v3 Enterprise
Envios instantâneos disparavam biometria comportamental e travavam o portal com 'Captcha inválido'.
Digitação humana via eventos físicos (keyboard.down/up) com atrasos aleatórios e fatiamento do CNPJ em blocos de leitura.
Layout volátil da PBH
Campos opcionais (nome, e-mail, CPF) apareciam de forma inconsistente e quebravam seletores estáticos.
Seletor por âncora relativa em XPath: localiza o botão de pesquisa e navega para o input imediatamente anterior.
Detecção de webdriver
Servidores identificavam o navegador controlado por API e elevavam o score de risco.
Modo stealth injetando navigator.webdriver = undefined, window.chrome e languages 'pt-BR' antes de qualquer request.
Padrão de raspagem em lote
Loop contínuo de 89 requisições sequenciais chamava atenção do firewall.
Cool-down a cada 4 consultas: pausa aleatória de 40-70 segundos, fragmentando o padrão de tráfego.
Do portal público à decisão da diretoria
Cada etapa do pipeline foi construída para ser resiliente, auditável e fácil de operar.
- 1Levantamento
Mapeamento das 89 lojas, CNPJs e ciclos de emissão exigidos pelo compliance.
- 2Arquitetura
Definição do pipeline: RPA → PDFs → ETL → planilha → Power BI.
- 3Engenharia de evasão
Construção do modo stealth, digitação humana e seletores por âncora.
- 4ETL de PDFs
Extração dinâmica de status e CNPJ com pdfplumber e sanitização de dados.
- 5BI e alertas
Modelagem no Power BI com cards por status e destaque de positivas.