GithubHelp home page GithubHelp logo

rabobank_transactions_downloader's Introduction

Rabobank transaction downloader

This gem can perform two tasks:

  1. Downloading transaction statements from the Rabobank website
  2. Parse each statement in these exports into a Transaction object

NOTE This gem logs into your bank account. I strongly recommend you to clone / vendorize this gem, and make sure that it performs the steps you expect before using it with your personal data.

Downloading transaction statements

  1. Create a instance

    downloader = RabobankTransactionDownloader.new(account_nr, card_nr, icode)

    Where account_nr is your bank account number, card_nr is the 4-digit number on your card and icode is the I-number generated by the Random Reader.

  2. Download either csv output, or parse the output directly into Transaction objects.

    downloader.download_csv(accounts, since, up_to_and_including)          # returns a multi-line CSV string
    downloader.download_transactions(accounts, since, up_to_and_including) # returns an array of Transaction objects.

    Where accounts is either :all, to download transactions from all your accounts, or an array of accountnumbers that you'd like to download. These accountnumbers can be be retrieved with downloader.available_accounts.

See the demo for a working example.

Parsing the CSV output

Based Rabobank documentation.

Basic methods

Each transaction object has the following methods, which map directly to the columns specified in the documentation:

  • owner_account_nr
  • currency
  • interest_date
  • type
  • amount
  • contra_account_number
  • contra_account_name
  • entry_date
  • transaction_type
  • filler
  • description1
  • description2
  • description3
  • description4
  • description5
  • description6
  • sepa_end_to_end_id
  • sepa_contra_account_id
  • sepa_mandate_id

Additional helpers

There are several additional helper methods:

  • debit? which returns true if this is a debit transaction
  • credit? which returns true if this is a credit transaction
  • description which returns the concatonation of the 6 description fields.
  • transaction_type_name which returns a human readable name (in dutch) of the transaction type (see wikipedia for a list of these types)

rabobank_transactions_downloader's People

Contributors

moretea avatar

Stargazers

 avatar

Watchers

 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.