Sophie

Sophie

distrib > Mandriva > 9.1 > ppc > by-pkgid > 8af49959c747c191f0b856cb63440106 > files > 9

libofx-0.6.2-2mdk.ppc.rpm

Copyright (c) 2002 Benoit Grégoire

This is the LibOFX library.  It is a API designed to allow applications to very easily support OFX command responses, usually provided by financial institutions.  See http://www.ofx.net/ofx/default.asp for details and specification. This project was first started as my end of degree project, with the objective to add OFX support to GnuCash http://www.gnucash.org/ If you can read French, the original project presentation is included in the doc directory.  I finally decided to make it into a generic library, so all OpenSource financial software can benefit.

LibOFX is based on the excellent OpenSP library written by James Clark, and now part of the OpenJADE http://openjade.sourceforge.net/ project.  OpenSP by itself is not widely distributed.  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 is written in C++, but provides a C style interface usable transparently from both C and C++ using a single include file.

In addition to the library, two utilities are included with libofx

ofxdump:
ofxdump prints 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

ofx2qif:
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

Design goal of LibOFX:
-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.

LibOFX was implemented directly from the full OFX 1.6 spec, and currently supports
-Banking transactions and statements
-Credit card and statements

For the 1.0 release this summer, it should also support
-Header parsing
-DTD autodetection
-OFX 2.0
-Currency conversion
Somewhere in the future:
-investment transactions.
You should read the file doc/implementation_notes.txt

This is an ALPHA release.  It really works and is not vaporware, but the API is still subject to change, and several OFX structures are not
fully implemented, notably currency conversions and the <PAYEE> aggregate.

Currently this project is a little light on documentation, it will improve quickly.  However, 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.

Call for help:
-Please note that despite a very detailled spec, OFX is by nature very hard to test.  I only have access to the specifications examples, and
my own bank (Desjardins).  But I need people to run as many ofx files from different banks as they can thru libofx, and report the result.
-This is my first attempt at writing an API.  I need comments from financial software writers about inc/libofx.h  What do YOU need?

Benoit Grégoire
bock@step.polymtl.ca