This Python script imports transactions from banks that support the German FinTS Banking API.
The last 10 days of transactions are imported. It's safe to run this script periodically as duplicates (already imported transactions) are filtered out.
Connection details need to be set up in a settings.json
file in the project folder, see an example at settings.sample.json
.
true
, prevent sending transaction data to the YNAB API."fints"
bank accountsMultiple bank accounts can be setup in the array "fints"
.
true
, the script tries to extract the merchant's name in PayPal transactions to avoid these transactions being assigned to the genreic PayPal payee. The memo of these transactions is set to PayPal."ynab"
pip3 install -r requirements.txt
Run the script with:
python3 fints_to_ynab.py
This script can be run periodically with cron.
This example crontab entry runs the script every 3 hours and writes STDOUT to a logfile (adjust the path to the cloned repository and the python version):
0 */3 * * * cd /path/to/fints-to-ynab/ && venv/bin/python3.6 fints_to_ynab.py >> import.log