GnuCash XML spec

John Ralls jralls at
Thu Nov 1 12:43:30 EDT 2012

On Nov 1, 2012, at 9:32 AM, Geert Janssens <janssens-geert at> wrote:

> On 01-11-12 17:13, Derek Atkins wrote:
>>> Also, what is the policy of GnuCash towards manipulating the XML. Because I
>>> remember that for the database, I once read something like "We do not support
>>> modifications to the database from outside the GnuCash
>>> API. ".
>>> queries-on-mysql-tp3053682p3053871.html
>>> Is modifying the XML also actively discouraged?
>> Yes.  All data 'writes' should only happen through the GnuCash API.
> Which means there are currently 3 supported ways to modify the data:
> - using the GnuCash application's gui
> - you can write a guile/scheme script that uses the GnuCash API
> - if python bindings are enabled on your platform you can also write a python script that uses the GnuCash API.

There's a fourth: You can write a program in any language which can load a C library. That's a *lot* of languages, including Java. You may have some work to do to wrap the C function calls in a way that you can use them in the language you choose. You may find Swig helpful in this regard, especially since Swig is what we use to provide the Guile and Python bindings.

John Ralls

More information about the gnucash-devel mailing list