131 lines
5.9 KiB
Markdown
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.
|