dfxml−invoice − parse a QSF XML file and prepare a simple invoice
These scripts developed from the ’pilot−qof’ package but now include support for other packages and formats and will continue to be extended along the lines of http://www.data−freedom.org/ − liberating user data from the application. Therefore, the datafreedom scripts use a ’df’ prefix.
The scripts continue to be developed within the pilot-qof CVS until such time as the scripts are sufficiently cohesive to form a new source package.
Please feel free to contribute any of your own scripts, under the provisions of the GNU General Public Licence v3 or later, via the QOF-devel mailing list. http://lists.sourceforge.net/lists/listinfo/qof−devel
Version 0.0.1
dfxml−invoice FILENAME dfxml−invoice −h|−−help|−−version
dfxml-invoice parses a QSF XML file output by pilot-qof and prepares a simple invoice based on rates specified in ~/.datafreedom/currency which will be created for you.
Specify ’−’ as the filename to parse STDIN .
e.g.
pilot-qof −x data.xml −−invoice−city −t 2006−11−09 | dfxml-invoice −
A more complex example using ’zenity’ − a Gnome dialog generator.
$ pilot−qof −x data.xml −−invoice−city −t 2006−11−08 | dfxml−invoice − > /tmp/zenity zenity −−text−info −−title="2006−11−08" −−filename=/tmp/zenity −−width=500 −−height=300
dfxml−invoice, like pilot−qof, is designed to be used in pipes like this. It is intended to provide support for your own scripts where details like the date can be set as an option:
#!/bin/bash DATE=$1 if [ ! $DATE ]; then echo "$0: please specify the date of the invoice you want to view." exit fi pilot−qof −x data.xml −−invoice−city −t $DATE | dfxml−invoice − | \ zenity −−text−info −−title="$DATE" −−width=500 −−height=300
Note that if the currency uses a UTF−8 symbol, zenity may fail to display the symbol correctly unless the above code is adapted to write to a temporary file and zenity then loads that file using the ’−−filename’ option. See Debian Bug# 410728. http://bugs.debian.org/cgi−bin/bugreport.cgi?bug=410728
Or, a full zenity version which allows the date to be selected in a calendar widget:
#!/bin/bash set −e MSG="Select the date of the invoice to view" DATE=‘zenity −−calendar −−text="$MSG" −−date−format="%Y−%m−%d"‘ TIME=‘date −d"$DATE" +"%A, %B %e %Y"‘ if [ ! $DATE ]; then echo "$0: please specify the date of the invoice you want to view." exit fi pilot−qof −x /opt/data/pilot−qof/offline.xml −−invoice−city −t $DATE \ | dfxml−invoice − | zenity −−text−info −−title="$TIME" −−width=500 −−height=400
pilot_expenses is part of pilot−qof. Can also be used with gpe-expenses − compatibility with the default SQLite gpe-expenses backend is pending.
<http://qof.sourceforge.net/>
<http://pilot−qof.sourceforge.net/>
<http://gpe−expenses.sourceforge.net/>
Neil Williams, "<codehelp at debian.org>"
Please report bugs via the pilot-qof package, either in the Debian BTS or via SourceForge trackers.
Copyright 2007 Neil Williams. 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 3 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, see <http://www.gnu.org/licenses/>.