Coder Social home page Coder Social logo

sebrut / bank2ynab Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bank2ynab/bank2ynab

0.0 3.0 0.0 308 KB

A common project to consolidate all conversion efforts from various banks' export formats into YNAB's import format.

License: Other

Batchfile 0.08% Python 99.92%

bank2ynab's Introduction

bank2ynab

A common project to consolidate all conversion efforts from various banks' export formats into YNAB's import format.

Travis status Join the chat at https://gitter.im/bank2ynab/Lobby codecov Test Coverage Maintainability

What? (Features)

Convert your downloaded bank statements into YNAB's input format. Here's what this script does, step by step:

  1. Look for and parse the bank2ynab.conf. This file contains all the rules and import formats.
  2. Look for and parse every CSV file in the configured download directory.
  3. If the CSV file matches any of the configured formats:
    1. Create a new CSV file in YNAB's CSV format with the correct columns and a blank Category column.
    2. Optionally delete the original CSV file.

Wish List

  • 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)

Why?

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.

How? Contribute!

Installation Instructions

Requirements

  • 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!

User Guide

Using bank2ynab is easy:

  1. 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.
  2. Check the [DEFAULT] configuration in bank2ynab.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 to False if you want to keep the original CSV you downloaded.
  3. 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.
  4. 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!
    • Linux/Mac: Open a terminal, navigate to the script directory, and run the command python3 ./bank2ynab.py.     - Important: Be sure to use python3 specifically, and not python or python2 which is probably the system default.
  5. 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.

Known Bugs

For details, please see our issue list labeled "Bug".

List of Supported Banks

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):

  1. AT Raiffeisen Bank checking
  2. AT Raiffeisen Bank VISA card
  3. BR Inter checking
  4. DE Deutsche Kreditbank checking
  5. DE Deutsche Kreditbank credit card
  6. DE ING-DiBa
  7. DE Kreissparkasse
  8. DE N26
  9. DE Sparkasse Rhein-Neckar-Nord
  10. DE Ostseesparkasse Rostock checking
  11. DE Ostseesparkasse Rostock credit card
  12. DK Nordea
  13. IE AIB Ireland
  14. IE Bank of Ireland
  15. MV Bank of Maldives, checking
  16. NL ING Bank
  17. NL Rabobank
  18. NO DNB
  19. Personal Capital (software)
  20. SE Handelsbanken
  21. SE Nordea
  22. SE Swedbank
  23. UK Co-operative Bank
  24. UK Monzo checking
  25. UK Barclaycard credit card
  26. UK first direct checking
  27. US BB&T
  28. US Schwab
  29. US TB Bank

XKCD on standards


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.

bank2ynab's People

Contributors

martinth avatar nocalla avatar sebrut avatar torbengb avatar toyg avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.