List of external software interfaces
From GnuCash
- Note: The main place for submitting enhancement requests is the bugzilla database, see Bugzilla. Feel free to collect anything you want here on this page, especially any kind of overview, but please keep in mind that single issues are followed by the developers in Bugzilla much more closely.
- Also: Can you please state the purpose of this page a bit more clearly? Should this be a status report of the currently existing interfaces? Or do you want to collect all interfaces that someone could imagine? In the latter case, I'd strongly suggest that you make it really totally obvious whether these 1. are currently existing and working, 2. used to exist and might be reactivated with moderate effort, or 3. are totally new features which would require really a lot of work. If you add descriptions like these as far as you know then, I'd gladly fill in the rest. --Cstim 04:33, 23 February 2006 (EST)
This article lists past and present external software interfaces of GnuCash, and suggests possible additional interfaces. In-process extensibility features are not listed (e.g. custom Scheme reports).
- RPC (bitrotted [1])
- Perl bindings (bitrotted [2])
- QIF/OFX import
- from files
- CSV/TSV/XLS/ODS → QIF conversion (see FAQ#Q: How do I convert from CSV, TSV, XLS (Excel), or SXC (!OpenOffice.org Calc) to a QIF?)
- OFX
- OFX Direct Connect via AqBanking library http://www.aquamaniac.de/aqbanking. Aqbanking has also additional import/export facilities which are currently not yet implemented in gnucash.
- from files
- direct data manipulation
- XML, "risky and not recommended" (see FAQ)
- PostgreSQL
- QOF access to the data file. I hope http://qof.sourceforge.net does offer some documentation about how this is intended to work, but I don't understand it so far.
Wish list
- CORBA, to communicate with a running GnuCash instance. E.g., a running GnuCash incarnates a CORBA object of type:
interface GnuCash // simplified { exception GnuCashException typedef string Guid; struct Split { Guid id; boolean reconciledState; string value; string quantity; Guid account; }; typedef sequence<Split> SplitSeq; struct Transaction { Guid id; string datePosted; string dateEntered; string description; SplitSeq splits; }; void submitTransaction(in Transaction t) raises (GnuCashException); };
- linkable library
- for communicating with a running GnuCash instance
- for manipulation of GnuCash database or XML file directly