Files
boundhq/inbound/MODULE_READINESS_MASTER_REPORT.md
T

131 lines
5.9 KiB
Markdown

# 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
1. Fix/verify login bounce on staging.
2. Deploy/verify PDF compliance defaults for quote/invoice templates.
3. Deploy/verify SaaS Admin and tenant provisioning.
4. Run tenant isolation smoke tests.
5. Resolve Xero scopes or approve manual accounting fallback for first customer.
6. Create customer onboarding checklist and starter pricelist path.
7. Confirm VPS security items before real customer data: `.env` permissions 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_id` tenant 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 main `business_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.
1. Brendan identifies first customer.
2. AI provisions a tenant through SaaS Admin.
3. AI configures business details, users, numbering, modules, and compliant templates.
4. AI imports or creates a minimum viable pricelist.
5. Brendan/customer creates one real quote.
6. AI verifies PDF compliance and quote acceptance.
7. AI verifies project/job/invoice creation.
8. Xero is connected if scopes are ready; otherwise first customer runs manual accounting fallback for the first week.
9. 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.