gpe-expenses(1) Expense records for GPE using QOF (Query Object Framework).


Embedded platforms can choose not to include the libxml2 backend which means that QOF cannot provide the QOF XML backend (called QSF XML). Other platforms are free to use any available QOF backend. All platforms support the SQLite backend, command-line and --gui operation.

SQLite databases written on embedded platforms without libxml2 can be copied to the host PC for further processing and conversion of data to or from QSF XML and other formats. SQLite databases can also be queried directly, either using the sqlite application or at the gpe-expenses command line. Without libxml2 support, the output needs to be written to a new SQLite database but this can be used, e.g. to export certain categories of expenses, expenses within a particular time period or expenses that match other similar criteria to a new SQLite database. When accessing a SQLite database on the gpe-expenses command line, you need to specify the sqlite: access method (in a similar manner to specifying a particular protocol in the URL of other applications).

See Examples.


gpe-expenses {[[--gui]]} [[[--debug]]]
gpe-expenses {[[--explain]]}
gpe-expenses {[[-l] | [--list]]}
gpe-expenses {[[--version]]}
gpe-expenses {[[-?] | [--help]]}
gpe-expenses [[[--usage]]]
gpe-expenses {[[-i] | [--input-file]] filename} [[[-c] | [--category]] string] [[[-t] | [--date]] string] [[[-s] | [--sql]] string] [[[-f] | [--sql-file]] filename] [[[-w] | [--write]] filename] [[[--debug]]]


GPE Equivalent for Expenses on the Palm. Supports payment types, categories, expense types (mileage, meals, parking, etc.), notes and currency selection via a Gtk interface. Where available, SQLite data can be easily converted to XML using a QOF format called 'QSF', suitable for use with XSL and other tools.



Load the Gtk graphic interface. Options -w, -s, -f, -t and -c are ignored.

-i, --input-file filename

Load the QSF XML file:filename or SQLite database sqlite:filename.

file: access requires libxml2 support and the QSF XML backend. To access data in a gpe-expenses SQLite database, specify the sqlite: access method. See under EXAMPLES.

-l, --list

Lists all available databases and exit.


List the fields within the gpe_expenses database and exit. Only the one database is currently supported in gpe-expenses.


gpe-expenses options

-c, --category string

Shorthand to only query objects that are set to the specified category.

(Ignored by --gui).

-t, --date string

Shorthand to only query objects that contain the specified date. Specify dates using YY-MM-DD, YY-MM or just YY. Single digits can omit the leading zero, e.g. 04-12-1, 1st December 2004 - years less than 100 are assumed to be in the 21st century. Years prior to 2000 can be specified as YYYY-MM-DD etc. This value is taken as a range, 05-03-01 includes all times between Tue Mar 1 00:00:00 UTC 2005 and Tue Mar 1 23:59:59 UTC 2005. 05-03 includes all dates and times between Tue Mar 1 00:00:00 UTC 2005 and Thu Mar 31 23:59:59 UTC 2005. 05 includes all dates and times in 2005.

(Ignored by --gui).

-w, --write filename

Write the results of any query to a SQLite database or (if libxml2 is supported) a QSF XML file.

Remember to specify the sqlite: access method if libxml2 is not supported.

(Ignored by --gui).

-s, --sql string

Specify a SQL query on the command line.

(Ignored by --gui).

-f, --sql-file filename

Specify one or more SQL queries contained in a file.

(Ignored by --gui).


Enable debug output using /tmp/gpe-expenses.trace which will be created if it does not exist and overwritten if it does. If this fails, tries to create a temporary trace file in /tmp or uses stderr.

help options

-h, --help

Display the help synopsis for gpe-expenses.


Display a brief usage message and exit without connecting.

-v, --version

Display version of gpe-expenses.


Start the GPE-EXPENSES graphic interface with debug output sent to /tmp/gpe-expenses.trace

gpe-expenses --gui --debug

List all currently supported databases.

gpe-expenses -l

Copy all expenses in 2005 to a backup SQLite database.

gpe-expenses -i sqlite:/home/user/.gpe-expenses/expenses -w sqlite:business.sqlite -t 2005

Export all expenses that have the category Business using libxml2 and the QSF XML backend to STDOUT. Note that file: is the default access method and can be omitted only if libxml2 support is available. (SQLite is unable to output to STDOUT, always use -w with SQLite.)

gpe-expenses -i expenses.xml -c "Business"

Command line SQL query of SQLite storage.

gpe-expenses -i sqlite:business.sqlite -s "SELECT * from gpe_expenses where expense_city = 'London';"


gpe-expenses was written by Neil Williams [email protected].

This manual page was written by Neil Williams [email protected]


Please do NOT report bugs in gpe-expenses to GPE. Report bugs via the QOF-devel mailing list or use the reportbug tool in Debian.


This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.