GnuCash for Symbian
christian at cstimming.de
Fri Apr 6 16:08:20 EDT 2012
I'm one of the authors of the online banking importer in gnucash (using HBCI
online protocol and/or files containing MT940 or OFX data).
I think your idea is great, but difficult.
As for the data format for importing transactions: I'd agree with the
reservations about QIF as a data format. It has some severe limitations, which
are somewhat worked around by the existing gnucash importer, but if you're
implementing a new importing scheme anyway, you should better choose an
exchange data format that doesn't give your obstacles from start on. Instead,
I'd rather suggest OFX as a data format. Hendrik mentioned a "unique
transaction identifier" that should be included in the exchange data format
for sure, and he is right. OFX has such a unique ID. It is being evaluated in
gnucash's OFX importer under the name "online-id". In fact, if the imported
file contains this field, duplicate transactions (whose online-id has been
observed in earlier imports) will be ignored from the import altogether right
now already. Hence, please try to use OFX' data format as your exchange data
format for transactions, if possible.
Am Freitag, 6. April 2012, 16:54:07 schrieb Łukasz Spas:
> Hmm... So maybe it would be better to develop some kind of
> synchronization protocol (that meets all specific gnucash requirements)
> based on TCP/Bluetooth connection?
You don't need a "protocol" for the gnucash part. You need a data format for
transaction data (and I suggest OFX). You do need a protocol for moving this
data from your Symbian device into a PC desktop application such as gnucash. I
don't know at all how to hook up the PC application "gnucash" as the listener
for specific bluetooth requests. I did some research on vaguely similar areas
when I tried to find out how to register gnucash as a handler for particular
URI schemes, see http://wiki.gnucash.org/wiki/Custom_URI_Scheme at the bottom.
There is surely no one-size-fits-all solution there, but instead each OS and
also each desktop system needs its own implementation of those hooks. Good
> It would be a lots of work but there is also no deadlines... :P Maybe
> some student form GSoK could also helps in this topic?
No, the GSoC students will be completely busy with their own projects. You can
surely expect no support from that side.
> This could be also useful when you have few desktop computers and you
> want to use GnuCash on all of them and easily keep your data
> It would be some kind of GIT for GnuCash. :D
No, I wouldn't advise broadening your scope from "synchronization from a
single mobile device to a single PC instance of gnucash" into some distributed
something. Instead, I'd suggest keeping your scope limited to exactly your
initial scenario: One mobile device with the data recording, and one PC with a
running gnucash. Now you need to solve:
- Data recording on the mobile (probably easy)
- Exporting data from the mobile into some bluetooth export (exporting is easy
if you choose your internal mobile data identical with the export data format;
hooking this into bluetooth requires some internal protocol digging in the
- Registering gnucash as a bluetooth listener application, probably first
limited to one specific OS and one specific desktop environment of your choice
- Getting some import process running in gnucash as soon as it receives the
data via bluetooth (which is probably easy as the "Import xy file..." already
exists in gnucash)
More information about the gnucash-devel