KYSA – Know Your Spendings

KYSA Icon

For English Version please click here!

Liebe Digital-Souveräne,

für alle die Interesse haben, ihre Kontobewegungen ein bisschen zu sortieren und im Blick zu halten, habe ich die Software KYSA (Know Your Spendings Application) in Python geschrieben. Das Programm ist Open Source und nutzt eine GTK-Nutzeroberfläche.
Mit KYSA könnt Ihr Eure Kontoumsätze (im csv oder xml-Format) verschiedener Banken ohne Nutzung der Dienste einer der großen Datenkraken auswerten. Für Windows und macOS gibt es eine ausführbare Exe- bzw. App-Datei:


Download KYSA

Hinweis zu den Downloads:
  • Nach dem Download müssen die Zip-Dateien entpackt werden
  • Nur bei Windows: Den Installer ausführen und KYSA an einen Ort der Wahl installieren. Danach das Programm ausführen
  • Nur bei Mac: Die KYSA.app-Datei ist nicht von Apple verifiziert und muss daher mit gedrückter Strg-Taste geöffnet werden.
  • Für Linux: (Ubuntu): Die Exe kann über das Terminal mit „./KYSA_vXXX“ gestartet werden.

Windows (Windows 8.1. und höher):

MacOS (Monterey und höher):

Ubuntu-Linux (Version 20.04 und höher):


Seit Version 5.01 gibt es eine ausführbare Ubuntu-Version. Leider habe ich es bisher nicht geschafft, eine plattformunabhängige Version für alle Linux-Distributionen (AppImage) zu erstellen. Der Quellcode funktioniert aber auf allen Systemen, sofern die notwendigen Pakete vorhanden sind. Wenn Ihr mich dabei oder generell bei der Weiterentwicklung von KYSA unterstützen wollt, findet Ihr weitere Informationen weiter unten. Beachtet bitte ebenso die Hinweise zur Nutzung und Einrichtung von KYSA am Ende der Seite.

Über KYSA

Zur Kontoauswertung mittels KYSA gebt Ihr Eure Umsätze ein, die Ihr aus dem Online-Banking als *.csv oder SEPA *.xml exportiert habt. Basierend auf Euren hinterlegten Kategorisierungsdefinitionen bekommt Ihr eine Auswertung der Umsätze nach verschiedenen Kategorien (mit Auslieferung von KYSA sind bereits einige Kategorien vordefiniert). Das Ergebnis kann sowohl als Excel als auch in verschiedenen Diagrammen ausgegeben werden (u.a. Boxplot, Torten- und Balkendiagramm).

Ab Version 4.04. können die Daten zudem interaktiv im separat zu startenden Dashboard dargestellt werden. Desweiteren können in der Analyse mehrere Konten zusammengefasst ausgewertet werden bzw. verschiedene Zeiträume desselben Kontos zusammengefügt werden. Daneben könnt ihr Euch noch als „Urlaub“ kategorisierte Umsätze gesondert ausgeben lassen. Zudem kann Euch KYSA mögliche Sparcents (Aufrundung von Abbuchungen auf den nächsten vollen Euro) anzeigen.

Version 5.01 ist eine komplette Überarbeitung des Backends, so dass ab dieser Version eine verschlüsselte Datenbank zur Datenhaltung genutzt werden kann. Das verringert die Arbeitsspeichernutzung und macht zukünftige Funktionserweiterungen einfacher. Zudem wurden in dieser Version eine einheitliche Handhabung der länderspezifischen Währungs- und Datumsformatierung integriert sowie kleine Verbesserungen an den Bilddiagrammen vorgenommen.

Mit Version 5.02. wird die Ordnung für Kategorien neu aufgestellt. Hauptkategorien können nun entweder Ausgabe- oder Einnahmekategorien sein. Das erleichtert die Aufbereitung der Diagramme, da nur noch Einnahmekategorien zu den Einnahmen gezählt werden.

