Skip to content

Job types and cost separation

Not every job is customer work. Some garages buy cars to prepare and sell on, and some do internal jobs on their own vehicles. Putting that work through as ordinary customer jobs hides the cost and risks raising a VAT invoice you never meant to send.

Torqueflow lets you mark each work order as one of three job types:

  • Customer - normal paid work for a customer. This is the default and behaves exactly as before.
  • Sale-Prep - preparing a vehicle the garage intends to sell.
  • Internal - work on the garage’s own vehicles or equipment.

Sale-Prep and Internal jobs are kept out of customer invoicing, and their parts cost is pulled together in a dedicated report so prep spend is visible and recoverable instead of being buried in the accounts.

  • To set a job type: any role that can create or edit a work order.
  • To run or export the cost report: the finance.reports.view capability (and finance.reports.export to download the CSV). These default to Owner and Manager.

Set the job type when creating a work order

Section titled “Set the job type when creating a work order”
  1. Start a new work order as usual.
  2. In the create dialog, find the Job Type select. It defaults to Customer.
  3. To mark the job as prep or internal, choose Sale-Prep or Internal.
  4. A Recharge to field appears, along with the linked vehicle’s registration shown for reference. Type who the cost is recharged to (for example, the sales stock account or a department name). The field offers your previously used values so you can re-pick rather than retype.
  5. Save the work order.

For a Customer job, the Recharge-to field stays hidden and nothing extra is stored.

Change the job type on an existing work order

Section titled “Change the job type on an existing work order”
  1. Open the work order and select Edit.
  2. Change the Job Type select, and set Recharge to if it is now a Sale-Prep or Internal job.
  3. Save.

This lets you tag older jobs after the fact. Re-tagging a job that already has a customer invoice does not delete that invoice. It only changes the marker from then on.

The work-order detail page shows a job-type badge. For Sale-Prep and Internal jobs it also shows the Recharge-to value. The vehicle registration is already shown in the vehicle block, so it is not repeated.

Run the Sale-Prep and Internal cost report

Section titled “Run the Sale-Prep and Internal cost report”
  1. Go to Finance > Reports.
  2. Select Sale-Prep & Internal Costs.
  3. Choose a date range. The report dates each job by when it was completed (signed off). Jobs still open are dated by their start date and flagged as provisional.
  4. The report lists Sale-Prep and Internal work orders with their parts cost, grouped by Recharge to and showing each vehicle. A totals row sums the range.
  5. To download the figures, select Export to get a CSV.
  • Customer work invoices exactly as before. Nothing changes for normal jobs.
  • Sale-Prep and Internal jobs are tagged, with a clear record of who their cost is recharged to.
  • A customer (VAT) invoice cannot be raised on a Sale-Prep or Internal job. The Generate Invoice option is hidden with a short explanation, so you no longer need the old trick of leaving an invoice in draft.
  • You can pull a dated, exportable report of the parts spent on prep and internal jobs, grouped by recharge and vehicle.
  • The report covers parts, not labour. The column is labelled “Parts cost”, and the report says so on screen. Labour on these jobs is reported separately. Do not read the parts figure as the total cost of a job.
  • Why prep and internal jobs cannot raise a customer invoice. Raising a VAT invoice for a car you are preparing to sell, or for your own vehicle, would put output VAT on the books for a sale that is not happening. Blocking the invoice keeps that separation clean.
  • Recharge-to grouping is forgiving of casing and spacing. “Sales stock”, “sales stock”, and “Sales Stock ” group together in the report, so a total is not split by small typing differences.
  • Changing the plate. The report always shows the vehicle’s current registration. If a plate changes, edit it on the vehicle record. There is nothing to re-type on the work order.

Problem: I cannot find the Generate Invoice button on a job. Cause: The job is marked Sale-Prep or Internal, which cannot raise a customer invoice. Fix: This is intended. If the job really is customer work, edit it and set the Job Type back to Customer, then generate the invoice.

Problem: The cost report shows nothing for a period I expect work in. Cause: The report only lists Sale-Prep and Internal jobs, dated by completion. Jobs not yet signed off appear by their start date and are flagged provisional. Fix: Widen the date range, and check the jobs are tagged Sale-Prep or Internal rather than Customer.

Problem: A vehicle’s parts cost looks lower than expected. Cause: The report uses the true purchase cost where a part is in your catalogue. For custom parts with no catalogue entry, it falls back to the line price and flags the row. Fix: Check the flagged rows. Add custom parts to your parts catalogue with a unit cost if you want a firm purchase-cost figure.

Problem: I cannot open the report at all. Cause: The report needs the finance.reports.view capability. Fix: Ask an Owner to grant the permission.

  • Set a job type: any role that can create or edit work orders.
  • View the cost report (finance.reports.view): Owner, Manager.
  • Export the report (finance.reports.export): Owner, Manager.