This project is a fork of the original Python-Finanzmanager by t4ri.
Python Finanzmanager zur Finanzübersicht von comdirect Finanzreports
Mittels eines Python-Skripts werden die auf dem PC abgelegten PDF Finanzreports eines Jahres eingelesen und die enthaltenen Eingaben und Ausgaben über Schlüsselwörter Buchungsgruppen zugeordnet.
Ergbnis sind CSV Dateien mit Salden und Umsätzen pro Gruppenname, diese können dann z.B. in Excel weiter ausgewertet werden.
Es handelt sich um ein reines Hobby-Projekte. Es wird keine Garantie für Fehlerfreiheit, Support oder zeitnahe Unterstützung gegeben! Die genannten Produkt- und Markennamen sind Eigentum der jeweilingen Inhaber.
- Python 3.7+
Download und Support der Python Ablaufumgebung siehe support page. Zum Lesen der PDF Finanzreports wird die Python Bibliothek pdfplumber benötigt.
- Download Python 3.11+
- Unter Windows: Kommandozeilenfenster öffnen („Windows-Taste“ + „R“ starten. Dort den Befehl „cmd.exe“ eingeben und mit „Enter“ bestätigen), alle weiteren Schritte sind im Kommandozeilenfenster auszuführen.
- Python version prüfen mit dem Aufruf: python --version
- Python Aktualisierung mit dem Aufruf: pip install update
- pdfplumber installieren: pip install pdfplumber
- com_fm.py und com_fm.ini herunter laden
- Parameteranpassung von com_fm.ini, siehe nachfolgend
Die Datei com_fm.ini enthält alle zur individuellen Anpassung notwendigen Parameter:
Parameter | Beschreibung |
---|---|
pfad : D:\comdirect\Kto1234567 | Pfad zum Ablageort der comdirect Finanzreports. |
jahr : 2022 | Auswertungsjahr |
Gruppenname : Schlüsselwort1,Schlüsselwort2,... z.B.: Online Ausgaben : paypal,amazon,internet,online |
Unter dem Gruppenname werden alle Einnahmen und Ausgaben zusammengefasst |
deren Text eines der nachfolgenden Schlüsselwörter enthält. |
com_fm.ini einthält bereits Beispiel Gruppennamen und Schlüsselwörter, die individuell erweitert oder angepasst werden können. Hierbei ist zu beachten: Die Trennung zwischen pfad, jahr und Gruppennamen ist " : " (ein Leerzeichen vor und nach dem Doppelpunkt). Die Schlüsselwörter (klein geschrieben) ohne Leerzeichen mit Komma getrennt. com_fm.ini wird in der Reihenfolge der Eintragung durchsucht. Beachte, dass sehr kurze Schlüsselwörte spätere längere Schlüsselwörter unterdrücken können. So verhindert das Schlüsselwort "markt" z.B. das Auffinden von "kaufmarkt".
Die für die Auswertung relevanten Zahlungsvorgänge beginnen auf Seite 2 des Finanzreports und startet mit dem Einlesen des Alten Saldos. Die weiteren Einnahmen und Ausgaben werden bis zum Erreichen des Neuen Saldos zeilenweise eingelesen. Hierbei werden die Buchungstext Zeilen berücksichtigt, z.B.: 02.06.2022 Lastschrift/ STADTWERKE KD.-NR.345,00-ABSCHLAG0 -91,00
Der Text wird mit den in com_fm.ini hinterlegten Schlüsselwörtern verglichen und der Buchungsbetrag dem Gruppensaldo zugeordnet. Der Text wird beim Vergleich in Kleinbuchstaben umgewandelt, so dass Klein-/Grossschreibung keine Relevanz hat. Kann keine Zuordnung gefunden werden, so werden Einnahmen der Gruppe "Einnahmen div." und Ausgaben der Gruppe "Einnahmen div." zugeordnet.
Zur Überprüfung und ggf. Ergänzung von Schlüsselwörtern in com_fm.ini werden alle Buchungen der Gruppen "Einnahmen div." und "Einnahmen div." am Ende ausgegeben. Enthält com_fm.ini keine Gruppennamen, so werden alle Einnahmen "Einnahmen div." und Ausgaben "Ausgaben div." zugeordnet.
com_fm.py und com_fm.ini müssen sich im gleichen Verzeichnis befinden.
python com_fm.py
Laufzeit Ausgaben:
Finanzreport_Nr._01_per_03.02.2020.pdf saldo delta 0.0
Finanzreport_Nr._02_per_02.03.2020.pdf saldo delta 0.0
...
Während der Bearbeitung werden die eingelesenen Finanzreport Dateinamen angezeigt. Eine Saldenabweichung wird bei einem Auswertungsfehler als delta angezeigt.
Es werden zwei CSV Dateien erzeugt jahr_finmnanager.csv und jahr_finmnanager_bookings.csv. jahr_finmnanager.csv enthält die Gruppenübersicht und Gruppensalden mit den Spalten: Jahr; Gruppenname; Anzahl Buchungen in der Gruppe; Saldo. jahr_finmnanager_bookings.csv enthält Buchungsdatum; Gruppenname; Vorgang; Buchungstext; Betrag.
Creative Commons BY-NC-SA
Give Credit, NonCommercial, ShareAlike
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.