OFX support, status
Wed, 27 Mar 2002 03:58:13 -0500
A month ago I sent a message to indicate that I was planing on working on OFX
support a my end of degree project.
I am happy to announce that my project has been accepted, and that work is
coming along quickly.
My project has changed somewhat from it's initial form. Developping ofx
support deep into Gnucash while keeping up with the GnuCash CVS would have
been very awkward, since there will initially be a lot of changes, as users
provide me with sample files of special case from their bank. I suddenly
realized that I had already abstracted almost enough to build a very generic
library for OFX support. So it will now be a shared library. The advantage
is off course that it will be easily upgradable, and usable by any open
project who wants ofx support. I will now send more time developping a
really complete library, and a little less integrating it in gnucash.
Parsing using the DTDs is already working. The library is based on OpenSP,
now part of the OpenJade project: http://openjade.sourceforge.net/. My
library is almost completely data driven. It makes as few assumption on the
structure of the document as possible.
Ultimately (in June) it should have the following features:
-OFX version 1.02 thru 2.02 supported for bank, credit card and investment
-Version 1 and 2 messages
-Based on the spec, so it should support out of the box features and messages
not yet implemented by banks.
-Simple C/C++ interface, in a single header file. The library will call a
few call-back functions, and pass a data structure (such as bank, account,
transaction, message) with the pre-digested transaction.
-ALL Ofx status messages supported. Human readable explanation are provided
to the application
-Ofx Header parsing and DTD autoselection
-Validation using the appropriate DTD
-Financial institution information
-Data driven nature should allow it to parse just about anything that looks
like an OFX file and give usefull result.
Features it will probably NOT have by that point:
-Data encryption (OFX data encryption, not SSL). Does anyone need it?
-Direct requests TO the bank (Without an OFX server to use as a testbed, good
luck developping that)
I will be releasing my first beta in a few week. Since I very much doubt
that many people will want to download it just to look at the source (human
nature...), I plan to provide a very basic ofx to qif converter, which will
use the library. Off course this is much more than just a dumb translator,
but this should be at least marginally usefull in the immediate.
When support for the library is added into GnuCash, I hope GnuCash can do
much better than blindly converting transactions. It should eliminate
duplicate, Auto-suggest matching transactions, etc.
Comments and suggestions and questions are highly appreciated.