Olá a todos,
Quero partilhar um projeto que tenho afinado para automatizar a atualização mensal das minhas finanças pessoais. Não sou programador de todo, e acho que é exatamente por isso que pode ser útil partilhar.
O ponto de partida
Como muita gente aqui, uso um ficheiro Excel para controlar tudo: despesas, receitas, investimentos, créditos, evolução do património. Funciona bem, mas todos os meses tinha de fazer o mesmo trabalho: descarregar extratos de vários bancos, copiar transações para o Excel, classificar cada despesa por categoria, atualizar cotações de mercado. Uma a duas horas perdidas, sempre iguais.
A ideia foi automatizar esse processo sem abandonar o Excel.
Como funciona
Com um único comando no computador, correm os seguintes passos por esta ordem:
| Passo | O que faz |
|---|---|
| 1. Atualização de mercado | Vai buscar cotações em tempo real: ouro, euro/dólar, euro/chf, ETFs, ações. Escreve diretamente nas células certas do Excel. |
| 2. Histórico de câmbios | Preenche os câmbios diários que estejam em falta na folha de histórico. |
| 3A. Banco A (X) | Lê o extrato exportado da conta do A e insere as transações novas no Excel. |
| 3B. Banco B (Y) | Mesmo processo para a conta da Joana, com corte de data independente. |
| 3C. CC VISA | Importa as transações do cartão de crédito VISA. |
| 3D. Banco B | Importa os movimentos da conta ABANCA, incluindo prestações do crédito habitação numa folha separada. |
| 3E. Banco C | Importa os movimentos da conta Revolut, apenas transações concluídas em euros. |
| 4. Classificação automática | Analisa a descrição de cada transação nova e atribui uma categoria: alimentação, casa, saúde, lazer, etc. O que não for reconhecido fica em branco para classificar à mão. |
No início de cada corrida é feito um backup automático do Excel. Se algo correr mal, há sempre um ponto de retorno.
Os scripts que resultam deste processo
No final ficamos com 9 ficheiros Python, cada um com uma responsabilidade clara:
| Ficheiro | Função |
|---|---|
| run_monthly.py | Orquestrador principal — corre todos os passos por ordem com um único comando |
| common.py | Utilitários partilhados: abrir/guardar o Excel, copiar formatação, logs, retries |
| update_overview.py | Passo 1 — cotações de mercado e câmbios |
| update_fx_history.py | Passo 2 — histórico diário de câmbios |
| import_bancoA.py | Passos 3A e 3B — importação Banco A (X e Y) |
| import_visa.py | Passo 3C — importação VISA |
| import_banco B.py | Passo 3D — importação Banco B |
| import_banco C.py | Passo 3E — importação Banco C |
| classify_transactions.py | Passo 4 — classificação automática de despesas |
As ferramentas
Para quem não é da área como eu: Python é uma linguagem de programação gratuita, muito usada para este tipo de automações. O Visual Studio Code é o editor onde se escreve e corre o código.
A parte que torna isto acessível a alguém sem grande experiência de programação é o Claude Code, uma extensão que integra a IA da Anthropic diretamente no editor. Em vez de escrever código do zero, descrevo o que quero que aconteça e o Claude escreve ou corrige. Eu revejo, aprovo, e o código fica meu. Para ter uma ideia de como a ferramenta funciona, este vídeo explica bem: https://www.youtube.com/watch?v=gHB4JFG9i3k&t=217s
O que continua manual
Os CSVs/XLSs orginais dos bancos porque nao dou acesso aos Claude. Mas apenas descarrego e não faço qualquer alteração, mesmo que venha num formato estranho. Algumas coisas ficam de fora da automação por opção: saldos de contas de investimento que precisam de login, e transações que precisam de contexto pessoal para ser bem categorizadas. A automação trata do volume repetitivo; as decisões ficam comigo.
Vale a pena?
Aprendi imenso só no processo o que já em si é um ganho enorme. Do ponto de vista prático, o que demorava uma a duas horas por mês passou a demorar menos de cinco minutos. Mas o ganho maior é a consistência: o processo corre sempre da mesma forma, sem depender do meu humor ou disponibilidade. E impressiona-me o muito baixo volume de erros, mesmo com pouco contexto.
Se tiverem curiosidade sobre alguma parte específica, como funciona a classificação de despesas, como se lida com múltiplas contas em moedas diferentes, ou simplesmente como começar algo parecido, força.