c.gatzemeier at tu-bs.de
Sat Jul 5 03:54:45 CDT 2003
On the gnucash-de mailing list the idea of a generic-exporter has developed to
improve integration of HBCI-protocol features.
Since I read about some interest to export transactions, i.e. making payments,
etc. in the gnucash-devel archive I thought a generic-exporter framework
might also be a good idea for other online protocols, file formats or check
So I translated the idea that has developed on gnucash-de and would like to
contribute it for discussion.
Right now generation of hbci online transactions can only be done in a stand
alone gui. Such nice features as SX can't be used because it is not
hbci-aware. Without a concept probably the same would be true with any other
The concept involves defining a format for "bank contact" data that is stored
within the description fields of regular gnucash transactions which should
not be a problem for any other feature to handle (passively).
The generic-exporter would have to
1) look for transactions that are pending "online actions",
2) read the "bank contact" and info data,
3) hand those transactions to specific hbci-, ofx-, web-, print-exporter etc.
4) and change the status of transactions accordingly
Pending "online actions" would be characterized be two things. The "action"
field is set to something the exporter recognizes like "wire transfer" and
the status is set to a yet to define new status like "s" for "send it".
One problem is that bank interfaces need datafields that are not explicitly
necessary in gnucash. The account number, the bank, and the name of the
receiver for example.
Therefore "bank contact" data is stored in the descripion fields in a unique
way. The new International Bank Account Number Standard (IBAN) is suggested
to be used.
Here is an example:
electricity "customer #999" <local-electic at DE00 5555 5555 1234 5678 90>
The contact data is written in brackets. The left part is the name and the
right part is the IBAN. The first two letters from the IBAN specify the
country, next is a two digit checksum, and for german IBANs (DExx ...) a 8
digit bank code and a 10 digit account number follow.
Here "customer #999" is specified for the info field of the order, so that the
rest of gnucash's info field does not get exported and remains as a private
The generic-exporter could also display the transaction for verification,
maybe in the (printable) International Payment Instruction (IPI) standard
PS: To support international transfers it might be necessary to allow to
append the Bank Identification Code (BIC ) to the IBAN: <Name at IBAN.BIC>
This translation also available on the wiki:
More information about the gnucash-devel