Faster RO creation — pre-fill from vehicle history
Opening a new repair order now pre-fills the service advisor, preferred contact method, and last known mileage from the vehicle record. Reduces average RO creation time by roughly 40 seconds. Pre-fill only applies when the vehicle has at least one prior completed RO in the tenant — new vehicles start blank as before.
Shops on Growth+ can now award loyalty points per dollar spent on completed invoices. Points are visible on the customer record and in the customer portal. Redemption rules (minimum threshold, expiry, eligible line types) are configurable in Settings → Loyalty. Not a full marketing-automation suite — an honest points ledger built into the existing money path.
Staff can clock in and clock out from the My Day panel. Shift hours are recorded against the employee record and visible to owners in the Team section. Labour timer on jobs and shift clock are separate — shift clock tracks attendance, job timer tracks billable production time. Award rate helpers (MA000089) are in the free workshop tools at /tools/award-ma000089.
Tyre module — fitment, tread depth, and express pack
Dedicated tyre inspection template with tread depth (mm), pressure, and visual condition per corner. Express quote flow targets under 90 seconds from vehicle in to quote sent. Fitment history is recorded on the vehicle — previous tyre brand and size visible at booking. Compatible with the standard DVI findings and estimate approval flow.
v2.15.0Features
Expense tracking on repair orders
Miscellaneous expenses (sublet, courier, consumables) can now be recorded directly on a repair order line with a category tag. Expenses flow through to the invoice and are visible in the parts margin report. Not a full accounts-payable or bookkeeping system — a job-level cost capture tool to protect margin visibility.
v2.14.0Features
Parts supplier integration — PartsTech, EzyParts, Repco
Live supplier catalogue search from the parts request panel on any repair order. PartsTech (US), EzyParts (AU), and Repco availability and pricing return in real time. No manual catalogue lookup or phone quote. Supplier lines attach to the RO and flow to the purchase order. AU supplier connections remain in expanding pilot — check availability for your account.
v2.13.0Features
Purchase order approval workflow
POs above a configurable spend threshold now route to an approver before being dispatched to the supplier. Approval history is recorded with timestamp and user. Supplier invoice matching flags discrepancies between goods received and invoice total. Threshold is set per-shop in Settings → Purchasing.
v2.12.0Features
Real-time comms campaigns
Broadcast SMS and email campaigns to customer segments: service due, deferred work, seasonal promos. Send tracking shows delivery, open, and click status per recipient. Campaign history is stored against the tenant. SMS campaigns require Twilio keys — status is Live+ (mock without keys, live when configured).
v2.11.0API
Redis job queue for async processing
Async processing (comms sends, PDF generation, supplier sync jobs) now runs through a Redis-backed queue with retry, dead-letter handling, and a health endpoint at /v1/health/queue. Eliminates dropped background jobs under load. Required for campaign send volumes above ~50 recipients per batch.
v2.10.0Features
Dashboard KPIs wired to live tenant data
Revenue chart, bay efficiency, car count, and ARO tiles now pull from live tenant data rather than mock fills. Source labels on each widget reflect live vs hybrid status. Chart series still carry explicit source badges — we do not silently upgrade mock to Connected.
v2.9.0Features
Warranty expiry auto-close with proactive badge
Parts and labour warranty records carry an expiry date. A background job checks daily and auto-closes expired warranties. Advisors see a badge on the customer record for warranties expiring within the next 30 days — so proactive warranty bookings happen before the window closes, not after the customer calls.
v2.8.0Features
Parts margin report
Sell price, cost, and margin per part number across completed repair orders. Highlights margin outliers without a manual spreadsheet export. Data quality improves as PO receive prices are populated. Visible to owners and GMs in the Reports section.
The revenue trend chart on the owner dashboard now resolves from real invoice data rather than a mock series. Monthly and weekly views both use live tenant invoice totals. Source label reads "Live" — not hybrid — once the migration is complete for the tenant.
v2.6.0Bug Fixes
Board column drag-drop — order persisted across sessions
Dragging a card between columns now writes column order to the server. RO sequence survives a page refresh or multi-tab session without jumping back. Previously, column order was local-only and reset on reload.
v2.5.0Features
Xero account code mapping per line type
Invoice lines now map to configurable Xero account codes per line type: labour → 200, parts → 210, sublet → 220 by default. Codes are editable in Settings → Accounting. Integration remains Dry-run until the live Xero App Store token is configured — never marketed as a live push without confirmation.
Technicians can mark individual labour lines complete from the tablet view without navigating to the full RO edit screen. Reduces front-desk interruptions for job status updates during the production day.
v2.3.0Features
SMS tap-to-approve with portal deep link
Customers receive a deep-link SMS that opens their estimate directly in the portal. Tap Approve or Decline — no account required. Approval writes back to the RO line as an authorised state with timestamp. Requires Twilio keys for live SMS — mock without them.
v2.2.0Features
Deferred work age badges
Time-since-deferred badge turns amber at 14 days and red at 30 days. Visible in the deferred panel on any customer record and on the owner dashboard. Helps advisors prioritise follow-up calls before the opportunity goes cold.
v2.1.0Features
Parts reserve conflict detection
Automatic conflict warning when the same part number is reserved on two open ROs simultaneously. Advisor sees a yellow banner with the conflicting RO number before confirming the reservation. Prevents two cars sitting idle waiting for the same unit.
v2.0.0Features
Portal decline reason — required on all declined lines
Customers must select a decline reason (price, timing, second opinion, other) when declining an estimate line. Reason is stored on the deferred record. Gives advisors context for the next follow-up conversation without guessing why the work was pushed.
v1.9.0Features
Prepaid visit memberships
Sell a fixed number of visits at a discounted rate. Visit counter decrements on each paid invoice. Membership balance is visible on the customer record and in the customer portal. Not a subscription billing or marketing-automation product — an honest prepaid visit ledger.
v1.8.0Features
Deposit and progress invoices
Issue a deposit invoice (e.g. 30%) at RO creation and a final invoice on completion. Both reference the same RO number for reconciliation. Suitable for large-value jobs where the shop requires upfront commitment before ordering parts.
v1.7.0Features
Multi-location HQ dashboard (Scale plan)
Scale plan owners can view ARO, car count, bay efficiency, and AR aging across all locations side by side. Location managers see only their own tenant data. HQ roll-up is live when multiple tenants are seeded under the group account.
v1.6.0Features
Fleet PO thresholds per customer
Purchase order thresholds are now configurable per fleet customer. ROs above the threshold trigger an approval request to the fleet contact before work proceeds. Threshold history is recorded on the account with effective date.
v1.5.0Features
Parts request queue for technicians
Technicians request parts from the job card. The parts manager sees a live queue with RO priority order. Eliminates whiteboard and verbal requests that were previously lost during busy production periods.
v1.4.0Features
DVI offline queue — sync on reconnect
DVI inspections now queue to IndexedDB when connectivity drops and sync when the device reconnects. Techs in steel buildings or basements can capture all findings and photo references without losing work. Sync is same-WiFi oriented — not a zero-connectivity guarantee across cellular.
v1.3.0Performance
Commercial SMS quiet hours
Tenant-level default (8am–7pm AEST) prevents appointment reminders and estimate links from sending outside business hours. Configurable per shop. Prevents the 11pm "your car is ready" SMS that damages customer trust.
v1.2.0Features
Parts Exchange marketplace pilot (AU)
Parts Exchange marketplace live for AU design partners. ABR-verified sellers, condition grades (Used A/B/C), GST invoices, and RO attachment on receipt. Buyers search by vehicle or part number, compare offers, and confirm orders from inside the repair order. Pilot access — not open registration yet.
v1.1.0Features
Owner KPI dashboard — documented formulas
ARO, efficiency, bay utilisation, effective labour rate, deferred pipeline value, and recovery rate on the owner dashboard. All metrics use documented formulas from the @wrench/domain package — you can see exactly how each number is calculated, not a black-box score.
v1.0.0API
OpenAPI REST live — Swagger at /docs
The Workshop Wrench REST API now ships OpenAPI 3.1 documentation at /docs. All business endpoints are documented with request/response schemas, auth requirements, and example payloads. Webhooks and deeper accounting adapters are staged — documented separately as Stub or Dry-run.
v0.9.0Features
DVI inspection system, AI repair assistant, and customer portal expansion
Digital Vehicle Inspection system launched with per-area condition ratings, tread depth capture, photo attachments, and direct conversion from findings to estimate lines. AI repair assistant (powered by Claude) available on Growth+ — enter the fault code or complaint and get structured diagnostic notes and likely causes. Customer portal expanded to support multi-RO history view and deferred work reminders. Portal links now deep-link to specific estimate lines for faster mobile approval.
v0.8.0Features
Bay management, booking calendar, and fleet management
Bay and hoist management added to the job board — assign jobs to specific bays and see bay utilisation at a glance. Booking calendar introduces visual day/week views for service advisors with drag-to-reschedule and automated SMS reminders. Fleet management module launched for multi-vehicle accounts: fleet contacts, per-vehicle authorisation limits, consolidated invoicing, and PO-gated approval workflows. Designed for SME fleets — not an enterprise CAFM system.
v0.7.0Features
Xero/MYOB integration, CSAT reporting, and membership tiers
Xero integration enters dry-run phase — invoice and payment records sync to Xero ACCREC via staged OAuth. MYOB AccountRight export via CSV is live. CSAT (Customer Satisfaction) survey system launched: post-service surveys sent via SMS with 5-star and free-text response, results visible per technician and per RO type in the reports section. Membership tiers allow shops to create recurring-revenue service plans with automatic invoice generation and renewal tracking.
v0.6.0Features
Parts marketplace launch, purchase orders, and supplier portal
Parts Exchange marketplace opened to AU design partners — ABR-verified sellers list parts with condition grades and GST pricing. Workshop buyers search by vehicle or part number and attach confirmed orders to open repair orders. Full purchase order module launched: raise, send, receive, and reconcile supplier invoices with three-way matching. Supplier portal allows trade accounts to manage order status and upload invoices directly.
v0.5.0Performance
Mobile PWA improvements, offline sync, and push notifications
Major PWA reliability update: service worker rewrite eliminates stale cache bugs on iOS Safari, offline mutation queue now survives tab close and browser restart, and sync-on-reconnect is resilient to partial connectivity. Technicians can complete DVI findings and update job status without connectivity — all mutations replay on reconnect. Web push notifications (Chrome/Edge/Android) send appointment confirmations, estimate approval responses, and parts arrival alerts to subscribed staff devices.
Stubs (EFTPOS, Xero, MYOB, AU parts, rego) remain shells until a live partner sandbox exists. Status labels override marketing copy everywhere.