5.9 KiB
Module Readiness Master Report
This master report summarises the Stage 1 SaaS readiness audit. It answers: what is the shortest safe path to first paying SaaS customer?
Executive Summary
BoundHQ has more than enough product surface for a first paying SaaS customer. The risk is not missing features. The risk is launching with too many modules exposed, stale Dev Centre completion scores, unresolved legal/compliance defaults, unverified tenant isolation, and onboarding steps that still rely on Brendan's implicit knowledge.
The shortest safe path is a narrow, assisted launch:
Tenant -> login -> business setup -> pricelist -> customer -> quote -> compliant PDF -> project/job -> invoice -> Xero/manual accounting -> support.
True Current Module Status
| Category | Modules |
|---|---|
| Ready or close for Stage 1 product use | Customers, Contacts, Quotes, Projects, Jobs, Invoices, Pricelist, Settings |
| Stage 1 blockers | Auth login verification, SaaS Admin deployment, PDF compliance defaults, tenant isolation tests, Xero setup decision |
| Stage 1.5 assisted setup | Tradify Importer, Email Intake, Communications/SMS, Inventory, Purchase Orders, Estimator, Team Notes, Help Centre |
| Stage 2 | Production Planner, Financials, Time Cards, Leave & Capacity, WHS, Training, Customer Portal |
| Later / parked | Mozaik Library, CNC Tooling, Cabinet Library, Texture Importer, Door Orders, Database Admin, legacy Scheduler/Dispatch |
Dev Centre Accuracy
Dev Centre module completion percentages are development memory, not launch readiness. Major inaccuracies:
- PDF Templates show 95% complete but route map says missing/unknown and legal default risk remains.
- Financials show 100% but are staging and blocked by Xero scopes.
- Production Planner shows 95% but is Stage 2 for first customer.
- SaaS Foundations are lumped into one 75% score, hiding tenant provisioning, onboarding, SaaS Admin, and billing differences.
- Completion does not account for route promotion, tests, tenant isolation, external envs, or North Star priority.
Stage 1 Launch Blockers
- Fix/verify login bounce on staging.
- Deploy/verify PDF compliance defaults for quote/invoice templates.
- Deploy/verify SaaS Admin and tenant provisioning.
- Run tenant isolation smoke tests.
- Resolve Xero scopes or approve manual accounting fallback for first customer.
- Create customer onboarding checklist and starter pricelist path.
- Confirm VPS security items before real customer data:
.envpermissions and credential rotation plan.
Modules Ready for SaaS
Ready means "close enough for first customer with focused testing", not "perfect".
- Customers/Contacts
- Settings/business details/module access/numbering
- Pricelist core
- Quotes core
- Public quote acceptance
- Projects
- Jobs
- Invoices core
- Communications log
Modules Not Ready for Stage 1 Exposure
- Dev Centre: internal only
- Database Admin: internal only
- Financials: Stage 2/Premium; Xero scopes blocker
- Production Planner: Stage 2 unless customer explicitly needs it
- Customer Portal: Stage 2; public quote portal is enough
- Mozaik/CNC/Cabinet Library/Texture Importer: later-stage manufacturing depth
- Door Orders: separate workflow
- Legacy Scheduler/Dispatch: park or simplify
Database / Source Issues
Critical database audit points:
business_idtenant isolation must be proven across core tables.- RLS migration exists but is dormant without session variable wiring.
- Older Cabinet Builder tables use
tenant_id, not mainbusiness_id. - Dev Centre readiness values are manually seeded/stale.
- Tradify Importer writes multiple operational tables and must be rehearsed in a throwaway tenant.
- Xero tokens/cache must be per business.
- PDF terms/templates must be business/state-scoped.
Onboarding Gaps
- No single first-run onboarding wizard.
- No customer-facing Tradify export instructions.
- No starter pricelist pack.
- No explicit Xero setup fallback decision.
- No AI/email privacy consent flow.
- No clear "Do It For You" checklist in-app.
Testing Gaps
Must add/run before first customer:
- login smoke test
- quote-to-invoice E2E
- PDF compliance E2E
- tenant isolation tests
- SaaS tenant provisioning smoke test
- Xero invoice push or manual fallback test
- Tradify import dry run
- Email Intake dry run if enabled
- role/module access matrix
Recommended Next Actions
| Order | Action | Owner | Why |
|---|---|---|---|
| 1 | Verify/fix staging login bounce | Brendan + AI | Cannot test anything reliably without login |
| 2 | Deploy/fix PDF compliance defaults | AI | Legal blocker for quotes/invoices |
| 3 | Deploy SaaS Admin and run tenant smoke test | AI | Enables customer onboarding |
| 4 | Run core workflow E2E in throwaway tenant | AI | Proves launch path |
| 5 | Decide Xero now vs manual fallback | Brendan | Avoids blocking launch indefinitely |
| 6 | Create first-customer DIFM onboarding checklist | AI | Reduces customer confusion |
| 7 | Prepare starter pricelist/import guide | AI | Gets first quote created quickly |
| 8 | Hide/park non-Stage-1 modules for first tenant | AI/Brendan | Reduces support burden |
Shortest Safe Path to First Paying SaaS Customer
Do not finish every module. Launch one narrow, assisted workflow.
- Brendan identifies first customer.
- AI provisions a tenant through SaaS Admin.
- AI configures business details, users, numbering, modules, and compliant templates.
- AI imports or creates a minimum viable pricelist.
- Brendan/customer creates one real quote.
- AI verifies PDF compliance and quote acceptance.
- AI verifies project/job/invoice creation.
- Xero is connected if scopes are ready; otherwise first customer runs manual accounting fallback for the first week.
- Keep Stage 2 modules hidden until the first customer is active and stable.
Final recommendation: Stage 1 should be a concierge onboarding launch, not self-serve. BoundHQ should sell the first customer on the core cabinet-shop workflow and use manual setup to smooth every rough edge.