In der downloadbaren Zip-Datei liefere ich eine weitere Excel-Tabelle mit, die als Vorlage für die Erfassung von Bargeldzahlungen dient. Diese Datei kann eingelesen und gegen die vorhandenen Kontodaten gespielt werden. So könnt Ihr besser nachvollziehen wofür das Bargeld ausgegeben wurde, was sonst im Kontoauszug nur als Abhebung sichtbar würde. Zusätzlich wird Eure Ausgabenaufstellung des jeweiligen Kontos genauer. Wenn Ihr das Feature nutzen wollt, tragt in die Excel-Tabelle „Haushaltsbuch“ Eure Bargeldausgaben und die gewünschte Kategorisierung ein bzw. lasst KYSA die Kategorisierung anhand Eurer Kategorisierungseinstellung vornehmen. Nach dem Import dieser Datei können diese Daten dann mit allen im Programm bereits verarbeiteten Datensätzen abgeglichen werden und verknüpft werden. Dabei werden nur Bargeldzahlungen berücksichtigt, die im betrachteten Zeitraum des Umsatzauszugs stattfanden und den entsprechenden Kategorien des Kontos zugeordnet wurden.

Seit Version 4 ist zudem ein lokal gehostetes Dashboard Teil der KYSA-Auswertungsmöglichkeiten. Dort können die Daten dynamisch als Torten- oder Balkendiagramme angezeigt werden und auch zwei unterschiedliche Zeiträume eines Datensatzes miteinander verglichen werden.

Weitere Informationen findet Ihr in dem kleinen Handbuch im Programm.

Die Software sammelt keine Daten und braucht auch keine Internetverbindung; alle Daten werden lokal gespeichert. Das heißt aber auch, das Programm erkennt nur, was als Suchwörter definiert oder über den Lernalgorithmus abgeleitet worden ist. Aus diesem Grund empfehle ich auch die vorgeschlagenen Kategorien mit Hilfe des Filters nach jedem Auswertungsvorgang zu überprüfen, so dass KYSA auch die richtige Zuordnung lernt.

Hier ein paar Bilder zur Software und möglichen Ergebnissen (die Konteninformationen und Kategorien wurden unkenntlich gemacht):

Screenshots



Hauptprogramm:




Dashboard:


Ergebnisdiagramme:


An dieser Stelle ein Aufruf zur Unterstützung:

Unterstützt KYSA

Ihr könnt mich und das Projekt KYSA auf verschiedene Weisen unterstützen:

  1. Wer die Entwicklung von KYSA unterstützen möchte, kann mir gerne eine Datenspende per Mail zukommen lassen. Dafür bitte die Kontoumsätze als *.csv exportieren und alle persönlichen Infos (Kontonr, Buchungen, Beträge etc.) über einen Texteditor löschen (nicht mit Excel/Librecalc, da sonst die Formatierung verändert wird). Am Ende sollten in der Datei nur noch die Leerzeilen am Anfang (nicht bei jedem Kontotyp) und die Spaltenüberschriften (existieren bei jedem Kontotyp) vorhanden sein. Wenn Eure Umsätze immer positiv ausgegeben werden (egal ob Abbuchung oder Einzahlung), schreibt bitte in welcher Spalte der Abbuchungsvorgang vermerkt wird. (z.B. wird bei der Triodos Bank hinter dem Umsatz ein „S“ oder „H“ für „Soll“ bzw. „Haben“ codiert).
  2. Wenn Ihr eher programmieraffin seid, könnt Ihr mir natürlich auch codetechnisch unter die Arme greifen. Den Quellcode stelle ich unregelmäßig auf meinem codeberg-Profil zur Verfügung. Da man sowohl hinsichtlich der User Experience als auch bezüglich des Kategoriesierungsvorgangs immer etwas verbessern kann (z.B. Umsatzhöhe mitzuberücksichtigen), freue ich mich um Unterstützung. Genauso bei der Hilfe, das Programm für andere Plattformen zu verpacken. Davon abgesehen, ist aber z.B. die Klassifizierung der Buchungsvorgänge beim neu integrierten SEPA-XML-Import noch ausbaufähig und ich habe es bis dato auch nicht geschafft, eine ausführbare Dateiversion für Linux (AppImage) zu erstellen.
  3. Wenn Fehler auftreten, öffnet bitte ein Issue bei Codeberg und beschreibt, was genau bei welcher Interaktion auf welchem Betriebssystem falsch läuft.
  4. Auch kleine Spenden für den vielen Kaffee, der bei der Entwicklung getrunken wurde ;), sind über Liberapay willkommen.

Ich freue mich über Feedback und Weiterempfehlungen. Vielen Dank allen Unterstützern!


