
This is the LibOFX library. It is a parser and an API designed to allow applications to very easily support OFX command responses, usually provided by financial institutions for statement downloads. To my knowledge, it is the first working OpenSource implementation of the OFX (Open Financial eXchange) specification on the client side. This project was first started as my end of degree project, with the objective to add OFX support to GnuCash. It since evolved into a generic library, so all OpenSource Financial software can benefit.
LibOFX 0.9.0 2007-11-19 11:47 - LibOFX
This release now exports version information thus allowing depending applications to determine the version of LibOFX is is compiled against.
Read More »
LibOFX 0.8.2 2006-08-25 10:38 - LibOFX
- bug fixes for GCC4.x and 64-bit compatibility
- fix to enable OFXDirectConnect in Aqbanking
- improvements to ofxpartner functionality
Read More »
LifOFX 0.8.0 2005-07-31 13:06 - LibOFX
- New DirectConnect API for statement downloads, thanks to Ace Jones and Martin Preuss
- Added ofxconnect sample app to demonstrate & test new API's (try "make check" in the ofxconnect folder). Read README.privateserver first.
- Apply Christian Stimming's patch for rpm building. Also adds a make rpm target.
Read More »
LibOFX 0.7.0 2004-10-08 17:47 - LibOFX
Interim API change stable release. New callback architecture, global context and other changes. Data elements remain read-only and the same as the 0.6 series.
- Fix compile with gcc 3.4. This also needs to be applied to the stable branch.
- Now uses a proper callback architecture (many thanks to Martin Preuss and Ryan P Bobko who contributed to it).
Read More »
LibOfx 0.6.6 2004-01-14 17:26 - LibOFX
-Important code cleanup in the parsing code. The parser should be much more independent of OpenSP default settings. Should get rid of "end tag for "MEMO" omitted, but OMITTAG NO was specified" type messages and many other parser failures.
Read More »
LibOfx 0.6.5 Released 2003-09-11 22:02 - LibOFX
Minor bugfix release, probably the last in the 0.x series.
Release notes:
Read More »
LibOFX 0.6.4 compile problem 2003-05-13 19:32 - LibOFX
A minor problem has surfaced with the release of libofx 0.6.4. For many users (possibly all gcc 2 users), compilation will fail with "ofx_utilities.cpp:151: implicit declaration of function `int
Read More »
LibOFX 0.6.4 released 2003-04-12 16:03 - LibOFX
-Fixes a critical bug that caused the decimals to be ignored in some locale. For example, importing in gnucash with a locale of fr_FR caused an amount of 19,95 to be imported as 19,00.
Read More »
LibOFX 0.6.3 released 2003-03-18 17:35 - LibOFX
A long overdue maintenance release. Highlights are
-Fix incompatibilities with big endian machines
-Fix compilation on sun
Read More »
Roadmap for the coming months 2003-02-17 21:10 - LibOFX
Hello everyone. I've been quite busy with the GnuCash 1.8 release. I am still very busy with real life, but I plan to turn more of my attention back to LibOfx for the next few months. So here is an idea of the roadmap of what is comming.
Read More »
Release of version 0.6.2 2002-11-24 20:56 - LibOFX
LibOFX 0.6.2:
-Hopefully fix incompatibilities with BOTH OpenSP 1.3.x and OpenSP >= 1.4
-Building as rpm is now available, thanks to Chris Lyttle.
Read More »
LibOFX incompatibility still lurking. 2002-11-21 22:24 - LibOFX
It seems I owe everyone an apology. Apparently I was too quick in accusing the new Mandrake openjade package to be responsable for newfound incompatibilitys with LibOFX 0.6.1. For now, I advise all users to do the following:
Read More »
Critical bug found in 0.6.0 2002-11-19 14:01 - LibOFX
A critical bug has been found in LibOFX 0.6.0 released yesterday. Parsing of a file would fail and hang for users of OpenSP 1.5pre5 (and possibly others). All users should upgrade to 0.6.1
Read More »
LibOFX 0.6.0 and GnuCash 1.7.3 2002-11-18 09:45 - LibOFX
A new tarball has been released to match the new gnucash 1.7.3 released today: http://www.gnucash.org/ There is is now extensive ofx investment download support. This is also the first official release of libofx to use a full autoconf build infrastructure. Please send mail to bock@step.polymtl.ca if it doesn't work for you. IMPORTANT NOTE: make uninstall your previous libofx version BEFORE you install this one. Many files changed name or location with the new build system, and installing over a previous version (0.5 and less) is likely to cause a horrible mess.
Read More »
LibOFX is based on the excellent OpenSP library written by James Clark, and now part of the OpenJADE project . OpenJADE 1.3.1 includes a version on OpenSP that will link, however, it has some major problems with LibOFX and isn't recommended. Since LibOFX uses the generic interface to OpenSP, it should be compatible with all recent versions of OpenSP (It has been developed with OpenSP-1.5pre5).
LibOFX strives to achieve the following design goals:
Simplicity: OFX is a VERY complex spec. However,
few if any software needs all this complexity. The library tries to hide this
complexity by "flattening" the data structures, doing timezone conversions,
currency conversion, etc.
Data
directly usable from C, without conversion: A date is a C time_t,
money is a float, strings are char[], etc.
C style
interface: Although LibOFX is written in C++, it provides an interface
usable transparently from both C and C++, using a single header file.
![]()
LibOFX was implemented directly from the full OFX 1.6 spec, and currently supports:
Full documentation of the API and library internals generated using doxygen is available. For a quick start, you should learn all you need to know to get started by reading the libofx.h file in the INC directory, and ofxdump.cpp in the ofxdump directory.
Human nature being what it is, no one would be willing to try out this library, or even believe that it is operational if I didn't do something usefull as distributed. For this reason two utilities are included with libofx:
ofxdump:
ofxdump outputs to stdout, in human readable form, everything the
library understands about a particular ofx response file, and sends errors to
stderr. It is as C++ code example and demo of the library (it uses every
functions and every structures of LibOFX)
usage: ofxdump path_to_ofx_file/ofx_filename
ofxtoqif:
ofx2qif is a OFX "file" to QIF (Quicken Interchange Format) converter. It was written as a C code example, and as a way for LibOFX to immediately provide something usefull, as an incentive for people to try out the library. It is not recommended that financial software use the output of this utility for OFX support. The QIF file format is very primitive, and much information is lost. The utility curently supports every tansaction tags of the qif format except the address lines, and supports many of the tags of !Account. It should generate QIF files that will import sucesfully in just about every software with QIF support.
I do not plan on working on this utility much further, but I would be more than happy to accept contributions.
usage: ofx2qif path_to_ofx_file/ofx_filename > output_filename.qif
Call for help:
Benoit Grégoire (bock@step.polymtl.ca)
If you have any problem or inquiry regarding this site, don't hesitate to contact me