Skip to main content

Library for working with Open Financial Exchange (OFX) data

Project description

CI tests status https://coveralls.io/repos/github/csingley/ofxtools/badge.svg?branch=master https://img.shields.io/badge/dependencies-None-green.svg https://badge.fury.io/py/ofxtools.svg

ofxtools is a Python library for working with Open Financial Exchange (OFX) data - the standard format for downloading financial information from banks and stockbrokers. OFX data is widely provided by financial institutions so that their customers can import transactions into financial management software such as Quicken, Microsoft Money, or GnuCash.

If you want to download your transaction data outside of one of these programs - if you wish to develop a Python application to use this data - if you need to generate your own OFX-formatted data… ofxtools is for you!

What is it?

ofxtools requests, consumes and produces both OFXv1 (SGML) and OFXv2 (XML) formats. It converts serialized markup to/from native Python objects of the appropriate data type, while preserving structure. It also handles Quicken’s QFX format, although it ignores Intuit’s proprietary extension tags.

In a nutshell, ofxtools makes it simple to get OFX data and extract it, or export your data in OFX format.

ofxtools takes a comprehensive, standards-based approach to processing OFX. It targets compliance with the OFX specification, specifically OFX versions 1.6 and 2.03.

ofxtools Coverage of the OFX Specification
  • Section 7 (financial institution profile)

  • Section 8 (service activation; account information)

  • Section 9 (email over OFX)

  • Section 10 (recurring bank transfers)

  • Section 11 (banking)

  • Section 12 (bill pay)

  • Section 13 (investments)

This should cover the great majority of real-world OFX use cases. A particular focus of ofxtools is full support of the OFX investment message set, which has been somewhat neglected by the Python community.

The major item remaining on the ofxtools “to do” list is to implement the tax schemas. It’s currently a low priority to implement Section 14 (bill presentment) or the extensions contained in OFX versions beyond 2.03, but you’re welcome to contribute code if you need these.

Some care has been taken with the data model to make it easily maintainable and extensible. The ofxtools.models subpackage contains simple, direct translations of the relevant sections of the OFX specification. Using existing models as templates, it’s quite straightforward to define new models and cover more of the spec as needed (the odd corner case notwithstanding).

More than 10 years’ worth of OFX data from various financial institutions has been run through the ofxtools parser, with the results checked. Test coverage is high.

Where is it?

Full documentation is available at Read the Docs.

For ease of installation, ofxtools is released on PyPI.

Development of ofxtools is centralized at GitHub, where you will find a bug tracker.

Installation Dependencies

ofxtools requires Python version 3.8+, and depends only on the standard libary (no external dependencies).

NOTE: As of version 0.6, ofxtools no longer supports Python version 2, which went EOL 2020-01-01.

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

ofxtools-1.0.0.tar.gz (193.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ofxtools-1.0.0-py3-none-any.whl (233.5 kB view details)

Uploaded Python 3

File details

Details for the file ofxtools-1.0.0.tar.gz.

File metadata

  • Download URL: ofxtools-1.0.0.tar.gz
  • Upload date:
  • Size: 193.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ofxtools-1.0.0.tar.gz
Algorithm Hash digest
SHA256 2c371bdcb4e2184b8944fbd6ce92b10c6a7ec61af3ccaf4ffa45b82c5f18bf0d
MD5 9d48d27387b0dac0ead6d6058d1051e7
BLAKE2b-256 c17dd51c528f0b25b56cac5c4b8e400e6915d7ea2fa4621d94dca98eccca5d43

See more details on using hashes here.

Provenance

The following attestation bundles were made for ofxtools-1.0.0.tar.gz:

Publisher: publish.yml on csingley/ofxtools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ofxtools-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: ofxtools-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 233.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for ofxtools-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0dd8d4044d69bebcf2cb3e8f188de2707bf73de7f6286e2470a6da56ac7a4166
MD5 9bbcfa51e0a5ed46539faced30e532f3
BLAKE2b-256 029badea24e2ec135c54a2fe18c002c1947d693535a5a487f1575d93f6db06ed

See more details on using hashes here.

Provenance

The following attestation bundles were made for ofxtools-1.0.0-py3-none-any.whl:

Publisher: publish.yml on csingley/ofxtools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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