fix off-by-one error in InvoiceDataFile and begin work on InvoiceOutputFile