Skip to main content

Download data from aib.ie in OFX format

Project description

aib2ofx

...or how to grab transaction data out of AIB's online interface, and format it into OFX file.

NOTE: Last AIB login update (Feb' 2021) made me realise how brittle the overall machinery here is. The code that works around Web Storage API use is ugly and likely to break. The most likely road forward for this project is to decouple it into ofxstatement plugin and (maybe) Selenium-powered CSV acquisition script. The former will be easy, the latter will most likely be a nightmare to maintain and install, unless you enjoy having your banking details pipe through an arbitrary docker image.

Time will tell.

Installation

python3 -mvenv aib2ofx
source aib2ofx/bin/activate
pip3 install aib2ofx

This will create a virtualenv for aib2ofx, fetch its code then install it with all dependencies. Once that completes, you'll find aib2ofx executable in the bin directory of this new virtualenv.

Usage

Create a ~/.aib2ofx.json file, with AIB login details. Set the permission bits to 0600 to prevent other system users from reading it.

touch ~/.aib2ofx.json
chmod 0600 ~/.aib2ofx.json

It has a JSON format, single object with one key per AIB login you want to use.

{
    "bradmajors": {
        "regNumber": "12345678",
        "pin": "12345"
    }
}

The fields are as follows:

  • regNumber

    Your AIB registered number.

  • pin

    Your five digit PIN.

You can put more than one set of credentials in the file; the script will download data for all accounts for all logins.

{
    "bradmajors": {
        "regNumber": "12345678",
        "pin": "12345"
    },
    "janetweiss": {
        "regNumber": "87654321",
        "pin": "54321"
    }
}

Note that there's no comma after the last account details.

Once you've prepared that config file, run:

aib2ofx -d /output/directory

The script should connect to AIB, log in using provided credentials, iterate through all accounts, and save each of those to a separate file located in /output/directory.

Guarantee

There is none.

I've written that script with my best intentions, it's not malicious, it's not sending the data anywhere, it's not doing anything nasty. I'm using it day to day to get data about my AIB accounts into a financial program that I use. It should work for you as good as it works for me. See the LICENSE file for more details.

Development

aib2ofx works only with python 3.

In order to set up a dev environment clone the repository, get poetry and run poetry install. This will create a virtualenv with all dependencies installed. You can activate it with poetry shell.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aib2ofx-0.73.3.tar.gz (10.9 kB view details)

Uploaded Source

Built Distribution

aib2ofx-0.73.3-py3-none-any.whl (11.2 kB view details)

Uploaded Python 3

File details

Details for the file aib2ofx-0.73.3.tar.gz.

File metadata

  • Download URL: aib2ofx-0.73.3.tar.gz
  • Upload date:
  • Size: 10.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.11.2 Linux/5.15.153.1-microsoft-standard-WSL2

File hashes

Hashes for aib2ofx-0.73.3.tar.gz
Algorithm Hash digest
SHA256 aea8f9d8e044d24bd3df2cdc90281d57773d1fe0da0844fd8f572a35496b05a9
MD5 0faf25a2cb461e1c8817de4947fef8de
BLAKE2b-256 b0770d2370dddc25d42ddcc43b9c24c778ebfacffe608fa188e7fc270119d17d

See more details on using hashes here.

File details

Details for the file aib2ofx-0.73.3-py3-none-any.whl.

File metadata

  • Download URL: aib2ofx-0.73.3-py3-none-any.whl
  • Upload date:
  • Size: 11.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.3 CPython/3.11.2 Linux/5.15.153.1-microsoft-standard-WSL2

File hashes

Hashes for aib2ofx-0.73.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b4240095e41c265e2f6eaf39b43aab08c56b7017ca20cfdd14ca119eecf2ad4a
MD5 d5ee99b150e7a9b9ece8bec6e9e02507
BLAKE2b-256 9987937f982e45aba3a9763903073f2df71b8fbc91e87d071084669b9d0f0b46

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page