dfinvoice-month(1) 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.

Example configuration:

 [Acacia Avenue]

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 well.

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' 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


pilot_expenses is part of pilot-qof. Can also be used with gpe-expenses - compatibility with the default SQLite gpe-expenses backend is pending.





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.