Como automatizar conciliação financeira com Python e PDF

Passo a passo técnico para extrair dados de PDFs bancários, cruzar com planilhas Excel e gerar relatórios de conciliação automaticamente.

pythonautomaçãopdfexcelconciliação financeira

O problema: horas perdidas cruzando dados

Empresas que lidam com alto volume de transações enfrentam o mesmo gargalo toda semana: uma pessoa abre PDFs de extratos bancários, copia valores para uma planilha, cruza com o sistema interno e passa horas procurando divergências. É um trabalho repetitivo, propenso a erro humano e que não gera nenhum valor estratégico.

A abordagem técnica

A solução usa três componentes principais:

  1. pdfplumber para extrair tabelas de PDFs bancários com precisão, incluindo PDFs com layouts variáveis entre bancos
  2. openpyxl para ler e escrever planilhas Excel, mantendo formatação existente
  3. Lógica de conciliação em Python puro, com regras configuráveis por tipo de transação

Lidando com variação de layout nos PDFs

O maior desafio não é a extração em si — é a inconsistência. O mesmo banco muda o layout do extrato dependendo do período, do tipo de conta ou da agência. A solução: identificar cabeçalhos de tabela dinamicamente em vez de usar coordenadas fixas, e ter fallbacks para os padrões mais comuns.

import pdfplumber

def extract_transactions(pdf_path: str) -> list[dict]:
    transactions = []
    with pdfplumber.open(pdf_path) as pdf:
        for page in pdf.pages:
            tables = page.extract_tables()
            for table in tables:
                if is_transaction_table(table):
                    transactions.extend(parse_table(table))
    return transactions

O resultado

O processo que levava 3 a 4 horas por semana passou a levar menos de 5 minutos. O sistema roda localmente, sem dependência de cloud, e gera um relatório Excel com divergências destacadas e campo de observação para o analista.

Na Chiarelli Labs

Esse é o tipo de automação que está no nosso Track 1: processo repetitivo, bem delimitado, entregável em 2 a 4 semanas. Se você tem um processo parecido, fale com a gente.

Tem ideia validada, processo pra automatizar ou produto pra construir?

Enviar meu projeto