Converts your folder full of bank statements into a simple sqlite database for postprocessing with SQL
Considering a file structure like shown below, you can use clerk abstract_account ingdiba ./diba to recursively search for bank statements and collect all transactions into a single sqlite database.
.
├── diba
│ ├── ...
│ ├── 2022
│ │ ├── Girokonto_xxxxxxxxxx_Kontoauszug_20220202.pdf
│ │ └── Girokonto_xxxxxxxxxx_Kontoauszug_20220302.pdf
│ ├── Makefile
│ ├── transactions.sqlite3 # will be created by clerk
│ └── umsatz.csvIf your folder structure does not contain the full history of your bank account, you can use the option --initial to add an initial transaction with any offset you need.
Most bank accounts allow to download csv files with all recent transactions since the last official statement. You can import those as well by using the option --update.
It is convenient to use a Makefile for generating and opening the database with sqlitebrowser by simply running make.
all:
clerk abstract_account ingdiba . --initial "2000-01-01 00:00:00;Uebertrag;123.45" --update umsatz.csv
sqlitebrowser transactions.sqlite3 &-
Use the following commands to install
clerkfor the current userpip3 install -r requirements.txt --user python3 setup.py install --user
-
For updating
clerk, just repeat these steps after executinggit pullin your cloned repo -
clerkuses pdftotext, ps2pdf, pdf2ps for parsing bank statements, these tools need to be installed on your system# to install pdftotext, ps2pdf and pdf2ps and other useful tools on openSUSE zypper install poppler-tools ghostscript sqlite3 sqlitebrowser
This project is licensed under the GPL - see the LICENSE file for details