Skip to main content

OFXDB

Finarrow

Database Generator for OFX Financial Statement Data, by Finarrow.

What is it?

ofxdb is a Python package providing ETL infrastructure needed to create a database of personal financial data. It uses ofxtools to connect to financial institutions and retrieve ofx files that are parsed into various csv files. The project's goal is to serve as the basis for making better personal finance decisions by providing a seamless and safe way to aggregate your account history across any financial institution and make the data available for you to analyze.

Main features

These are few things that ofxfdb does in its current state:

  • Parse ofxtools account config file
  • Retrieve ofx files for all accounts in the ofxtools account config
  • Transform ofxtools account info and statement objects into csv files and save to disk

Current support:
Account information
Investment statements

To do:
Bank statements
Tax statements

Generates 5 csv files in your $HOME directory as follows:

$HOME/ofxdb/account_info.csv  
$HOME/ofxdb/positions.csv  
$HOME/ofxdb/transactions.csv  
$HOME/ofxdb/balances.csv  
$HOME/ofxdb/securities.csv  

For more details, take a look at the tables guide, column definitions and table samples.

Limitations

ofxdb is well-tested with TD Ameritrade accounts that hold only stocks and ETFs. By design ofxdb should work well for any broker that you can connect to with ofxtools and for any security types supported by the ofx protocol. If you encounter any issues, please open an issue against ofxdb on GitHub.

In its current version, ofxdb only works on linux and linux-based systems (including OSX). Support for Windows is in the scope of the project and will come in a future version.

Where to get it

The source code is currently hosted on GitHub at: https://github.com/finarrow/ofxbd

Binary installer for the latest released version is available at the Python package index.

pip install ofxdb

Dependencies

Getting started

Set up your account credentials in your system keyring using the ofxtools command line tool ofxget. Do this for all accounts you would like to aggregate data for. You will be prompted in the command line to enter your password.

ofxget acctinfo <server_nickname> -u <your_username> --write --savepass

You can get a list of available server nicknames as follows:

ofxget list

Use the generate script to build the tables.

python ofxdb/data/generate.py

Check out the ofxtools documentation if you have any issues using ofxget.

Getting involved

Discuss ofxdb on the Finarrow community Slack

We welcome your contributions. To file a bug, suggest an improvement, or request a new feature please open an issue against ofxdb on GitHub.

License

MIT

Metadata

Release files for ofxdb 0.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ofxdb 0.0.2
File Size Uploaded
ofxdb-0.0.2.tar.gz 3.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ofxdb 0.0.2
File Interpreter ABI Platform
ofxdb-0.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 7.4 kB

Release files / ofxdb-0.0.2.tar.gz

Download URL ofxdb-0.0.2.tar.gz
Size 3.3 kB
Tags Source
SHA-256 checksum
How to use checksums
88853f20ebc8bb7deb43d09c7d504b89130f3b01ed043876729fcfdf2bad9367
BLAKE2b-256 checksum
How to use checksums
868fddfc4a973c2c296e55a74c6d9fd0ba95844c4259eb2dd71d0f0993df2cd5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6

Release files / ofxdb-0.0.2-py3-none-any.whl

Download URL ofxdb-0.0.2-py3-none-any.whl
Size 4.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
af135c0a4758f3d6f26c45430f118cf8b6b4a6f001db652d8ccecca8d434b74d
BLAKE2b-256 checksum
How to use checksums
09bace2873bab6e89aab23ff4cc76d609dd26158936f1bdf01728aa01cd49979
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.1.3 requests-toolbelt/0.9.1 tqdm/4.42.1 CPython/3.7.6

Release history Release notifications | RSS feed

This release

0.0.2 This release

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page