Loading
Loading
Most franchisors write brand controls into the FDD and then hope. SalesThumb enforces two of them at the server: lock a franchisee's brand color and the picker is disabled — and the same save is rejected server-side no matter which client sends it; set a network minimum price and a franchisee's quote can never net less than that floor after discounts (the system quietly re-caps the discount rather than rejecting the sale). On top of that, HQ auditors run a structured PASS/FAIL/N-A checklist during a visit, attach evidence photos, and every FAIL becomes a tracked corrective action with an assignee and due date.
Brand settings
Downtown Location · franchisee account
Picker disabled · color is governed by the franchise brand standard.
shop.update({ brandingJson: { primaryColor: "#FF3B30" } })
← FORBIDDEN · brand colors are locked by HQ
Enforcement runs on the same shop.update call the settings UI uses — there's no separate client-side check to route around.
Features, zoomed in
Three capabilities built specifically for the day-to-day of a working shop.
Deep dive · 01
HQ → Branding → 'FDD Compliance Locks' → 'Lock brand colors.' Once enabled, the shop-settings save endpoint rejects any attempt to change primaryColor/accentColor for that org's shops, regardless of which client sends the request. Logo uploads stay allowed. Toggling the lock writes an audit-log entry; there's no separate violation ledger — the rejection itself is the enforcement.
Brand settings
Downtown Location · franchisee account
Picker disabled · color is governed by the franchise brand standard.
shop.update({ brandingJson: { primaryColor: "#FF3B30" } })
← FORBIDDEN · brand colors are locked by HQ
Enforcement runs on the same shop.update call the settings UI uses — there's no separate client-side check to route around.
Deep dive · 02
An HQ auditor picks a scheduled or completed visit, works through that template's checklist item-by-item (Pass / Fail / N/A), and can attach a photo as evidence. Every Fail automatically opens a corrective action the whole org can see — with an assignee, a due date, and a status (Open, In Progress, Overdue, Resolved) — instead of a note that only the auditor remembers.
Compliance checklist + corrective actions
Screenshot coming soon
What's included
Everything that ships on day one. No feature-gating surprises inside a single plan.
See every angle
Every meaningful view, the path through it, and the moments that matter — so you know exactly what you're buying.
Compliance checklist runner
Every FAIL becomes a tracked corrective action.
Compliance checklist runner
Screenshot coming soon
Who it's for
What it replaces
How it works
Lock brand colors from HQ → Branding if you want them technically enforced. Set minimum price / max discount rules per service category from HQ → Pricing Rules.
Pick the visit, work through the template's items (Pass / Fail / N/A), attach a photo where it matters. Every FAIL opens a corrective action automatically.
The org-wide corrective-actions list shows Open / In Progress / Overdue at a glance. Resolving one requires a note describing what was fixed.
What this looks like in a shop
Illustrative scenario: An HQ auditor visits a location, works through the standard 12-item checklist on her phone, and two items fail — a missing required signage element and a walkaround-photo step the tech skipped. Both automatically become corrective actions assigned to the shop manager with a due date. Meanwhile, on the pricing side, a franchisee tries to discount a ceramic-coating line below the network floor; the system silently caps the discount at the floor instead of letting the sale go through underpriced.
Questions
Explore more
A cron closes the month automatically — sums paid invoices per shop, applies each shop's rate, generates itemized statements. Collecting the money is a manual step: a NACHA file you originate through your own bank, or payments you record by hand.
One screen shows every service across every shop with a coverage bar (X of N shops carry it). Push a service to the shops missing it — a starting point, not a lock — and set network-wide minimum prices or max-discount caps by category.
Whether you're a solo operator or a franchisor with hundreds of locations, every shop rolls up into one HQ view with consolidated KPIs, centralized catalogs, and push-to-shop pricing and templates.
Revenue, installer performance, per-job material margin, quote-to-paid counts, customer LTV — organized as individual reports you pick from a sidebar, not one mega-dashboard.