Skip to main content

Tools for working with the OFX (Open Financial Exchange) file format

Project description

ofxparse

ofxparse is a parser for Open Financial Exchange (.ofx) format files. OFX files are available from almost any online banking site, so they work well if you want to pull together your finances from multiple sources. Online trading accounts also provide account statements in OFX files.

There are three different types of OFX files, called BankAccount, CreditAccount and InvestmentAccount files. This library has been tested with real-world samples of all three types. If you find a file that does not work with this library, please consider contributing the file so ofxparse can be improved. See the Help! section below for directions on how to do this.

Example Usage

Here’s a sample program

from ofxparse import OfxParser
with codecs.open('file.ofx') as fileobj:
    ofx = OfxParser.parse(fileobj)
ofx.accounts                        # An account with information
ofx.account.number                  # The account number
ofx.account.routing_number          # The transit id (sometimes called branch number)
ofx.account.statement               # Account information for a period of time
ofx.account.statement.start_date    # The start date of the transactions
ofx.account.statement.end_date      # The end date of the transactions
ofx.account.statement.transactions  # A list of account activities
ofx.account.statement.balance       # The money in the account as of the statement date
ofx.account.statement.available_balance # The money available from the account as of the statement date

Help!

Sample .ofx and .qfx files are very useful. If you want to help us out, please edit all identifying information from the file and then email it to jseutter dot ofxparse at gmail dot com.

Development

Prerequisites::

# Ubuntu sudo apt-get install python-beautifulsoup python-nose python-coverage-test-runner # Python 3 (pip) pip install BeautifulSoup4 six lxml nose coverage # Python 2 (pip) pip install BeautifulSoup six nose coverage

The six package is required for python 2.X compatibility

Tests: Simply running the nosetests command should run the tests.

nosetests

If you don’t have nose installed, the following might also work:

python -m unittest tests.test_parse

Test Coverage Report:

coverage run -m unittest tests.test_parse

# text report
coverage report

# html report
coverage html
firefox htmlcov/index.html

Homepage

License

ofxparse is released under an MIT license. See the LICENSE file for the actual license text. The basic idea is that if you can use Python to do what you are doing, you can also use this library.

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

ofxparse-0.17.tar.gz (49.4 kB view details)

Uploaded Source

Built Distribution

ofxparse-0.17-py3.5.egg (73.4 kB view details)

Uploaded Egg

File details

Details for the file ofxparse-0.17.tar.gz.

File metadata

  • Download URL: ofxparse-0.17.tar.gz
  • Upload date:
  • Size: 49.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for ofxparse-0.17.tar.gz
Algorithm Hash digest
SHA256 d655d6a7bbbbc50a84b143a119c461010b320f0120e4af73c577304875b508bd
MD5 7d0e0c0940438804662a7fa562b700b1
BLAKE2b-256 3964158ae3d0df2012ecaf13392568cf13228f0912a229d2223d1fada7864d50

See more details on using hashes here.

File details

Details for the file ofxparse-0.17-py3.5.egg.

File metadata

  • Download URL: ofxparse-0.17-py3.5.egg
  • Upload date:
  • Size: 73.4 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for ofxparse-0.17-py3.5.egg
Algorithm Hash digest
SHA256 a9e330fed3b9fbf05e6d98eee28436c21b101370be99441ebd245042f8384a43
MD5 3df4968023c4eda23a2e3cce0611e1d8
BLAKE2b-256 7862e841d4384607b4b9e1521587f5aaa8f5d3ba18c5d6b3994e8cd33952b25c

See more details on using hashes here.

Supported by

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