
ops.work-order·version 1.0.0·draft2 to verify
The job is scoped and priced before the truck rolls, the work and actuals are recorded the same day, and the customer is invoiced from those actuals.
A customer asks for work to be done at a site, or a recurring service visit comes due. Not for a pure quote with no work yet — that is sales.prepare-offer. Not for an internal purchase of goods with no field job — that is ops.purchase-approval. If the customer is new and unvetted, run sales.check-new-customer before S3.
sales.check-new-customer first.Any step can wait until a date and reopens by itself; every closed step leaves evidence (a note, a link, a number).
Create the work order: customer, site, contact, description, requested date, who asked and when.
Done when the work order exists with a number and status "received".
Call or message the contact to confirm the problem, access, and whether previous work applies (check the customer's history in the work-orders module). Attach photos to the order.
Done when the scope is written on the order in one paragraph the technician could act on.
Approval · S3 · owner — the run stops until a named person records the decision
Prepare the estimate from the rate card: estimated hours, call-out, travel, parts at list. Present it to the owner; the owner approves the price or corrects it.
Done when the approved price is recorded on the order and the customer has it in writing (e-mail suffices).
⛔ Work must not be dispatched on an unapproved price — a disputed invoice is cheaper to prevent than to win.
Assign a technician and a time window, confirm with the customer, and add the site visit to the technician's task list (bc tasks add if no calendar integration is in place).
Done when the technician has the order, the address, the contact's phone number and the confirmed window.
Approval · S5 · owner — the run stops until a named person records the decision
Irreversible · S5 — an agent never closes it alone
List the parts the job needs from stock. Anything not in stock goes to the owner as a purchase request with supplier and price; only approved purchases are ordered.
Done when the parts list on the order shows each item as in stock, ordered (with approval noted), or flagged as buy-on-site.
⛔ On-site retail buys above the company's petty limit need the owner's approval by message before purchase — record it on the order.
Do the work. Note start and end times, parts used, and photograph the state before and after.
Done when the technician marks the job "done on site" with times and photos attached to the order.
Enter real hours, travel, and parts used into the order; compare against the estimate in S3. Any difference beyond the estimate gets a one-line reason.
Done when actuals on the order match the technician's notes, dated the job day.
⛔ Actuals written three days later are the top cause of under-billing — if the technician has not reported by evening, chase the same day.
Approval · S8 · owner — the run stops until a named person records the decision
Prepare the invoice draft from the actuals, linked to the order. Present quote vs actuals; the owner approves, or sends it back with a correction (e.g. goodwill discount to record on the order).
Done when the owner has approved the final amount.
Issue per money.issue-invoice (correct number series, VAT as applicable — ⚠ verify the VAT rate and e-invoice format rules for the company's country at the national tax authority site, LV: vid.gov.lv).
Done when the invoice is sent and its link is on the work order.
Set the order to "closed and billed". Anything left open (return visit, warranty item, part on back-order) becomes a new task with a due date. Payment is watched by money.chase-overdue-invoice, not by this playbook.
Done when no open item on the order lacks an owner and a due date.
| Symptom | Response |
|---|---|
| Customer refuses the price on site | Technician does not start billable work; call the owner, re-scope, get the new price in writing before continuing. |
| Job grew beyond the estimate mid-work | Stop, photograph the extra work, get the owner's approval for a revised price, confirm with the customer in writing before proceeding. |
| Technician did not record hours | Reconstruct from calendar and site photos the same day; mark the order "actuals estimated" and tell the owner. |
| Part failed under warranty after invoicing | Open a new work order at zero charge referencing the original order number; claim the part from the supplier per ops.supplier-review-yearly records. |
| Customer disputes the invoice | Do not argue by e-mail; pull the order, the S3 written price and the photos, and respond with those attached. If it stays disputed, use ops.consumer-claim-lv for consumers. |
Work order number · the S3 written price (e-mail or PDF) · purchase approvals for ad-hoc parts · technician's times and photos · invoice number and sent date · the owner's approval in S3 and S8 (who, when).
After every 20 orders ask: how long from request to dispatch, and which step delayed it? How many invoices needed an S8 correction, and why? Did any actuals differ from the technician's notes? Did any order close with an open item that had no follow-up? A new version changes the step that caused the delay or the correction, and says so in its change note.
Obligātās sīkdatnes tur sarunu kopā. Analītika ir izslēgta, līdz tu atļauj — tā neliek nevienu sīkdatni un neglabā ierīces identifikatoru.Necessary storage keeps your conversation together. Analytics is off until you allow it — it sets no cookie and stores no device identifier. Ko mēs glabājamWhat we store