Private Finanzen / Automatisierung

Household Finance

Eine selbst gehostete Anwendung, die hochgeladene Kontoauszüge in ein geprüftes Transaktionsbuch überführt, eingehende Finanzdokumente nach ihrem Zweck ordnet und fehlende Auszugsperioden hervorhebt — ohne unsere Finanzhistorie an eine fremde Cloud zu senden.

← Zurück zu den Projekten

Warum ich es entwickelt habe

Ich wollte eine gemeinsame Übersicht über private und geschäftliche Konten bei mehreren Banken, wobei jedes Konto eindeutig erkennbar bleibt. Ausserdem wollte ich nicht länger raten müssen, ob alle Auszüge hochgeladen waren — oder mit Tabellen arbeiten, die für fehlende Monate stillschweigend Nullen einsetzen.

Was die Anwendung heute leistet

Kontoauszüge werden hochgeladen, bankspezifische Layouts verarbeitet und Anfangs- und Endsalden sowie Transaktionssummen geprüft, bevor Daten in das Haushaltsbuch übernommen werden. Fehler gelangen zur manuellen Prüfung.

Danach lassen sich Transaktionen zusammen mit dem Original-PDF als Nachweis durchsuchen, Ausgaben regelbasiert kategorisieren (manuelle Korrekturen bleiben bestehen), Überträge zwischen eigenen Konten ausschliessen, Einnahmen und Kosten Liegenschaften zuordnen, Steuerbescheinigungen und Bankschreiben vom Haushaltsbuch fernhalten sowie CSV-Dateien exportieren. Währungen bleiben getrennt.

Derzeit werden Yuh, UBS (einschliesslich gescannter Seiten mittels OCR) und Santander UK unterstützt. Die Rollen Partner und Accountant begrenzen den Zugriff.

Wo ich KI eingesetzt habe — und wo nicht

Die Layouts von Kontoauszügen sind vorhersehbar, deshalb habe ich dafür reguläre Parser im Code geschrieben. Gescannte UBS-PDFs benötigen OCR (Tesseract) — das ist ein Werkzeug, kein Chat-Prompt. Ich verwende kein LLM, um Salden zu erfinden: Fehlgeschlagene Prüfungen bleiben zur Kontrolle vorgemerkt, bis ich sie freigebe oder ablehne. KI hat mich beim Aufbau und bei der Weiterentwicklung der Anwendung unterstützt; unser Haushaltsbuch darf sie nicht umschreiben.

Funktionen

Ausgabenanalyse

Ein- und Ausgänge pro Monat und Währung — nie zu irreführenden Gesamtsummen vermischt. Fehlt für einen Monat der Kontoauszug, bleibt der Wert leer, statt eine falsche Null anzuzeigen; auch Durchschnittswerte überspringen diese Lücke. Kategorien entstehen aus expliziten Regeln. Überträge zwischen eigenen Konten bleiben aus der Ausgabenanalyse ausgeschlossen.

Ausgabenansicht der Household Finance-Analyse mit monatlichem Diagramm der Ein- und Ausgänge (Beispielwerte)
Trends: monatliche Ein- und Ausgänge (Beispielwerte)

Schreiben oder Kontoauszug

Eingehende Dokumente werden nach ihrem Zweck klassifiziert. Bankschreiben und Mitteilungen werden als Korrespondenz unter Mail abgelegt, nicht als Buchungsdaten. Steuerbescheinigungen, Zinsübersichten und ähnliche Dateien bleiben Nachweise — lesbar und mit dem Original-PDF verknüpft, aber nie in Transaktionen umgewandelt.

Mail-Ansicht von Household Finance mit Bankschreiben, Daten, extrahierten Zusammenfassungen und Dateinamen der Quell-PDFs
Mail: nützlich zum Nachlesen, aber nicht Teil der Ausgabensummen

Fehlende Kontoauszugsperioden

Das Abdeckungsraster zeigt, welche Auszugsperioden vorhanden sind und welche noch bei der Bank angefordert werden müssen. Grün bedeutet, dass ein Auszug vorhanden ist; Rot kennzeichnet eine Lücke. Konnte OCR eine Datei nicht zuverlässig lesen, markiere ich sie zur Prüfung — das PDF zu besitzen, bedeutet nicht automatisch, den Zahlen zu vertrauen.

Abdeckungsraster der Household Finance-Dokumentbibliothek mit grünen vorhandenen und roten fehlenden Monaten
Abdeckungsraster mit Prüfhinweisen für unklare Erkennungen

Liegenschaften & Steuerabzüge

Wo es relevant ist, lassen sich Einnahmen und Ausgaben einzelnen Liegenschaften zuordnen — ohne Hypothek, Steuern und Gebühren in einer unscharfen Kategorie «Wohnen» zusammenzufassen. Steuerabzugsfähige Beträge entsprechen ausschliesslich den tatsächlich geltend gemachten Beträgen; sie werden nie aus einer Kategoriebezeichnung abgeleitet.

Wie ich die Anwendung weiterentwickeln möchte

Diese Ideen sind geplant oder für später denkbar — heute bestehen sie noch nicht als Funktionen.

Langfristig soll Household Finance mehr unserer eingehenden Haushaltspost automatisch verarbeiten: Steuerdokumente ablegen, irrelevante Korrespondenz ignorieren, nützliche Informationen extrahieren und schliesslich bei Aufgaben wie Terminvereinbarungen helfen. Später könnten verständliche Erklärungen, Übersetzungen von DE nach EN und Hinweise zur Untersuchung von Ausgaben hinzukommen.

Das wären beratende oder administrative Hilfen. Das Haushaltsbuch selbst würde weiterhin auf deterministischer Verarbeitung und Validierung beruhen — nicht auf einem LLM, das Finanzdaten erfindet.

Architektur

Architekturübersicht von Household Finance Browser zur Next.js-Webanwendung, zu FastAPI und Worker-Diensten; PostgreSQL für geprüfte Daten, MinIO für Dokumente sowie OCR und Parser im Worker-Pfad. Web UI API Worker PostgreSQL MinIO OCR / Parser
Läuft zu Hause mit Docker Compose. Privates Repository — kein öffentlicher Demo-Link.
  • PostgreSQL speichert geprüfte Transaktionen; Original-PDFs bleiben als unveränderliche Nachweise in MinIO.
  • Ablauf: hochladen → extrahieren → klassifizieren → verarbeiten → Salden/Summen validieren → bei erfolgreichen Prüfungen automatisch freigeben oder prüfen → freigeben / ablehnen / ersetzen.

Technologie

  • Docker Compose
  • Next.js
  • FastAPI
  • PostgreSQL
  • MinIO
  • Tesseract OCR
  • JWT-Authentifizierung / Rollen