• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

config/H23-Apr-2021-16,56012,321

doc/H03-May-2022-6,1235,136

dtd/H03-May-2022-9,5243,288

inc/H03-May-2022-3,5242,458

lib/H03-May-2022-10,8377,844

m4/H03-May-2022-9,6758,726

ofx2qif/H03-May-2022-909753

ofxconnect/H03-May-2022-3,6802,854

ofxdump/H03-May-2022-3,4572,933

AUTHORSH A D29-Sep-2019251 1210

COPYINGH A D29-Sep-201914.9 KiB281237

ChangeLogH A D29-Sep-201926.6 KiB501395

INSTALLH A D05-Feb-202015.4 KiB369287

Makefile.amH A D08-Mar-2021707 3730

Makefile.inH A D03-May-202230.3 KiB970865

NEWSH A D23-Apr-202117 KiB311259

READMEH A D29-Sep-20194.2 KiB5136

aclocal.m4H A D23-Apr-202152 KiB1,4461,308

config.h.inH A D23-Apr-20212.7 KiB10472

configureH A D03-May-2022633 KiB20,82417,528

configure.acH A D23-Apr-202112.7 KiB415361

libofx.lsmH A D23-Apr-2021451 1514

libofx.lsm.inH A D29-Sep-2019476 1514

libofx.pcH A D23-Apr-2021419 1714

libofx.pc.inH A D29-Sep-2019383 1714

libofx.specH A D23-Apr-20212.1 KiB7259

libofx.spec.inH A D29-Sep-20192.1 KiB7259

README

1Copyright (c) 2002-2010 Benoit Grégoire
2
3This 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/ for details and specification. This project was first started as my end of degree project, with the objective to add OFX support to [GnuCash](https://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.
4
5LibOFX 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.
6
7In addition to the library, three utilities are included with libofx
8
9**ofxdump**:\
10ofxdump prints to stdout, in human-readable form, everything the library understands about a particular OFX response file, and sends errors to stderr.  It is a C++ code example and demo of the library (it uses every functions and every structures of LibOFX)\
11usage: `ofxdump` _path_to_ofx_file_`/`_ofx_filename_
12
13**ofx2qif**:\
14ofx2qif 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 transaction 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 sucessfully in just about every software with QIF support.
15I do not plan on working on this utility much further, but I would be more than happy to accept contributions.\
16usage: `ofx2qif` _path_to_ofx_file_`/`_ofx_filename_ `>` _output_filename_`.qif`
17
18**ofxconnect**:\
19sample app to demonstrate & test new direct connect API'\s (try "make check" in the ofxconnect folder).  Read [ofxdump/README.privateserver](ofxdump/README.privateserver) first.
20
21LibOFX strives to achieve the following design goals:
22
23* 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.
24* Data directly usable from C, without conversion: A date is a C `time_t`, money is a float, strings are `char[]`, etc.
25* 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.
26
27LibOFX was implemented directly from the full OFX 1.6 spec, and currently supports:
28* Banking transactions and statements.
29* Credit card and statements.
30* Investment transactions.
31* OFX 2.0
32
33Future projects for libofx include:
34* Header parsing
35* DTD autodetection
36* Currency conversion
37* QIF import
38* QIF export (integrated inside the library)
39* OFX export
40
41Full 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.
42
43Call for help:
44* Please note that despite a very detailed spec, OFX is by nature very hard to test.  I only have access to the specifications examples, and
45my 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.
46* This is my first attempt at writing an API.  I need comments from financial software writers about inc/libofx.h  What do YOU need?
47
48Benoit Grégoire\
49benoitg@coeus.ca
50
51