Import your ING Germany bank statements via FinTS into YNAB.
Project description
Import your ING Germany bank statements via FinTS into YNAB.
Setup
Before setting this up, you need to register your FinTS product – it's free and takes only a few days.
Since this application will need your ING pin and YNAB access token it's recommended to run this in your local network (could be a Raspberry Pi, it's pretty light).
To start the application you need Python 3.12 or higher as well as pdm.
$ pdm install
$ pdm run start
Alternatively you can use the Docker image from ghcr.io/bahlo/ing-ynab:latest
or ghcr.io/bahlo/ing-ynab:3.0.1
.
Configuration
The configuration is done via environment variables:
SLEEP_INTERVAL_SECONDS
: Interval in seconds until the next check happens (defaults to 5 minutes).FINTS_PRODUCT_ID
: Your FinTS product ID (deafults to python-fints one).ING_LOGIN
: The login id of your ING account.ING_IBAN
: The IBAN of the account you want to add.ING_PIN
: The pin of your ING account (leave empty to be prompted).YNAB_ACCESS_TOKEN
: Go to your budget settings to create one (leave empty to be prompted).YNAB_BUDGET_ID
: On the webpage of your budget the first UUID in the path (https://app.youneedabudget.com/<BUDGET_UUID>/budget/202109
).YNAB_ACCOUNT_ID
: On the webpage of the bank account the last UUID in the path (https://app.youneedabudget.com/<BUDGET_UUID>/accounts/<BANK_ACCOUNT_UUID>
).YNAB_FLAG_COLOR
: If set, use that color for the imported transactions.DEBUG
: Set to1
to enable debug output and print transactions instead of importing them.
Security
You can pass in your bank pin and YNAB access token via environment variables, if you like. This has the drawback that anyone with system access can read and potentially use them so it's discouraged (but supported).
The alternative is not specifying YNAB_ACCESS_TOKEN
and/or ING_PIN
, which
will cause the application to prompt you on startup. This has the drawback that
you need to input them everytime the application restarts.
For docker you'll need to pass the -it
flags to be able to input these
variables. For docker-compose, add these fields:
tty: true
stdin_open: true
After starting with docker-compose up -d
, run docker attach $container_id
to attach to the container. Note that the prompt for the pin might be hidden,
so you have to enter the pin directly.
FAQ
Why is this ING-only? Isn't FinTS a general protocol?
It is, but the implementations differ a lot. This actually started out as a general-purpose library but I can only really test ING and I rather have a specialised library than a multipurpose one where I can't guarantee functionality.
Can you support my bank?
The python-fints library supports a lot of banks, so probably. But we need to work together as I can't test it. Feel free to get in touch: hallo@arne.me
How do I register the FinTS product?
- Go to the FinTS product registration
- Click
Registrierungsprozess
to get to a PDF form - Fill in your data. If you don't know what else to put, here are some suggestions:
Firmenbezeichnung
: Your nameProduktname
:ing-ynab
Produktkategorie
:Web-Server
- Send the form to the email adress on the last page
After a week or two you will get your product id via email.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ing_ynab-3.0.1.tar.gz
.
File metadata
- Download URL: ing_ynab-3.0.1.tar.gz
- Upload date:
- Size: 9.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: pdm/2.17.2 CPython/3.12.4 Linux/6.5.0-1024-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3740007ee1f6f5bcc869530306b214b237217a5d8226d9d2cc39a02ae5ed0e14 |
|
MD5 | 3c138e9dca22ddeaa08c24023c016412 |
|
BLAKE2b-256 | 3cabb752fd18b2a08405b8bd8215a042abab9e8df43f9130e50f7a7e57d66f59 |
File details
Details for the file ing_ynab-3.0.1-py3-none-any.whl
.
File metadata
- Download URL: ing_ynab-3.0.1-py3-none-any.whl
- Upload date:
- Size: 7.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: pdm/2.17.2 CPython/3.12.4 Linux/6.5.0-1024-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 25afb180e139fc13be8dc27fe9fdc70cd2884d19f2a875502c482f73f4756e35 |
|
MD5 | 49f85bb92796bb32f941fb65eeb44655 |
|
BLAKE2b-256 | d46aaa3bbcb06d1972f43bb8c853c9a8e349626f4083bcdfc080a0af5141f022 |