List of external software interfaces

From GnuCash
Revision as of 13:27, 28 January 2024 by Fell (talk | contribs) (({{WebURL}} -> {{URL:www}}; http -> https; …)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This article lists past and present external software interfaces of GnuCash, and suggests possible additional interfaces. It was started to figure out how one can "plug in" to gnucash.

This article is just descriptive, and neither normative nor authoritative.

Warning
Most of this page is still from 2006.

Current interfaces

  • QIF/OFX/HBCI import (src/import-export (1.8); src/import-export (current))
  • direct data manipulation
    • XML (GnuCash XML format)
      • "The new [1.6] version uses XML (making it much easier to write independent tools to manipulate GnuCash files) …" [GnuCash 1.6 User Manual]
      • "[modifying the XML is] risky and not recommended" (see FAQ)
    • SQL: A generalized backend that supports SQLite3, MySQL, and PostgresQL. This still has some issues with not saving all data in a few corner cases, largely due to flaws in GnuCash's data layer design. Directly querying the database is difficult for anything but the simplest queries, and correctly updating the database without using the GnuCash API is nearly impossible.
  • custom reports (in the programming language Scheme)
  • Finance::Quote
  • python-gnucash, a set of Python bindings to the GnuCash libraries
  • gnucash-perl, experimental Perl modules to interface the GnuCash file
  • jgnucashlib, Java library for manipulating the GnuCash file
  • PyGncLib, python xml bindings and scripts for manipulating the GnuCash xml file

Legacy/unsupported interfaces

These interfaces were supported in prior versions of GnuCash.