OFXDB
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
ofxtoolsaccount config file - Retrieve ofx files for all accounts in the
ofxtoolsaccount config - Transform
ofxtoolsaccount 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
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)
| File | Size | Uploaded | |
|---|---|---|---|
| ofxdb-0.0.2.tar.gz | 3.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|