# Case Study: Actual Budget Sync & Report | tom.cool

> Eigen technische realisatie die bankexports opschoont, regelgestuurd categoriseert en verwerkt tot 50-30-20-budgetrapportages via Telegram.

Bron: [https://tom.cool/cases/actual-sync](https://tom.cool/cases/actual-sync)

Dit is de tekstweergave van de gepubliceerde pagina. Voor formulieren, configuratie, actuele beschikbaarheid en bestellen: open de bronpagina.

[Terug naar realisaties](https://tom.cool/cases)

- Oorspronkelijke transacties

**Bankexports**

Transacties komen samen in Actual Budget.

- Voorstellen blijven controleerbaar

**Opschonen & indelen**

Regels schonen namen op en stellen categorieën voor.

- Needs · Wants · Savings

**Rapporteren**

Het budgetoverzicht kan via Telegram worden gedeeld.

Onbekende of dubbelzinnige transacties blijven ter controle.

AI / Technische realisatie

## Automatisatie van Persoonlijke Financiën

Eigen technische realisatie voor het opschonen van bankexports, regelgestuurde categorievoorstellen en periodieke 50-30-20-budgetrapportages via Telegram.

[Ontdek het project](https://tom.cool/cases/actual-sync#hoofdstuk-1)  [Bespreek je vraag](https://tom.cool/#contact)

Projectgegevens

Projecttype

Eigen financiële automatisering

Status

Technische realisatie

Type

Financiële Pipeline

Technologie

Python, Telegram API

Rules

Categorievoorstellen

API

Actual Budget-koppeling

50-30-20

Directe budgetcontrole

Self-hosted

Eigen beheer

Achtergrond & Uitdaging

### Handmatig budgetteren is tijdrovend en foutgevoelig

Het handmatig exporteren, importeren en categoriseren van transacties in budgetbeheersoftware is een taak die vaak wordt uitgesteld. Zonder real-time updates verlies je snel het overzicht over vaste lasten, variabele uitgaven en spaardoelen.

De uitdaging was om een self-hosted oplossing te bouwen die transacties uit bankexports ophaalt, opschoont en op basis van expliciete regels een categorie voorstelt. De rapportage ondersteunt budgetcontrole; uitzonderingen en foutieve matches blijven mogelijk.

#### De Uitdagingen

- Vervuilde payee-namen in banktransacties (bijv. "Delhaize Schotenschoten")

- Complexe regels nodig om specifieke uitgaven goed in te delen

- Geen proactieve feedback waardoor budgetten verwateren

- Beperk welke financiële gegevens naar externe meldingskanalen gaan

#### De Oplossingen

- Fuzzy matching en regex-patronen voor payee-opschoning

- Automatische indeling in Needs, Wants en Savings via Python

- Geautomatiseerde Telegram-alerts en notificaties met alerts

- Lokale SQLite en API-integratie op een beheerde Proxmox-server

---

Architectuur & Functies

### Hoe de verwerkingstunnel is opgebouwd

Het systeem gebruikt de API van een self-hosted **Actual Budget**-server. Een cron-gebaseerde Pythonpipeline voert de verwerkingsstappen uit:

#### Transactie Opschoning

Fuzzy matching normaliseert varianten in payee-namen en stelt op basis van keywords een categorie voor. Niet-herkende of dubbelzinnige transacties vragen controle.

#### 50-30-20 Berekening

Transacties worden verdeeld in Needs (vaste lasten), Wants (vrije tijd) en Savings (beleggingen en spaargelden) om de procentuele verhouding te controleren.

#### Telegram Dispatcher

Rapporten kunnen periodiek worden geformatteerd en via een Telegrambot naar de ingestelde ontvangers worden gestuurd, inclusief signalen bij ingestelde budgetgrenzen.

**Ontwerpkeuze:** regels en fuzzy matching bereiden de categorisatie voor, terwijl herkomst, uitzonderingen en correcties zichtbaar blijven voor menselijke controle.

De Tech Stack

### Gebruikte technologieën

Python 3   Actual Budget API   SQLite / D1   Telegram Bot API   Docker & Cron

### Interesse in financiële of proces-automatisatie?

Van custom API-koppelingen tot geautomatiseerde rapportages via Telegram of e-mail — ik bouw betrouwbare pipelines op maat.

[Bespreek uw project](https://tom.cool/#contact)   [Bekijk andere cases](https://tom.cool/cases)
