dfinvoice-month - parse a QSF XML file show pending payments
dfinvoice-month [-m|--month INTEGER]
-m|--month is the number of months to backtrack when looking
for data - the default is 1 to get a complete month of content.
Using a configuration file in the user home directory,
/home/user/.datafreedom/invoice.conf, the script reads the Palm data
synchronised using "pilot-qof --invoice-city", combines the data with
location and rate details in the configuration file and outputs a table
summarising the invoices and costs.
This configuration sets a mileage rate (expenses charged for personal
transport for business purposes, per unit distance) and a default
hourly rate for the work itself. Other expenses are read in from the
"pilot-qof" data in the basefile. If "category" is set, the string is
passed to the "--category" option of "pilot-qof" to isolate specific
categories of appointments, expenses and contacts from the rest of your
data. (Only one category is supported.)
For places where the rates differ, location-specific sections can be
added - the hourly rate overrides the default rate and the code is
meant to be a shorthand for the location itself. e.g. if Head Office
etc. puts a code in the invoice payment notice to represent the
location or the cost code and similar, to help you identify the
appropriate line of content in the notice itself.
Payments can also be handled with a simple list in ~/.datafreedom/paid
where each line refers to one invoice (even if more than one invoice is
paid with the same reference). The list needs a simple format:
date : reference
where 'date' matches the date format used by the "pilot-qof -t" option:
e.g. 2009-11-24 for the 24th day of the 11th month in the year 2009.
$ date +%Y-%m-%d
Whatever text occurs after the colon until the end of the line is used
as the payment reference.
Only one reference can be supported for any one date.
If no invoice exists for the date for any given reference, that
reference is ignored in the output but is still counted.
The design of the script and the structure of the data suits particular
types of businesses (specifically mine) and might not suit others so
The main objective is to support "consultant" or "service" industries
rather than "retail" or "commodity" industries - with a further
assumption that work is performed and paid on the basis of single dates
with not more than one invoice per day, although one payment can cover
more than one date and therefore more than one 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'
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
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.
pilot_expenses is part of pilot-qof. Can also be used with gpe-
expenses - compatibility with the default SQLite gpe-expenses backend
Neil Williams, "<codehelp at debian.org>"
Please report bugs via the datafreedom-perl package in the Debian BTS
or via the pilot-qof project and the SourceForge trackers.