OFX support, status

Benoit Grégoire bock@step.polymtl.ca
Wed, 27 Mar 2002 03:58:13 -0500

Greetings everyone,

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.
-Detailed logs

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.

Good night,

Benoit Grégoire