Skip to main content
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 Total PyPI downloads

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 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)

  • OFX tax extensions (1099 forms)

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.

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.10+, and depends only on the standard library (no external dependencies).

Release files for ofxtools 1.1.1

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

Source distribution (sdist)

Source distribution for ofxtools 1.1.1
File Size Uploaded
ofxtools-1.1.1.tar.gz 196.0 kB Details

Built distribution (wheel)

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

Total release size: 432.8 kB

Release files / ofxtools-1.1.1.tar.gz

Download URL ofxtools-1.1.1.tar.gz
Size 196.0 kB
Tags Source
SHA-256 checksum
How to use checksums
b55803e622539e59d04209ec0a289338557973c331d86031e9868d84592912a6
BLAKE2b-256 checksum
How to use checksums
0d1512ce2de32fbdeb26ef20510f9d8dba1c5a408c3061e0a4cd20d28140ecb9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 12, 2026.

Transparency log

Release files / ofxtools-1.1.1-py3-none-any.whl

Download URL ofxtools-1.1.1-py3-none-any.whl
Size 236.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4c6a80cfd08d8a6ce7e791ce3bc317e203f36359a0961b20df667cf91a9560e9
BLAKE2b-256 checksum
How to use checksums
0a122033cdcf76d05cd4cdab318074428e74c2be4536377bb62832148b034609
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 12, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.1.1 This release

2 release files

1.1.0

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.9.5

1 release file

0.9.4

1 release file

0.9.1

1 release file

0.9

1 release file

0.8.22

1 release file

0.8.21

1 release file

0.8.20

1 release file

0.8.18

1 release file

0.8.17

1 release file

0.8.16

1 release file

0.8.15

1 release file

0.8.14

1 release file

0.8.13

1 release file

0.8.12

1 release file

0.8.11

1 release file

0.8.10

1 release file

0.8.9

1 release file

0.8.8

1 release file

0.8.7

1 release file

0.8.6

1 release file

0.8.5

1 release file

0.8.4

1 release file

0.8.3

1 release file

0.8.2

1 release file

0.8.1

1 release file

0.8.0

1 release file

0.7.8

1 release file

0.7.7

1 release file

0.7.6

1 release file

0.7.5

1 release file

0.7.4

1 release file

0.7.3

1 release file

0.7.1

1 release file

0.6.3

1 release file

0.6.2

1 release file

0.6.1

1 release file

0.5.4

1 release file

0.5.2

1 release file

0.5.1

1 release file

0.5

1 release file

0.4.1

1 release file

0.3.14

1 release file

0.3.13

1 release file

0.3.12

1 release file

0.3.8

1 release file

0.3.7.1

1 release file

0.3.7

1 release file

0.3.6

1 release file

0.3.5

1 release file

0.3.4

1 release file

0.2.9

1 release file

0.2.8

1 release file

0.1

1 release file

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