RFE: generic-exporter

C. Gatzemeier c.gatzemeier at tu-bs.de
Sat Jul 5 03:54:45 CDT 2003

Hi everyone!

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 
interface implementation.

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 mailing list