u/Beligerant_Rant

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.

reddit.com
u/Beligerant_Rant — 12 days ago