more on OFX data and bank codes

David Reiser dbreiser at
Thu Jul 24 12:30:32 EDT 2008

On Jul 23, 2008, at 11:10 PM, David Reiser wrote:

> In AO_Provider__ProcessImporterContext from src/plugins/backends/
> aqofxconnect/plugin/provider.c, Martin handles the case of null
> bankcode in the OFX data stream by looking up the bankcode associated
> with the user in the aqbanking settings.conf data.
> So it looks to me like OFX needs special handling beyond a one-size-
> fits-all gnc_ab_accinfo_to_gnc_acc.
> Dave
> --
> David Reiser
> dbreiser at

I figure that by the time we get here, there should be zero chance  
that the data stream will  be missing both a bank code and an account  
number. Borrowing from Martin's provider.c in the ofx backend, the  
following works for me:

Index: src/import-export/aqbanking/gnc-ab-utils.c
--- src/import-export/aqbanking/gnc-ab-utils.c	(revision 17400)
+++ src/import-export/aqbanking/gnc-ab-utils.c	(working copy)
@@ -430,12 +430,17 @@
      gchar *online_id;
      Account *gnc_acc;
+    const char *sBankCode;
+    const char *sAccountNumber;

      g_return_val_if_fail(acc_info, NULL);

-    online_id =  
-                            (gchar*)NULL);
+    sBankCode=AB_ImExporterAccountInfo_GetBankCode(acc_info);
+    if (sBankCode==0)
+      sBankCode="";
+    sAccountNumber=AB_ImExporterAccountInfo_GetAccountNumber(acc_info);
+    online_id = g_strconcat(sBankCode, sAccountNumber, (gchar*)NULL);
      gnc_acc = gnc_import_select_account(
          NULL, online_id, 1,  

In case it isn't obvious, I don't know the variable declaration and  
assignment rules, so additional clean-up is probably a good idea.

The above does work for ofxdirectconnect sessions with either credit  
cards (no bankcode) or my bank (sends both bank code and account  

It might be worth considering adding a space between the bankcode and  
account number in online_id to make it more readable in the account  

David Reiser
dbreiser at

More information about the gnucash-devel mailing list