This guide walks through the full lifecycle of a job in Pistonlog — quoting the work as an estimate, promoting it to a live jobcard when the customer agrees, completing the work, and printing the invoice.
1. Create the estimate
Estimates are jobcards with isEstimate = true. They live in their own list at /estimates, use the #Estimate {n} reference prefix (the counter is shared with Jobcard{n} — numbers continue across both, only the prefix differs), and stay out of the live workflow board until promoted.
Open New Estimate
Sidebar → Estimates → New estimate. Or, equivalently, create a jobcard via POST with isEstimate: true.
Give it a title
Something descriptive like "Full service and MOT". Auto-title is also available.
2. Assign a customer and vehicle
Select or create a customer
Search by name. If they don't exist, Add new customer inline.
Select or create a vehicle
Search by registration. New vehicles use the DVSA lookup to pre-fill make/model/MOT date.
3. Add jobs and pricing
Each piece of work is a job on the estimate. Add labour lines, add parts. Totals update in real time.
Job templates
If you do the same kind of work regularly, use a saved job template to drop in pre-priced labour + parts in one click.
4. Send the estimate to the customer
Click Print to generate a customer-facing document with your garage branding, the quoted work, and totals with VAT. Save as PDF, email it, or discuss it over the phone.
5. Promote to a live jobcard
When the customer approves, click Promote to Jobcard on the estimate. This flips isEstimate to false and the record moves to your default starting status. The reference series also changes — #Estimate 17 becomes Jobcard17 (or your garage's equivalent counter). The card now appears on the workflow board.
6. Complete the work
When the work is done, drag the jobcard to a status flagged as a completion status (see Jobcard statuses — the isCompleted toggle is what makes a status a completion status, not its name).
While completing:
- Update Mileage Out on the jobcard
- Set next service / MOT / timing-belt reminder intervals on the relevant jobs (this schedules the next automatic reminder — see Reminder triggers)
- Record a payment if the customer paid in person
These are separate actions on the jobcard, not a single popup that fires on status change.
7. Print the invoice
Click Print on the completed jobcard. The preview shows the customer invoice: garage details, customer + vehicle info, every job with labour and parts, totals with VAT.
Technician copy
You can also print a technician copy — same dialog, different format. It strips pricing and customer PII, showing only the vehicle + jobs (see the PII rule).
The workflow at a glance
Create estimate → Add customer, vehicle, jobs, and pricing → Send quote → Customer approves → Promote to Jobcard → Work completed → Move to completion status → Record mileage, set reminders, record payment → Print invoice