Hi,
We have used Adagio Invoicing in many sites to do something similar to your requirements, especially to service work, warranty work, and time and materials invoicing.
Invoicing allows you to log the time as an invoicing item (sort of like a non-stock item with rates per hour set by task, machine, or employee).
You can also draw parts from inventory, although invoicing doesn't really commit the parts properly as being on the work order until the Invoice (work order) is posted.
You can keep building the Invoice work order and print off draft copies like a work order traveller and then print and post when complete.
The draw backs are that the committed inventory on WO doesn't update inventory, and Invoicing because is if closely linked to Receivables, creates locking issues when users post in Receivables, and there are multiuser locking issues for users in Inventory. The invoiced inventory from Invoices are imported into Inventory in batch (similar to an end of Day in OE).
I hope the locking issues will be resolved soon. In a smaller shop they are less of a problem.
The invoice format can be as flexible as you can be creative.
Regards,
Brian