Invoice Template for Engineering Services with Support for Change Order
It is a service company that does not have products. The services are delivered on a lump sum basis.
Requirements for the engineering service invoice template
- The company does not sell any products. Only services (projects). No tax is charged, no shipping and handling.
- The "payment" section on the template is being used only for handwritten notes (as a paper backup).
- Projects have a lump sum amount. For example, the company wins "Project A" from "Customer 1" for $2000. After 45 days, "Project A" may have a "Change Order" for $1500. So there will be two invoices for "Customer 1".
- One invoice will have only one Project associated with it. For example, on invoice number 1001, the company will NOT list Project A $2000, Project B $600....Total = $2600. But it will surely have Project A $2000, Project A Change Order $1500, Total=$1500.
- The list of items on the invoice body and the line total on each line will be entered manually, but the "Project Description" and "Job#" should be able to choose from a list.
Implementation detail
This template uses the first line of the invoice body as the "Project" and "Job#" cell. The "Line Total" cell of the first line is fixed to "1". The other lines on the invoice body are implemented as usual in the default invoice template.
When the word "Change Order" appears on the invoice body, the total of the whole invoice should be the line total of the change order. To get this result, firstly we use a formula to check whether the word "Change Order" appears on invoice body:
=VLOOKUP("change order",oknProductName_2:oknLineTotal_17,11,FALSE)
The above formula returns the line total value of the line where "Change Order" appears; if not found, the result will be "#N/A". The result of the formula is then put into the oknChangeOrder cell that is located outside the Print_Area range, so that it will not be shown on the printed invoices.
Then, on the actual Total cell, the following formula is created to determine the correct invoice total:
=IF(ISERROR(oknChangeOrder),oknSumLineTotal,oknChangeOrder)
This formula checks whether oknChangeOrder contains error. If yes, it returns the sum of all the line totals; otherwise, it returns the value of oknChangeOrder.


HOME