Einrichtungs- und Nutzungshinweise

Zur Nutzung des Programms müsst Ihr Euch Eure Kontoumsätze online als csv-Datei oder xml-Datei exportieren und herunterladen. Diese Dateien könnt Ihr dann im Programm auswählen und auswerten lassen. Das SEPA XML-Format ist ein standardisiertes Format, so dass alle SEPA XML-Dateien egal welcher Bank unterstützt werden. Die csv-Dateien der einzelnen Banken sind leider nicht standardisiert und unterscheiden sich meist in einigen Punkten. Daher können nur jene Dateien unterstützt werden, bei denen ich das csv-Format der jeweiligen Bank kenne und im Code berücksichtigen kann. Aktuell werden daher nur die csv-Dateien folgender Kontotypen unterstützt:

  • Apobank (Girokonto)
  • comdirect (Girokonto&Kreditkarte)
  • Commerzbank (Girokonto)
  • Consorsbank (Girokonto)
  • DKB (Girokonto&Kreditkarte)
  • Deutsche Bank (Girokonto)
  • Fidorbank (Girokonto)
  • Fyrst Geschäftskonto (Girokonto)
  • Genossenschaftsbank (Girokonto)
  • Hypovereinsbank (Girokonto)
  • MLP Bank (Girokonto) (bis jetzt nicht mit Realdaten getestet)
  • Norisbank (Girokonto)
  • Sparkasse (Girokonto) (csv-MT940-Format)
  • Triodos Bank (Girokonto)
  • Volksbank (Girokonto)

Die Formatierungsinformationen zu den csv-Dateien der Konten habe ich von Bekannten erhalten, weitere werden folgen. Ich werde versuchen zukünftig auch eine ausführbare Datei für alle Linux-Versionen bereitzustellen.

Windows:

Das Programm wird ab Version 3.07 mit einem Windows-Installer als Zip-File angeboten. Nach dem Entpacken kann der Installer ausgeführt werden und das Programm am gewünschten Ort installiert werden. Beim ersten Start kann es manchmal etwas länger dauern, bis das Hauptmenü erscheint. Zudem kann der Rohdatenimport je nach Datenumfang durch den maschinellen Lernalgorithmus etwas langsamer sein.
Das Windows Security Center bringt wahrscheinlich eine Warnung, da die Datei aus dem Internet geladen wurde; dann müsste eine Ausnahmeerlaubnis erteilt werden. Eine kleine Dokumentation zum Programm findet sich auch im Programm selbst.


Mac:

Die KYSA.app-Datei ist nicht von Apple verifiziert und muss daher mit gedrückter Strg-Taste geöffnet werden. Die beta-Versionen werden über die KYSA.exe im extrahierten Ordner gestartet.

Linux:

Die KYSA-Exe muss als ausführbares Programm markiert werden und kann dann über das Terminal in dem Ordner über „./KYSA_vXXX“ geöffnet werden

Die Nutzung dieses Programms ist kostenfrei. Ich übernehme keinerlei Haftung für Ergebnisse und oder eventuelle Probleme bzw. etwaige Datenverluste, die bei der Nutzung auftreten. Die Software wird wie besehen bereitgestellt; Gewährleistungsansprüche sind ausgeschlossen. Es gelten die Bestimmungen der beigefügten Software-Lizenz. Näheres dazu findet sich im Linzenzhinweis hier und im Programm.


Datenschutzhinweis

Das Programm sammelt keinerlei Nutzerdaten. Sämtliche importierten Umsatzdaten werden nur lokal auf dem Rechner abgelegt. Eine Internetverbindung ist ausschließlich notwendig, um das Programm herunterzuladen oder notwendige Daten für den Kontoimport neuer Kontotypen upzudaten. Letzteres muss manuell durchgeführt werden und lädt dann die relevanten Einstellungen für den korrekten Import der Bankspezifischen csv-Dateien. Die Umsatzkategorisierung erfolgt nach den selbst gewählten Stichwörtern. Der Lernalgorithmus nutzt bisherige Umsatz-Verwendungszwecke und die zugewiesenen Kategorien. Alles wird lokal gespeichert, sodass keine Daten aus dem Internet bezogen bzw. darüber verschickt werden müssen.

Cookie Consent mit Real Cookie Banner