Bank YNAB importer
This is a ruby script that pulls your transactions from your banks and imports them into You Need A Budget (YNAB).
Mission: A script that can run every 15 minutes on a small and cheap mini-computer at your home (eg. raspberry pi) with an easy configuration and support for most European banks.
Documentation:
Disclaimer
Using this tool is on your own risk. I can not garantee you that this will work for you. Also I can not garantee that it won't up your YNAB data. I highly recommend to start with a new Budget or at least test it with a new one before you use your existing Budget.
Supported banks
- Most German and Austrian banks (all banks that implement the FinTS standard)
- BBVA Spain (private accounts only)
- N26
Why
YNAB only supports U.S. and Canadian Banks for now.
Technical details on how it works
The script fetches the transaction information from your bank(s). Then it uses the official YNAB API to create the transactions for you.
The script also includes some additional logic like detecting internal transactions by checking if the account transactions go to or come from is one of the other accounts that you set up in the config (of course this only works if you have multiple accounts configured).
Known Problems
We're investigating in alternative approaches to gain access to the latest transactions..
- Please read the notes in each Dumper (see Wiki) to understand the limitations
Support / Contribution
Support and contriubution of any kind is always welcome!!!
Thanks
- @dequis for preventing the script from failing in the future PR #70 and keeping an eye on the development experience PR #69
- @moay, @yuvke, @BluetriX for the help on debugging an error with not existing dates Issue #52
- @mathijshoogland for updating the dependencies PR #49
- @manuelgrabowski, @martinlabuschin and @peterjeschke for giving feedback on a new N26 dumper config flag that prevents transactions to be imported multiple times PR #38
- @peterjeschke for fixing a bug that happened when the FinTS username was an integer PR #35
- @derintendant for spotting and fixing edge cases PR #27 (improves error messages) and PR #28 (truncates the payee field if it's too long)
- @manuelgrabowski for implementing a fallback in the FinTS dumper PR #26
- @markuspabst for spotting an error in the readme PR #11
- @wizonesolutions for giving feedback on the N26 integration PR #9
- @mkilling for writing the FinTS ruby lib that I'm using & helping me fixing a bug
- you for reading this