Skip to main content

What's New

Every user-facing change, newest first. Sourced fromCHANGELOG.mdat the repo root.

2026-04-20 — Jobs board scope + reset-chip polish (JP1.2)

Changed

  • Archived jobs now stay on the Jobs board. The pipeline, KPI cards,

and job table all count the same universe now — every job from Draft

through Job Completed, including jobs you've archived. Only soft-deleted

jobs hide from the board (a dedicated Trash / Recently Deleted page

comes later — see backlog).

  • "All" reset chip promoted above the pipeline bar. Was getting lost

in the bottom-right corner — now sits right-aligned just below the

search bar so it's the obvious escape hatch when a stage filter is on.

Fixed

  • Jobs KPI Total Jobs count and Pipeline bar headline now always agree

exactly — both share the new visible data source (excludes only

soft-deleted jobs).

2026-04-20 — Jobs + Customers + Payments refinement (JP1)

Added

  • Job search on the Jobs page. Type in the new search box top-right of

the Pipeline section and the table filters live. Searches by job title

AND customer name. URL-backed — bookmark the search to share a link.

  • "All jobs" reset chip on the Jobs pipeline legend. One-click to

clear the stage filter and show every pre-cash job.

  • Clickable pipeline legend — the coloured dots below the pipeline

bar are now first-class filter buttons, same behaviour as clicking

the bar segment itself. Works on Jobs AND on Payments Overview.

  • Customer search + filters. Search the Customers page by name,

contact, email, or phone. Filter to "customers with a job assigned to

plumber X" or "customers with a job in status Y". Filters stack.

  • Pipeline Value view on Payments Overview. New [Count | $ Value]

toggle top-right of the Jobs pipeline card — switch between "how many

jobs" and "how much pipeline value". Legend shows dollar amounts in

Value mode.

  • 5 grouped Pipeline Value cards below the bar on Payments Overview:

In progress · Out for signature · Booked · Billed · Collected. Shows

where your pipeline money actually sits.

Changed

  • Jobs KPI cards rebased to pre-cash scope. Total Jobs now equals

the "jobs in pipeline" count exactly. Active Estimates now covers

Draft → Sent. Revenue Pipeline counts only pre-cash value. Every card

has a sub-label so the scope is unambiguous.

  • Jobs KPI row is now collapsible. Tap the chevron to hide the 4

cards and free up room for the job table.

  • Receivables aging row removed from Jobs. Those chips live under

Payments → Receivables where they belong — keeps the Jobs page

focused on the pipeline.

Behind the scenes

  • Independent multi-agent QA (Tess-Cascade) verified three cascade

invariants after the sprint shipped: Total Jobs === Pipeline bar

count, grouped Payments cards sum exactly to pipeline grand total,

Customers filters compose with AND. All three at 10/10 confidence.

2026-04-19 — Operations nav placeholder (6-pillar back-office preview)

Added

  • Operations appears in the left rail above Setup — the new home for

running-the-business modules (payroll, warehousing, fleet, truck loadouts,

tools, expenses). All six pillars are "Coming Soon" placeholders so the IA

