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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file aib2ofx-0.73.4.tar.gz
.
File metadata
- Download URL: aib2ofx-0.73.4.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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9ae5d221d8a4b95dd40f905b2cd921f83fb246c45ff339f2f681806be6b296ba |
|
MD5 | 9b833dabcda6d5fa6c255267165abc42 |
|
BLAKE2b-256 | ab73858dc2ab41cc5e22f71aab99ae6fa5dddadc3692d5764aec3c11c232bcc9 |
File details
Details for the file aib2ofx-0.73.4-py3-none-any.whl
.
File metadata
- Download URL: aib2ofx-0.73.4-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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ee06e15b695537b65191ebfe8e2fdc58efff72a66215014c2dd3532fc5a19fa |
|
MD5 | 8761a3735a5c2d461f89e35ab092f3f3 |
|
BLAKE2b-256 | 5124bacc545ade1c6739671a9856a595392669d3ce6b08fbe2a46921b2455df6 |