Web interface for gnuCash

Neil Williams linux at codehelp.co.uk
Mon Jul 4 15:15:07 EDT 2005

On Monday 04 July 2005 6:09 pm, Derek Atkins wrote:
> Hi,
> I think it would be a lot of work to implement a web interface
> frontend for Gnucash.

Personally, I think it would be more reasonable to implement a data access 
interface in HTML/PHP/Perl than to replicate the entire program. QSF could 
help here - much like I'm planning on doing with Palm / Psion applications - 
create an interface that can handle GnuCash data as QSF XML or just handle 
certain elements, like creating invoices or transactions. This would parse 
XML exported from GnuCash and then output modified XML that GnuCash could 
merge back into the main data file(s).

It's important that the data is merged rather than simply hacked into the 
existing storage. The user must have control over how any conflicts are 

This kind of abstraction / separation is useful because it frees each program 
to do what they do best without artificial restrictions on "it must do X this 
way because that's the way GnuCash does it" which would inevitably result if 
you tried to access GnuCash storage directly.

The reality is that a www front-end for GnuCash cannot work as GnuCash works. 
It must work within the confines of the www interface itself. This sounds 
obvious but the effects percolate down through the entire design. The more 
you think about the design, the more you realise the subtlety of the changes.

QOF-generator is a start in this direction. There will be a Perl parser for 
QSF XML and a PHP one will follow. That should allow any PHP script to accept 
GnuCash data. Probably use some form of MySQL database for temporary storage 
and cookies, sessions, etc., for data processing and then write out more QSF 


This is purely theoretical at this stage, it's a nice idea and I'd support 
anyone who wants to give it a go!

Derek is spot on, it could be a huge amount of work, depending on how *much* 
of current GnuCash functionality is supported in the www data interface.

With the Palm applications, I'm planning on supporting existing open source 
finance applications for the Palm and providing a QOF/QSF conduit via 
pilot-link. The logic is already implemented and therefore my task is 
considerably easier. Even so, there is virtually 0% chance that any of this 
will be supported by the time G2 is released - more likely it will develop to 
it's own timetable once G2 is out and my time becomes my own again!

> There is a lot of business logic in the UI. 
> The "database" has no logic at all, it's just a data storage system.

This is the real challenge - handling complex GnuCash data within the 
relatively simplistic handling methods available over www. Parsing and 
exporting QSF XML would be the easy part. The particular difficulties relate 
to how one object (like a transaction) is related to another (like an 
account). This can be difficult to replicate outside C/Scheme.


Neil Williams

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://lists.gnucash.org/pipermail/gnucash-devel/attachments/20050704/4cc037cf/attachment.bin

More information about the gnucash-devel mailing list