Workshop Operations
Routes: /workshop (Floor), /workshop/jobs, /workshop/quotations,
/workshop/invoices, /workshop/receipts, /workshop/services,
/workshop/services/packages, /workshop/services/templates,
/workshop/dvi-templates, /workshop/bays, /workshop/insurance,
/workshop/reminders, /workshop/staff, /workshop/analytics.
This module runs the repair floor: a wall board with every bay and every job, a job card for everything that enters the gate, a DVI inspection that documents extra work honestly, and quotations the customer approves before you touch the vehicle.
Floor board (/workshop)
One card per bay ("BAY 1 — Available", …) plus an INTAKE QUEUE showing jobs waiting to be taken in. This is the live wall: what's in which bay, what's waiting. It pairs with the dashboard's "Bay activity" widget.
Job cards (/workshop/jobs)
- 11-stage pipeline: Intake → DVI → Quoted → Approved → In Progress → On Hold → QC → Verify QC → Pending Delivery → Completed → Closed / Cancelled. Filter by status and priority.
- Priorities: Standard / High / Urgent. Promise dates so the counter never over-commits.
- Job numbers like
WO-2026-00004, with customer + vehicle plate on every row.
Add Job — intake in one screen
- Customer & vehicle — pick the vehicle from the fleet (it carries its owner).
- Priority and Payer Type: Self-Pay (Customer), Insurance, Warranty Claim, Fleet Account. The payer is fixed at intake, so an insurance job is never billed to the customer by mistake.
- Requested mechanic — customers ask for their guy.
- Promised date, odometer reading (tracked per visit → vehicle history).
- Services & parts — add a package, service lines, and part lines (or add them after the DVI).
- Customer concern ("what brings the vehicle in today") + internal notes.
Job detail page — the command center
- Header: job no, customer, vehicle + plate + model, status badge, completion date, intake note, VIEW RECEIPT and PRINT JOB CARD.
- Tabs: Overview / Services / Parts / DVI / Quote / Progress / Invoice / Ledger / Timeline.
- KPI strip: odometer, job age, promised date, and quoted vs invoiced totals — quotation→invoice drift is instantly visible.
- Advisor + assigned staff (mechanic picker).
- Customer concern shown verbatim + internal notes.
- Vehicle history — prior visits with date, odometer, and amount on one line.
- Print DVI / Re-run DVI, and quote PRINT / SEND.
DVI — Digital Vehicle Inspection
Define templates in /workshop/dvi-templates with sections and
checklist items. A completed DVI records the inspector, a
timestamp, and a HEALTH score (e.g. 100/100), with per-section
findings ("BODY TEST → DENT — front bumper"). Findings become the
quotation. The printed DVI report turns "your bike needs work" into
documented evidence on your letterhead — and DVI captures per month
are a plan quota.
Quotations (/workshop/quotations)
Quote numbers (QT-2026-00001), always linked to their job, with
status. Line items carry service + parts, subtotal / tax / total, and
PRINT / SEND actions. Approval gates the pipeline
(Quoted → Approved), so work never starts without consent.
Invoices & receipts
- Same invoice engine as Sales: Draft / Issued / Paid / Credited; sources Job / Sale / Combined; due dates.
- Receipts list every payment: receipt no, customer, source, invoice, amount, method, paid date — the audit trail of every taka.
Service catalog, packages, templates
- Services — categories, duration in minutes, labor hours, tax %, and charge (৳).
- Packages (
/workshop/services/packages) — bundles of services with a package discount %. Sell oil-change + tune-up bundles like the big-brand service centers. - Job Templates (
/workshop/services/templates) — reusable job recipes with an estimated cost; one click to build a job. - DVI Templates — sections and checklist items for inspections.
Bays (/workshop/bays)
Define bays: number, name, description, base power (kW), active / inactive. Active bays count against your plan quota — when you hit the limit, a banner points you to the upgrade page.
Insurance (/workshop/insurance)
Register insurance payers (company, contact, email) that cover customer repairs. Combined with Job Payer Type = Insurance, the workshop runs insurance jobs without confusion over who pays.
Service reminders (/workshop/reminders)
Reminders are automatically created when invoices are issued. Each reminder tracks customer, vehicle, service, due date, and status, with a DISPATCH ALL DUE bulk action. Every serviced vehicle becomes a future booking instead of a forgotten face.
Technician performance (/workshop/staff)
Per mechanic: jobs, flat hours, clocked hours, efficiency %, and revenue. Flat-vs-clocked hours expose who is slow or over-logged — the owner's payroll honesty check.
Analytics
Tabs: Overview / Revenue & P&L / Technician / Bay Utilisation / Customers; periods Today / This Week / This Month.
- KPI cards: Revenue, Jobs Completed, Avg Job Value, Bay Utilisation %, Outstanding Invoices.
- 14-day revenue chart and revenue by category.
- P&L summary: Gross Revenue − COGS − Labour − Overheads = Net Profit, Net Margin, VAT Collected.
- Top services by revenue.
- Outstanding invoices by aging: 0–30 / 31–60 / 61–90 / 90+ day buckets — credit management with numbers, not memory.
Next: Inventory & Parts.
