Questions about gnuCash backend access

Daniel Espinosa esodan at
Sat Aug 25 19:03:05 EDT 2007

2007/8/24, Derek Atkins <warlord at>:
> Quoting Daniel Espinosa <esodan at>:
> > 2007/8/24, Samuel deHuszar Allen <dehuszar at>:
> >> I am a Lotus Notes / web developer.  Have built a custom Notes app for
> >> invoicing and billing and am wondering if there is a programmatic way to
> >> create transactions and records in gnuCash.  If so, what languages/tools are
> >> needed to talk to the program?   I am also curious how transactions are
> >> stored internally.  XML?  Ideally, I would like to create a connection that
> >> would allow either the Domino server, or a server agnostic webservice to
> >> write and retrieve information from mobile devices/web forms.
> >>
> >
> > For thease reason and others in the mailing list (one about to have an
> > applet), is realy important to allow simultaneous multiaccess to the
> > GnuCash data.
> Agreed.  We really need a viable multi-user backend for GnuCash.

What do you think is the BETTER way to do so?

> > Allowing other apps to use a library to connect to the data for
> > consult or modify, without need to run ANY GUI is one of the best
> > solution. I think the use of a GDA based interface could be usefull,
> > any could create powerfull (near to the standard SQL instructions)
> > queries for insert, update or delete, using GdaQuery, connect to the
> > database backend using GdaDict. This library *must* ensure the data
> > integrity and, I think, works as a layer between the applications and
> > GC's data.
> I'll point out, YET AGAIN, that GDA is NOT necessary to solve this
> problem.  One could just as easily write a new application against
> the existing GnuCash APIs and create their own application that
> doesn't use the standard GnuCash GUI.

I realy considering to do that. I don't know way you think that but...

> Having said that, GnuCash does not currently have a supported
> multi-user backend.  That WOULD be a requirement, so I encourage
> you to help Phil Longstaff complete the GDA Backend in the gda-dev
> branch.

You say: "multi-user backend", but it isn't the same that a
"multi-user enviroment" , I think the solution is:

a) Create a GnuCash Server a la Evolution, this allows any application
to use the GC's data, but this enviroment just allow connections from
the same computer and in a bussines software like GnuCash, you will
need to get multiple connections from diferent computers (the
accountant, the cashier, the owner, etc.)

b) Allow GnuCash to connect to a database server, in this escenario
each user will get a GUI frontend (actual GC's GUI) and will share
data with others using the multi-user enviroment by the dabase server
(this will be archived by the GDA backend), but it doesn't allow any
other application to use the GC's data and make sure it is using it in
the way GC does, keeping the data consistency and run the riquired
actions actualy in the GC's engine.

c) Allow multiple applications to connect to the GC's data by an API,
the data must be stored in a database server to get a multi-user
enviroment. With this any application can use the data in a consistent
way and doing just GC's engines wants to. As an adition you can allow
anyone to create the GUI according with its inviroment.

QOF dataset query engine is very limited and we want GDA give QOF with
the multiuser features GC needs, I think that GDA must replace QOF.
GDA can give us the same functionalities: datasets and queries, but in
a powerfull version, and the multi-user features required by GnuCash.

I'm actualy working in a library to get the same functionalities in
GC's engine but using directly GDA. This library must export an API to
be used by any application to get access to the data.

Trabajar, la mejor arma para tu superación
"de grano en grano, se hace la arena" (R) (entrámite, pero para los
cuates: LIBRE)

More information about the gnucash-devel mailing list