A common project to consolidate all conversion efforts from various banks' export formats into YNAB's import format.
Convert your downloaded bank statements into YNAB's input format. Here's what this script does, step by step:
- Look for and parse the
bank2ynab.conf
. This file contains all the rules and import formats. - Look for and parse every CSV file in the configured download directory.
- If the CSV file matches any of the configured formats:
- Create a new CSV file in YNAB's CSV format with the correct columns and a blank Category column.
- Optionally delete the original CSV file.
- add many more input formats from all the other YNAB-CSV-conversion projects.
- maybe coming later: automatically download your bank statements? (uses external services; only available in some countries)
- maybe coming later: automatically import the converted data into your YNAB app? (optional, default off)
There are currently more than 80 GitHub projects related to YNAB converter scripts. Clearly there's a need, but until now these solutions have been fragmented. The present project "bank2ynab" aims to focus the efforts on a common source that encapsulates a large number of bank formats. This will also provide a common basis for a solution using a variety of programming languages.
- If you're "just a user":
- tell us your import format and we can create a converter - for you and for everyone else!
- use the converter provided here and give us feedback - or participate!
- If you've already built a YNAB converter:
- take advantage of this project to get more import formats.
- give back to this project by sharing your existing import formats.
- Add a brainstorming item as a new issue.
- Join the chat over at https://gitter.im/bank2ynab/Lobby
- See also: the wiki, perhaps most importantly this page about import formats.
- Download this ZIP file
- Note the Requirements for additional details!
- When you're done, refer to the User Guide below.
- Windows or Mac or Linux
- Python v2.7+ installed, v3.5+ preferred (download it from python.org)
- Support for other scripting languages may follow. Contributions are welcome!
Using bank2ynab
is easy:
- Download some bank statements from your banking website.
- Make sure to choose CSV format. Save with the default suggested filename so that the converter can find it.
- It's okay if the statements contain data that you already have in YNAB. YNAB will detect and skip these.
- Check the
[DEFAULT]
configuration inuser_configuration.conf
. You only need to do this once. Specifically:Source Path = c:\users\example-username\Downloads
Specify where you save your downloaded CSV files.Delete Source File = True
set toFalse
if you want to keep the original CSV you downloaded.
- Check that the configuration in
bank2ynab.conf
contains a[SECTION]
for your banking format. You only need to do this once per bank you use. If you can't find your bank in the config, tell us your bank's format and we can add it to the project. - Run the
bank2ynab.py
conversion script to generate the YNAB-ready CSV output file. How to do this depends on your operating system:- Windows: Open a command prompt, navigate to the script directory, and run the command
python bank2ynab.py
.- Pro tip: Create a program shortcut! Right-click on the
bank2ynab.bat
file, choose Send to and then choose Desktop (create shortcut). Now you can just double-click that shortcut!
- Pro tip: Create a program shortcut! Right-click on the
- Linux/Mac: Open a terminal, navigate to the script directory, and run the command
python3 ./bank2ynab.py
. - Important: Be sure to usepython3
specifically, and notpython
orpython2
which is probably the system default.
- Windows: Open a command prompt, navigate to the script directory, and run the command
- Drag-and-drop the converted CSV file onto the YNAB web app.
- YNAB will detect this and offer you import options. If you had already switched YNAB to the corresponding account view, YNAB will understand that you want to import this file to this account.
For details, please see our issue list labeled "Bug".
Here is a list of the banks and their formats that we already support. Note that we have many more formats in the pipeline so the list continues to grow, and we are happy to receive requests. In alphabetical order (country and bank):
- AT easybank credit card
- AT Raiffeisen Bank checking
- AT Raiffeisen Bank VISA card
- BE KBC checking
- BR Inter checking
- CA TD Canada Trust, checking+Visa
- CZ Ceska Sporitelna
- CZ Raiffeisen bank
- DE Commerzbank checking
- DE Consorsbank checking
- DE Deutsche Bank
- DE Deutsche Kreditbank checking
- DE Deutsche Kreditbank credit card
- DE ING-DiBa
- DE Kreissparkasse
- DE N26
- DE Ostseesparkasse Rostock checking
- DE Ostseesparkasse Rostock credit card
- DE Sparkasse Rhein-Neckar-Nord
- DK Bankernes EDB Central
- DK Nordea
- DK Sparkassen Thy
- IE AIB Ireland
- IE Bank of Ireland
- MV Bank of Maldives, checking
- NL Bunq checking
- NL ING Bank
- NL Rabobank (2017 format)
- NL Rabobank (2018 format)
- NO DNB
- SE Handelsbanken
- SE Nordea
- SE Swedbank
- SG OCBC Bank
- SG POSB savings
- UK Barclaycard credit card
- UK Co-operative Bank
- UK first direct checking
- UK Monzo checking
- US BB&T
- US Schwab
- US TB Bank
- (software) Mint
- (software) Personal Capital
Disclaimer: Please use at your own risk. This tool is neither officially supported by YNAB (the company) nor by YNAB (the software) in any way. Use of this tool could introduce problems into your budget that YNAB, through its official support channels, will not be able to troubleshoot or fix. See also the full MIT licence.