is locked in before implementation starts.

  • Dedicated landing pages at /command-center/operations/* for each pillar

with a clear scope summary, planned capabilities, and target phase.

  • Operations hub at /command-center/operations showing the pillar grid.

Behind the scenes

  • Full roadmap in BKM/PLAN-operations-suite.md — data models, phasing,

dependencies. Phase 1 (Expenses) kicks off Monday 2026-04-20.

2026-04-19 — Payments consistency pass (PC1)

Added

  • Every Payments tab now has the same ribbon + 3-card + collapsible shape —

Receivables, Payables, Payouts, Refunds, Overview, Methods all follow one

visual standard.

  • Clickable transaction rows — click any row to jump straight to the job

detail page (rows without a linked job are subtly disabled with a tooltip).

  • Overview "Money in vs money out" totals now cascade correctly from each

tab's ribbon.

Changed

  • All metric cards are collapsible independently — the ribbon and the 3-card

tracker each have their own collapse toggle so you can hand more of the

fold to the transactions list.

Behind the scenes

  • Independent QA pass verified every ribbon / card / aggregate ties to the

cent on the mock data path. Cross-check math is documented in

apps/web/src/components/payments/overview-tab.tsx.

2026-04-19 — Overnight polish: QA pass + product docs system

Added

  • Product Changelog — this file. Every sprint appends an entry so

plumbers can see what's new in the app.

  • In-app What's New feed at /whats-new — renders the changelog

inside the app so you don't need to leave to see what shipped.

  • Help Center at /help — hub + per-topic pages explaining how

each major area of the product works. Accessible from the shell

header.

  • component — a small ? icon you can drop next to

any control; opens a popover with a 1-2 sentence explainer + link

to the full help topic.

Fixed

  • The collapsible-section demo route (/dev/collapsible) was 404'd

in production because its folder was named __dev — Next.js

App Router excludes any folder starting with _ from routing.

Renamed to /dev/collapsible.

  • Wallet-connect consent dialog on the PayPal tile said "Grant Plunjr

permission" — scrubbed to "Grant Tradie permission" to match the

rest of the Plunjr-branding purge.

2026-04-18 — Collapsible sections everywhere (mobile real-estate)

Added

  • Every major data section now collapses with a tap on its header —

Payments tabs (Receivables / Payables / Payouts / Refunds /

Methods), Customer detail (Contact history + Jobs), all the way

down to the tables themselves.

  • Your collapse choice persists per-device, so the sections you keep

closed stay closed across reloads.

  • A tiny count chip next to each section title tells you how many

rows are inside without expanding (e.g. "42 transactions").

Changed

  • On mobile, most heavy sections default to collapsed so the

summary metrics (Pending / Outstanding) stay above the fold.

  • Desktop defaults to open — no regression for the full-screen view.

2026-04-18 — Payment method analytics + insight nudge

Added

  • On the Payments → Methods tab, a new summary card at the top

showing your method mix as a stacked bar: how much came in via

ACH vs card vs Apple Pay vs PayPal vs Venmo, the fees each

channel cost you, and your net after fees.

  • A single-sentence insight chip that reads your mix and tells you

something actionable — e.g. "You saved $340 by preferring ACH this

month — keep routing large HOA invoices to bank transfer."

  • Per-row metrics on each receive method: $ received, % of total,

fees paid, avg fee rate, and badges flagging the lowest-cost

(✓) and highest-cost channels.

  • A sort switcher (Most revenue / Lowest fees / Highest growth /

Name) so you can look at your channels from the angle that matters

today.

  • A window picker (This month / YTD / Last 90 days / All time) that

flips all the metrics + stacked bar at once.

Behind the scenes

  • The numbers are mocked until Payments S2 ships the real Payment

model + Stripe wiring. Every mocked figure is [PREVIEW] chipped.

2026-04-18 — Payment aging ribbon on Receivables

Added

  • On Payments → Receivables, a new pipeline ribbon at the top

showing how your outstanding book breaks down by how overdue each

invoice is: Paid / Current / 1-30 days / 31-60 / 61-90 / 90+.

  • Each segment is clickable — tap "90+ days late" and the

transactions table below filters to just those invoices.

  • Preset chip row below the ribbon for the same ranges plus a

custom-range popover ("show me 45-75 days late").

  • Each transaction row now shows the actual day count on its aging

badge — "42 days late" rather than a bucket label.

Changed

  • URL now syncs the active aging filter so deep-link + share-link

works — ?aging_min=31&aging_max=60 brings you to the same view.

2026-04-18 — Expanded job lifecycle + pipeline ticker

Added

  • Four new lifecycle states on every job: Scheduled (after a

customer accepts), Job Completed (field work done),

Invoiced (invoice sent), Paid (cash collected). Takes

jobs from 6 lifecycle stages to 10.

  • New Jobs dashboard ticker: a two-row visualization at the top of

the Jobs page showing every lifecycle stage with its count, plus a

payment-aging row below. Click any chip to filter the list — you

are here highlight, URL-synced state.

  • Four new action endpoints on each job: Schedule, Complete,

Invoice, Mark Paid (action menu on each row).

  • A "Pipeline stats" API that backs the ticker counts.

Changed

  • Job row action menu now includes Archive, Delete, Schedule,

Complete, Invoice, Mark Paid.

2026-04-18 — AI Agents as first-class team members

Added

  • New Setup → AI Agents page. Your business now has 5 AI agents you can

toggle on:

- Scout — watches vendor prices on preferred parts

- Quote AI — drafts quotes from video walkthroughs

- Dispatcher — suggests plumber assignments by location

and specialty

- Compliance — watches AS3500 backflow + licence renewal

windows

- Collections — nudges customers on overdue invoices

  • Add-custom-agent flow for bespoke agents beyond the seeded set.
  • Each agent renders as a card with a gradient "from the future"

aesthetic, on/off toggle, model info, and activity stub.

Changed

  • Left rail Setup group now reads Company → Team Roster → **AI

Agents** → Vendors → Parts Catalog, reinforcing the "agents are

team members" metaphor.

2026-04-18 — Company page persona-aware redesign + configurator wizard

Added

  • Company page now adapts to your business size:

- Solo — single identity card + "Upgrade to team" CTA

- Small-biz — identity + one office + flat team + "Add a

second office"

- Multi-location — identity + office tabs + per-office teams

+ warehouses

  • New Configurator Wizard at /command-center/company/configure

— 5 questions (Just you or team? how many offices? warehouses?

team members? AI agents?) that walk you through first-run setup

with incremental save.

  • Per-office team assignment via a multi-select dropdown on each

team-member card.

Changed

  • Multi-location businesses now see separate team rosters per

office instead of one mixed list.

2026-04-18 — Onboarding wizard extension

Added

  • First-run onboarding now includes the 5 configurator questions

(business size → offices → warehouses → team → AI agents) so new

tenants are fully set up before they land on the dashboard.

  • Solo-plumber fast path: answer "just me" and the wizard skips the

office/warehouse/team steps automatically.

  • Summary card on the Complete step showing offices, team members,

and agents created.

2026-04-18 — Company/Team data model (backend)

Behind the scenes

  • 5 new tables: offices, warehouses, team_members,

team_member_office_assignments, agents. Every new table carries

a company_id FK on day one for multi-tenancy readiness.

  • 13 new API endpoints covering CRUD on each entity plus

office-assignment + "detect business size" helpers.

Added

  • Main Office seeded for the default company on deploy.
  • 7 team members created automatically (one per existing plumber,

linked via plumber_id so plumber routes keep working).

  • 5 AI agent rows seeded (all disabled by default).

2026-04-18 — Job archive + soft-delete + trash recovery

Added

  • Archive any job from its row menu — the job disappears from

the main list but stays around if you need it.

  • Delete moves a job to Recently Deleted — restorable until

you explicitly Delete Forever or Empty Trash.

  • Three view switchers at the top of the Jobs dashboard:

[Active · Archived · Recently Deleted]. Defaults to Active.

  • Undo toast after Archive or Delete — 10 seconds to tap and

revert.

  • Empty Trash button on the Recently Deleted view with a

"cannot be undone" confirmation dialog.

Behind the scenes

  • Job rows gain is_archived, is_deleted, deleted_at columns.

Delete endpoint now soft-deletes by default; a new

/permanent endpoint hard-deletes with cascade.

2026-04-18 — Scheduling rail item + stub page

Added

  • New Scheduling entry in the left rail between Jobs and

Customers. Opens a stub page today that shows upcoming scheduled

jobs — upgrades to a full calendar view when the Job Lifecycle

Ticker sprint lands the Scheduled status.

2026-04-18 — Nav reorganization (day-to-day + setup split)

Changed

  • Left rail now organises into two groups:

- Day-to-day (Jobs / Scheduling / Customers / Payments)

- Setup (a collapsible Wrench-icon group holding Company /

Team Roster / AI Agents / Vendors / Parts Catalog)

  • "+ New Job" primary CTA stays pinned above the nav list.
  • Setup group auto-expands when you navigate to any of its children;

your manual collapse choice is remembered per device.

Fixed

  • Setup group stayed locked open on setup sub-pages — now honours

your manual toggle regardless of active page.

2026-04-18 — New left-rail shell with dynamic breadcrumb

Added

  • Brand-new app shell: persistent left rail (Tradie logo + primary

action + nav) and a dynamic breadcrumb at the top of every page

showing where you are (e.g. Tradie › Setup › Parts Catalog).

  • Rail collapses to a 64-px icon strip on desktop, becomes a

mobile drawer below 768 px. Tapping a link on mobile

auto-dismisses the drawer.

  • Keyboard: / focuses the current page's search, Tab cycles

through all primary nav elements including "Skip to main content"

as the first focusable item.

Fixed

  • Mobile drawer stayed open after tapping a nav link, covering the

page you just asked to see. Now auto-closes the moment a link is

tapped.

2026-04-18 — Vendor marketplace simulation + splashy hero

Added

  • New Vendor Marketplace at

/command-center/catalog/vendors/marketplace — three AU suppliers

(Bunnings / Reece / Tradelink) plus three US placeholders coming

soon. Click Connect → simulated OAuth → pulls the vendor's product

catalog into your Parts Catalog.

  • Per-vendor detail page where you mark each part as Primary /

Secondary / Tertiary / Skip. Preferences drive vendor ordering in

quotes.

  • Product detail modal on every part row showing icon, brand,

colours, dimensions, material, and a short description — so you

can see what you're picking without leaving the page.

Changed

  • Marketplace hero banner is now a splashy amber gradient with

scattered plumbing iconography instead of the old grey slab. No

licensed photography — pure CSS + inline SVG.

2026-04-18 — Payments consolidation

Added

  • New unified Payments page replacing the split

Customer-Payments + Tradie-Payouts pages. Six tabs:

Overview / Receivables / Payables / Payouts / Refunds / Methods.

  • URL sync — /command-center/payments?tab=receivables etc. Deep

links work.

  • Old tradie-payouts/* URLs redirect to the new tabs — every

bookmark keeps working.

Fixed

  • Duplicate "Payouts & Wallets" dashboard tile removed now that the

Payments page owns payouts as a tab.

2026-04-18 — Proposal versioning + Customer Communications

Added

  • New Step 5 gate on every job: Communicate. AI-drafted email

composer reads Customer + Job + Deliverables for context.

Attachments selector (quote is mandatory; survey + photos

optional).

  • Proposal history — every "Mark as Sent" freezes an immutable

snapshot. "Revise" auto-unlocks the job and clones a new version.

  • Clickable transcript timestamps — tapping any timecode in the

Transcript tab opens the video modal at that exact second.

2026-04-18 — Company setup + onboarding wizard + rate cards

Added

  • Company Settings page with tax ID / type / license / branding

(logo + primary color) / billing email / preferences.

  • Onboarding Wizard (first-run) that walks through Welcome →

Company → Branding → Tradie Profile → Rate Card → Complete.

  • Per-plumber rate cards: standard hourly, emergency hourly, min

callout hours, custom rate rows, default line items.

2026-04-18 — Customer entity + customer-first workflow

Added

  • New Customers page (hub, list, detail, edit, new-customer

form). Customers are a first-class entity with contact, address,

access notes, and linked jobs.

  • New Job form now starts with a Customer picker (new or existing).
  • Customer detail page shows Contact History — a CRM-style log of

every communication.

2026-04-18 — Parts Catalog + vendor fallback foundation

Added

  • Parts Catalog at /command-center/catalog/parts — 90 seeded

items, searchable, category-filterable. Each part shows canonical

name + a plumber-friendly description + aliases.

  • Vendors at /command-center/catalog/vendors — full CRUD for

supplier records.

  • Multi-vendor per part — each catalog part can have multiple

vendor sources with priority order (primary / secondary / tertiary)

and availability status (in_stock / backorder / discontinued /

unknown).

  • Parts on job quotes now cascade-update from the catalog (as long

as the job isn't locked). Lock a job → the quote snapshots the

parts as they were at lock time; catalog edits no longer affect it.

*Changelog seeded 2026-04-19. Earlier changes (M1-M8 foundational

sprints) are captured in BKM/SPRINT-TRACKER.md + BKM/ROADMAP.md.*