ofxtools
Library for working with Open Financial Exchange (OFX) data
Decision gist · record as of 2026-08-14
Yes, with a license caveat. ofxtools is stable (Production/Stable status), actively maintained, has no known vulnerabilities, and installs with zero external dependencies. It's the most comprehensive OFX implementation in Python and covers the vast majority of real-world use cases. However, its GPL-3.0-only license is a hard blocker for proprietary or closed-source applications—only install if your project can adopt GPL-3.0 or you have an alternative licensing arrangement.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.10 or later.
- Low friction—pure Python with no external runtime dependencies and a wheel distribution.
- Last release 63 days ago; repository active with recent commits and 344 stars.
License · maintenance · safety
GPL-3.0-only (copyleft) — GPL-3.0-only (copyleft): any application that links or distributes this library must also be released under GPL-3.0 or a compatible copyleft license. Proprietary or closed-source projects cannot use it without negotiating an alternative license.
last release 2026-06-12 (63 days) · last repo commit 2026-08-01 · 344 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 99,055 downloads/mo, #13,042 on PyPI
Alternatives
Verify before relying
pip install ofxtools
import ofxtools.Parser
parser = ofxtools.Parser.OFXTree()
parser.parse(ofx_file_path)
ofx_data = parser.convert()- Whether the library handles all real-world OFX variants from major financial institutions without manual workarounds.
- Performance characteristics when parsing large transaction histories or complex investment portfolios.
- Whether Quicken QFX proprietary extensions are silently dropped or logged during conversion.
What it is and what it does
ofxtools is a Python library for reading, writing, and converting Open Financial Exchange (OFX) data—the standard format banks and brokerages use to deliver transaction and account information. It handles both OFX versions 1.6 (SGML markup) and 2.03 (XML), plus Quicken's QFX variant, converting serialized financial data into native Python objects while preserving structure. The library implements comprehensive coverage of the OFX specification including banking, bill pay, investments, and tax extensions (1099 forms), with particular strength in investment account support.
ofxtools requires only Python 3.10+ and the standard library, making it lightweight to install. It's built on a maintainable, standards-based data model that maps directly to OFX specification sections, and has been tested against over 10 years of real-world OFX feeds from various institutions. Use it to extract transaction data outside proprietary financial software, build Python applications that consume bank feeds, or generate OFX-formatted exports from your own systems.
Use it for
- Extract bank and investment transactions from OFX downloads to build custom financial dashboards or analysis tools.
- Convert transaction data between OFX versions or from QFX (Quicken) format to standard OFX for interoperability.
- Generate OFX-formatted feeds from a custom accounting system for import into GnuCash, Quicken, or other financial software.
- Parse investment account statements (holdings, trades, dividends) from broker OFX feeds for portfolio tracking.
- Automate reconciliation workflows by reading OFX bank statements into Python for matching against internal ledgers.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, with a license caveat.
ofxtools is stable (Production/Stable status), actively maintained, has no known vulnerabilities, and installs with zero external dependencies. It's the most comprehensive OFX implementation in Python and covers the vast majority of real-world use cases. However, its GPL-3.0-only license is a hard blocker for proprietary or closed-source applications—only install if your project can adopt GPL-3.0 or you have an alternative licensing arrangement.
Install
ofxtools on PyPI
Before you install
Low friction—pure Python with no external runtime dependencies and a wheel distribution. Last release 63 days ago; repository active with recent commits and 344 stars.
Requires Python 3.10 or later.
License in practice
GPL-3.0-only (copyleft): any application that links or distributes this library must also be released under GPL-3.0 or a compatible copyleft license. Proprietary or closed-source projects cannot use it without negotiating an alternative license.
Quickstart
pip install ofxtools
import ofxtools.Parser
parser = ofxtools.Parser.OFXTree()
parser.parse(ofx_file_path)
ofx_data = parser.convert()
Verify before relying
- Whether the library handles all real-world OFX variants from major financial institutions without manual workarounds.
- Performance characteristics when parsing large transaction histories or complex investment portfolios.
- Whether Quicken QFX proprietary extensions are silently dropped or logged during conversion.
Package facts
| License | GPL-3.0-only copyleft |
| Python support | Supports the current Python release >=3.10 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 63 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 99,055 / month, #13,042 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: Financial and Insurance IndustryNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Topic :: Office/BusinessTopic :: Office/Business :: FinancialTopic :: Office/Business :: Financial :: AccountingTopic :: Office/Business :: Financial :: InvestmentTopic :: Software Development :: Libraries :: Python ModulesTopic :: Utilities |
Evidence: ofxtools-1.1.1-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “bank transaction import”
- ofxtoolsParses, generates, and converts Open Financial Exchange (OFX) data in…
- mt-940Parses MT940 bank statement files into fully typed Python collections…
- bai2Parses and writes BAI2 files, a standard format for bank balance…
Give your agent the search over MCP, or paste the wish link into any chat.
More Python Modules packages
Converts domain names between Unicode and ASCII-compatible encoding (Punycode) according to IDNA 2008 and Unicode Technical Standard 46, with security validation and broader script coverage than the standard library.
Install it if you work with internationalized domain names, need to validate domains, or use HTTP clients that depend on it transitively.
Setuptools is a Python build backend and package management tool that handles building, distributing, and installing Python packages, including support for C/C++ extension modules.
PyYAML parses and emits YAML 1.1 data format, enabling serialization and deserialization of configuration files and Python objects to and from human-readable YAML text.
Pydantic validates Python data structures against type hints, coercing and checking input at runtime to ensure it matches a declared schema.
Provides reusable metadata objects for use with PEP-593 `typing.Annotated` to express common constraints like bounds, collection sizes, and predicates on types.
Install it if you use or build libraries that need to express type constraints in a standardized, inspectable way—or if you want to annotate your own types with…
Provides runtime tools to inspect and introspect Python type annotations, enabling programmatic examination of type hints at execution time.
See also ofxparse · sepaxml · mt-940 · simplefix · sdmx1 · tradingeconomics · alpha-vantage · bai2 · edgartools · databento