Who is enrolled, at what tier, since when, what were they charged — and does it tie out. The one thing two live AC franchise clients need, no incumbent sells, and the dormant FranchisePromo codebase is closest to already being.
Ad-fund opacity is the FTC top-12, actively-litigated pain of the category (Bojangles, Subway, Maaco, FAT Brands). Incumbents sell campaign execution; nobody sells the ledger.
Effective-dated enrollment, versioned rates, period close, reconciliation diff. Franchisor revenue KPI (participation) and platform revenue rise together. Execution tooling is the delivery vehicle; the ledger is the product.
$2.67M/yr of franchise CTV under management, two live bespoke client portals edited daily, and a $222K monthly invoice reconciled manually. Competitors have features; AC has the operating scar tissue the product encodes.
845,000 US franchise establishments, $921.4B output (IFA 2026). National ad funds average ~2% of gross revenue; 55% of franchisors additionally mandate local spend. Only 5.3% of franchisors ever cross 100 units — and the incumbents all price for the ones who do.
| Competitor | Focus | Pricing (3rd-party est.) | ICP | Weakness |
|---|---|---|---|---|
| SOCi | Social, listings, reviews, "Genius Agents" | ~$23K/yr avg ($15K–$62K) | Enterprise, 50+ locations | Prices out sub-20-unit brands; desktop-first; mobile app weak |
| Ansira (BrandMuscle + SproutLoud) | Co-op / ad-fund mgmt, brand compliance | ~$4,500/mo entry | Mid-market & enterprise networks | Three merged legacy stacks; fund execution, not fund accountability |
| Rallio | Franchise social + reputation | $50–$200/loc/mo | SMB franchise | Social-only; reviewers flag poor mobile experience |
| Hyperlocology | Per-location paid media automation | Undisclosed | 100–10,000 locations | Parameterized campaign assembly, commercially opaque |
| Tiger Pistol | Local paid social at scale | Undisclosed | QSR, resellers | Paid social only; no ledger, no fund logic |
| Scorpion | Agency-software hybrid | $3–7K/mo + $5–50K setup | Service franchises | Agency cost structure, not SaaS |
| FranConnect | Franchise ops suite | $1–2K/mo realistic entry | Ops-led franchisors | "UX is terrible… not intuitive at all" (verbatim review); marketing bolted on |
| Adplorer | Local marketing + ad-fund trust angle | From ~€750/mo | Agencies, networks | Closest conceptual rival to the ledger wedge — the one to watch |
Pricing sourced from review aggregators and comparison sites, not vendor rate cards — mystery-shop before quoting in any deck.
External evidence says franchisees sue over exactly this. Internal evidence says AC hand-fights the same leak monthly, in two unrelated client systems.
FTC top-12 complaint; Bojangles, Subway, Maaco, FAT Brands litigation
Meta + Google both claim the same conversion; no franchise-aware dedup
1–3% of gross owed; verification manual or nonexistent
Universal mobile-first gap across incumbent reviews
49% of franchisors report overspend from overlapping tools
1 designer serving 180+ locations; 3-week turnarounds
% of locations participating in local marketing programs. Baseline tooling achieves 2%; one-click opt-in reached 44% (+31% weekly sales for participants). CHHJ today: 84 of 370+ (~25%) — 275 locations of headroom.
Two payer patterns discovered in AC's own book. Pattern B (franchisee-funded) has the flywheel: platform revenue and the franchisor's participation KPI optimize the same number.
1 house account converted, 0 external. Product remains internal tooling that already pays for itself in recovered close-hours and caught billing errors.
2 house accounts + 3 external systems, ~40 participating locations each. A real product line with two live references.
2 house + 8 external; fund-transparency module pulls mid-market systems at $500–1,500/mo module pricing.
Why GO is cheap: the worst credible case — gates pass, build succeeds, zero external customers — still leaves AC with a reconciliation layer that already catches five figures of monthly billing errors currently found by eye. The downside is a useful internal tool. Build cost ≈ 100 agent-assisted hours, ~$0 marginal cash.
241 source files, ~60 pages, 55 tables, 22 edge functions. Every page queries live Supabase — but the only thing that ever populated performance data is a Math.random() seeder, and googleads.googleapis.com appears zero times in the repo.
Live RLS policy lets any authenticated user self-insert as super_admin of any brand, on a publicly-published app with API-level open signup — which currently contains a real client's franchisee roster and live trademark as demo data. Fix list: audit items 3–9 (~2 weeks) + fictional demo brand (hours). Non-negotiable, and independent of the GO/KILL vote.
Three wedge options were evaluated. C (AI campaign factory) is the most crowded square on the board — killed. B (fund transparency) is the differentiating module, not the lead. A, narrowed to the ledger, is the motion.
Dogfood via strangler-fig: build the ledger spine, migrate Toastique's enrollment/billing module first (bounded, franchisee-funded, failure contained to a billing-sheet diff), CHHJ second. Two live references, then external systems.
Sold as participation/spend visibility and FDD-risk reduction — never as an "audit" (AC spends the fund; independence would be compromised). $500–1,500/mo module. Excellent third customer, terrible first.
Feature-parity race against funded specialists (Tiger Pistol, Evocalize, Hyperlocology) judged on ad-platform integration depth. Four months of zero deployments against a fully-built schema is the market's answer.
CHHJ + Toastique (house accounts)
Migration, not sale. Data-rights permission required first.
Franchise CTV advertisers via MNTN; AC pipeline franchise prospects
Warm, evidence-led, agency-attached.
Emerging franchisors, 10–80 units, optional local co-op on mandatory national fund
Where the ledger must be defensible and nobody has one. Requires agency-neutrality policy decision.
FP figures are revenue potential at participation-aligned pricing, not cost to a single buyer — the point is the model monetizes participation growth, which incumbents charge for regardless of adoption.
Two agents mapped the franchise-specific primitives against our live schema and against ~35 incumbent vendors. SOCi and peers are built for multi-location businesses generally — retail chains, bank branches and franchises all get the same product. None of them model the franchise agreement itself.
| Primitive | Our schema | Field coverage | Build | Verdict |
|---|---|---|---|---|
| 1. Two-party trust | PARTIAL | Unserved by all | L | Prerequisite — everything else is theater without it |
| 2. Fund structure | ABSENT | Unserved (Ansira reversed-flow; EmLedger GL-only) | XL → M | The moat. M at Toastique via existing POS feed |
| 3. Participation & enrollment | MODELED | Surface only | M | Lead feature. 174 real rows, best ratio in the set |
| 4. Territory rights | PARTIAL | Unserved as a runtime constraint | M | 9,125 real zips — an asset you would pay to acquire |
| 5. Lifecycle events | ABSENT | Unserved on the marketing side | L | Easiest beachhead for new logos |
| 6. Compliance teeth | PARTIAL | Unserved (all do pre-publication policing) | L | Core unserved cluster; dispute-grade trail |
| 7. Benchmark suppression | PARTIAL | SOLVED — in accounting tools | M | Table stakes. Build for credibility, never price on it |
| 8. Multi-payer billing | PARTIAL | Real prior art (Franify, Tiger Pistol) | L | Mechanics commoditized; the standing is not |
BrandMuscle + SproutLoud ($7B in funds, 500+ brands) is dealer MDF: corporate allocates dollars down, partners claim reimbursement. A franchise fund flows the opposite way — franchisees contribute upward into a pool held in trust. Ansira has no contribution object because their partner never contributes. Reversed money flow, not a feature gap.
Fund obligations are a % of gross sales, and there is no sales data in any of our 55 tables — which made fund accounting XL and blocked. But AC already ingests Toastique POS data from Snowflake for the report fleet. The hardest dependency in the most defensible primitive exists today at one house account, putting the moat in the pilot rather than in year two.
They could buy a fund engine and copy suppression in a sprint. What they cannot do is sell corporate a product whose purpose is to let franchisees audit corporate. Their permission model is delegation from corporate — a grant corporate can revoke — which is exactly what makes the numbers non-dispute-grade. Their current pitch is "100% adoption, zero training" via agents: a bet on removing the franchisee from the loop entirely.
The key negative result: across ~35 vendors checked, no product scores on more than two of the five franchise-model primitives, and none combines franchisee-paid billing with fund accounting and participation. The closest — Franify, launched 8 April 2026 and purpose-built for franchise marketing — shipped with exactly one of the eight. Zero seed or Series A funding events for franchise marketing software surfaced across 2024–2026. The category is consolidating, not attracting entrants.
The operating system for franchise marketing, built for the 82% of brands SOCi will not serve — entered through the money, not the megaphone.
Success criterion: the September Toastique tier changes are executed once, in-product, and propagate to Stripe and the billing sheet without the four-system manual sequence.
| Layer | Choice |
|---|---|
| Frontend | React + Vite (existing Lovable app) |
| Backend | Supabase Postgres + edge functions (existing, 55 tables) |
| Auth | Supabase Auth — RLS rebuilt per audit P0b |
| Billing | Stripe multi-account (Connect-style) |
| Ingestion | webhook-receiver (already real) + CSV import |
| Reporting | Existing report suite (proven on 8,621 rows) |
| AI | Existing Gemini edge functions (insights, summaries) |
| Hosting | Lovable Cloud (existing) |
| Analytics | GA4 + PostHog on product surfaces |
| Dev motion | Claude Code + Lovable MCP agent-assisted |
Ad plan note: no paid acquisition in year one. This is an agency-led, migration-first motion; the AC O1–O4 funnel applies only if Tier 3 expansion opens, and any campaigns deploy PAUSED per house rule.
| KPI | Definition / baseline |
|---|---|
| Ledger accuracy | Invoice number = app number, zero manual reconciliation |
| Participation rate | Enrolled / total locations per system (the buyer KPI) |
| Billing error catch rate | $ caught by reconciliation diff (baseline: $51.5K/mo found by hand) |
| Close time | Hours from period end to locked, billable ledger |
| Franchisee MAU | Second-user problem: >1 real login is milestone zero |
| Tier-change latency | Request → propagated to Stripe + sheet (baseline: days, 4 systems) |
| Net revenue retention | Participation growth inside existing systems |
| External logos | Systems not managed by AC media (agency-neutrality test) |
~9 hours of gates decide whether the 100 hours happen at all. Failing a gate is a success of the process, not a failure of the idea.
If one enrollment ledger cannot cover CHHJ and Toastique without per-client special cases in core tables (4-hour test), the one-product thesis is dead. PARK.
No written data-rights from CHHJ/Toastique, or no permission to operate Toastique Stripe programmatically → the wedge loses its proof points. Hours go to RankPrompt instead.
If the 100 hours stall past 60 days, the honest verdict is that AC attention is the constraint, not the market. Convert to internal tooling and stop calling it a product.