qif2ofx
Convert credit card transactions in Quicken Interchange format (QIF) to Open Financial Exchange (OFX). Use this if you can only comfortably import OFX in your finance tool of choice. For example, I use beancount-import (what an excellent tool!), but so far it only directly supports ingesting OFX. My bank decides to only distribute in QIF, so hence this (lazy) way of solving the problem.
The converter assumes you have credit card transactions in your QIF, and not whatever else QIF can be used to represent, because that's my only use-case so far.
Install
The following provides the executable qif2ofx and the python library qif2ofx:
pip install qif2ofx
Usage
OFX is a lot richer than QIF, from what I gathered from briefly looking at the specification (don't, if you want to preserve your sanity. It hurts my eyes. Why did they make all the tags in capital letters). QIF is basically a list of transactions, without real context, while OFX offers rich descriptions of all sorts of financial concepts. Hell, QIF doesn't even have a concept of currency. Hence to convert our QIF input to OFX we need to provide a bunch of metadata:
qif2ofx \
# A glob expression, or path for that matter, of QIF files
# we'd like to convert to OFX
--glob "path/to/**/*.qif" \
# The currency we'd like to set in our OFX file.
--currency GBP \
# Again, QIF has no notion of accounts, OFX does. Tools handling
# OFX expect an account identifier so they can reconcile with
# the appropriate account in the money management tool.
--acctid puppies
This is the bare minimum we need to generate a valid-ish OFX out of your QIF. You can set a few more options through the command line to control some details, see qif2ofx --help for more details.
Metadata
Release files for qif2ofx 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| qif2ofx-0.1.0.tar.gz | 6.4 kB | Without provenance | Details for qif2ofx-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| qif2ofx-0.1.0-py3.8.egg | Legacy Egg format | - | - | Details for qif2ofx-0.1.0-py3.8.egg |
Total release size: 19.1 kB
Release files / qif2ofx-0.1.0.tar.gz
| Download URL | qif2ofx-0.1.0.tar.gz |
|---|---|
| Size | 6.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7d22de980c06809500c2508cd9bbbf8eac068acd4bbea9af1dbb1615ad4a04c9
|
|
BLAKE2b-256 checksum How to use checksums |
b29e1cc537cabcb48698d3400a370a95ad962bbdc92b222bab014af8fe5c2537
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3
|
Release files / qif2ofx-0.1.0-py3.8.egg
| Download URL | qif2ofx-0.1.0-py3.8.egg |
|---|---|
| Size | 12.6 kB |
| Tags | Egg |
|
SHA-256 checksum How to use checksums |
68eacbf1597ffed15d33683781821b9cf894ea572b481594a926132e72415832
|
|
BLAKE2b-256 checksum How to use checksums |
9b067f48efe88f6d6e7faf87377d465809b6692392897a8ad18e2efde9f61759
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.3.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3
|
Security for qif2ofx 0.1.0
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.