Files
boundhq/inbound/MODULE_INVENTORY.md
T

14 KiB

Module Inventory

This inventory lists developed modules and notable hidden/experimental areas found through the frontend registry, route map, backend route files, migrations, and project docs. "Current state" is an audit judgment, not a live acceptance result.

Inventory

Module Purpose User role Frontend location Backend routes Main database tables External integrations Current working state Known bugs / risks Links to other modules Tenant isolation Stage 1 need
Auth / Users Login, signup, invites, sessions All users/admin /login, /signup, /set-password/:token /api/auth users, refresh_tokens, businesses Resend for invites/reset Prod-partial Staging login bounce; docs disagree on localStorage vs httpOnly cookie All modules users.business_id; needs session/RLS proof Must work
Dashboard Operational overview Admin, manager, office, workshop / /api/dashboard Aggregates jobs, quotes, invoices, projects None Prod Needs real tenant smoke test Jobs, quotes, invoices Depends on route filters Stage 1
Customers Customer/account CRM Admin, manager, office /customers, /customers/:id /api/customers customers, contacts, customer_addresses, customer_notes, customer_activities None Prod Duplicate detection missing Enquiries, quotes, projects, invoices Needs business-scoped verification Stage 1
Contacts People linked to customers Admin, manager, office /contacts, /contacts/:id /api/contacts contacts, contact_price_lists None Built but sidebar disabled Separate module disabled Customers, quotes, invoices Needs business-scoped verification Stage 1 as embedded CRM
Enquiries Lead capture and conversion Admin, manager, office /enquiries, /enquiries/:id /api/enquiries enquiries, enquiry_files, enquiry_notes Email Intake Prod Conversion flow needs re-test Customers, projects, email Needs business-scoped verification Stage 1.5
Projects Parent record connecting customer work Admin, manager, office /projects, /projects/:id /api/projects projects, project_notes, project_files, project_update_log, drawing_register OneDrive/rclone file storage Prod OneDrive naming mismatch Enquiry, quote, job, invoice Needs business-scoped verification Stage 1
Jobs Production/job execution Admin, manager, office, workshop /jobs, /jobs/:id /api/jobs, /api/bulk-delete jobs, job_tasks, job_notes, job_files, job_schedules OneDrive/Mozaik optional Prod Confirm 14-stage SaaS labels vs legacy 12-stage references Projects, quotes, invoices, production Needs business-scoped verification Stage 1
Quotes Quote builder, send, accept, revise Admin, manager, office /quotes, /quotes/:id, /q/:token /api/quotes quotes, quote_line_items, quote_events, quote_files, quote_change_requests, quote_payment_schedule_steps Resend, PDF, Xero via invoice Prod PDF compliance default risk; QuoteDetail.jsx large Customers, pricelist, projects, invoices Needs business-scoped verification; public token access Stage 1
Quote portal Customer quote view/accept Customer/public /q/:token /api/quotes/view/:token quotes, quote_change_requests, portal_users optional Email links Prod Public token permissions need test Quotes, portal, invoices Token scoped by quote Stage 1
Invoices Deposit/final invoices and Xero push Admin, manager, office /invoices, /invoices/:id /api/invoices, /api/invoice-profiles invoices, invoice_line_items, invoice_profiles, invoice_profile_steps, invoice_activity Xero, Resend/PDF Prod Xero E2E depends on scopes/env Quotes, jobs, Xero Needs business-scoped verification Stage 1
Pricelist Products/services and customer pricing Admin, manager /pricelist /api/pricelists, /api/customer-pricing, /api/quotes/:id/pricelist-items price_lists, price_list_items, price_list_category_rules, price_list_item_overrides, pricelist_import_batches, pricelist_import_actions CSV/Excel import Prod New customer setup not guided enough Quotes, invoices, PO, inventory Needs business-scoped verification Stage 1
Communications Unified outbound/inbound communication log Admin, manager, office /communications /api/communications communications Resend, SMS/Twilio indirectly Prod Body drill-down/bulk actions missing Quotes, invoices, projects, SMS Needs business-scoped verification Stage 1.5
Email Intake IMAP polling, AI parse, operational queue Admin, manager, office /enquiries/email-intake /api/email-intake email_intake_logs, email_intake_filters, email_intake_settings, email_intake_trusted_senders IMAP, OpenAI Staging OpenAI key pending; privacy/failure mode setup needed Enquiries, customers, projects, attachments Must prove business_id on logs/settings Stage 1.5
Xero OAuth, contacts/invoices/payment sync, P&L Admin/manager /settings/integrations, /financials /api/integrations/xero integration_connections, integration_sync_logs, xero_*_cache Xero OAuth2 Blocked Brendan must enable scopes; per-tenant OAuth setup required Invoices, financials, contacts integration_connections.business_id; verify tokens per business Stage 1
Settings / Module Access Business setup, users, modules, numbering, appearance Admin/manager /settings and child tabs /api/modules, /api/user/sidebar-*, /api/business, /api/numbering-settings module_settings, user_sidebar_prefs, user_sidebar_groups, record_number_settings, businesses, staff Logo file storage Prod Needs onboarding-oriented setup path All modules Mixed; business logo/settings use business_id Stage 1
SaaS Admin Provision/manage SaaS tenants Founder/developer /admin/saas /api/admin/saas businesses, subscriptions, tenant provisioning metadata PostgreSQL/libpq Staging Not deployed; env vars needed; destructive drop endpoint must be protected Auth, tenant create Central to SaaS; DB-per-tenant/provision flow Stage 1 blocker
Dev Centre Internal planning/progress system Admin/developer /dev-centre, /dev-centre/:id /api/dev-centre dev_* tables OpenRouter/OpenAI optional Staging Completion % manual and misleading for launch All development modules Internal only; should not be customer visible Internal Stage 1 support
PDF Templates Quote/invoice templates and terms Admin/manager /settings/pdf-templates /api/pdf-templates pdf_templates, legal_terms, terms_acknowledgements PDF renderer Missing/unknown in route map Deposit clauses illegal in 4 states until defaults fixed Quotes, invoices, compliance Needs business_id per templates/terms Stage 1 blocker
Customer Portal Customer account/dashboard Customer/admin /portal/*, /settings/portal-users /api/portal/auth, /api/portal/admin portal_users, customer/job/quote/invoice views Email links Staging Job progress/file access/password reset incomplete Quotes, invoices, jobs portal_users.business_id; verify customer scoping Stage 2
Production Planner Shop planning by operations/capacity Admin, manager, workshop /production, /production/floor-tv, /settings/production-routing /api/production production_*, job_production_hours, manual_production_entries Optional CNC Staging CNC estimates not wired; data setup heavy Jobs, projects, schedule, capacity Needs business scope review Stage 2
Dispatch / Scheduling Dispatch board, legacy scheduler Admin, manager, workshop /dispatch, /scheduling redirect /api/scheduling schedule_blocks, production_schedule_entries None Staging/needs-work Drag/drop issue in seed; superseded by planner Jobs, production Needs review Later / parked
Inventory Stock, remnants, transactions, kits Admin, manager, workshop /inventory /api/inventory stock_master, stock_transactions, stock_kits, stock_kit_items, stock_remnants, stock_suppliers Barcode/CSV optional Prod PO receiving linkage must be verified Pricelist, PO, production Needs business scope review Stage 1.5
Purchase Orders Supplier ordering and receiving Admin, manager, office /purchase-orders /api/purchase-orders po_master, po_line_items, suppliers, stock_suppliers None Prod Receiving-to-inventory test required Pricelist, inventory, financials Needs business scope review Stage 1.5
Financials Snapshots, forecasts, cost ledger, cashflow Admin, manager /financials /api/financials/* financial_snapshots, forecast_*, manual_cost_entries, regular_expenses, project_back_costings, financial_settings Xero Staging/blocked by scopes Xero scopes; Premium-tier complexity Invoices, Xero, jobs, PO Uses business_id in newer tables; verify all routes Stage 2
Time Cards Staff time entry and approval Admin, manager, office, workshop /time-cards, /settings/time-cards /api/time-cards time_cards, time_card_entries, organisation_hours_defaults, staff_hour_templates Xero payroll future Staging Mobile/payroll export missing Staff, financials, capacity Needs business scope review Stage 2
Leave & Capacity Leave requests and capacity flags Admin, manager, office, workshop /leave /api/leave leave_requests, leave_balances, staff None Prod according to route map Needs capacity integration follow-up Staff, time cards, production Needs business scope review Stage 2
WHS / SOP Safety registers and docs Admin, manager, workshop /whs /api/whs, /api/whs-ai whs_*, training_* overlap OpenAI for generation Prod Template library setup for SaaS Training, staff Needs business scope review Stage 2
Training Training modules and records Admin, manager, office /training /api/training training_modules, training_records None Staging Not needed for first customer WHS, staff Needs business scope review Stage 2
Estimator Material estimate sessions Admin, manager, office /estimator /api/estimator estimate_sessions, estimate_lines, price_list_items None Prod Not fully integrated to planner Quotes, pricelist Older tenant_id model needs review Stage 1.5
Cabinet Builder Cabinet BOM/pricing builder Admin, manager, workshop /cabinet-builder /api/cabinet-builder cabinet_builder_* Mozaik optional Prod Uses separate tenant_id; folder creation issue Quotes, jobs, Mozaik Separate tenant model; reconcile with business_id Stage 2
Mozaik Library Import/manage Mozaik library data Admin/manager /settings/cabinet-library, integration tabs /api/mozaik, /api/cabinet-library mozaik_*, cnc_*, cabinet_builder_* Mozaik files Missing/unknown/staging Complex setup, not launch-critical Cabinet builder, production, CNC Needs tenant model review Later unless first customer needs it
CNC Tooling CNC tools, groups, runtime settings Admin/manager /settings/cnc-tooling /api/cnc cnc_* Mozaik CNC files Staging Runtime not wired to planner Mozaik, production Partial business_id only Later
Cabinet Library Parameter reference, product briefs, presets Admin, manager, workshop /cabinet-library /api/cabinet-library mozaik_parameter_reference, mozaik_product_briefs, mozaik_parameter_presets OpenAI formula assistant optional Staging Product-development oriented Mozaik, cabinet builder Needs review Later
Team Notes Internal notes board Admin, manager, office, workshop /team-notes /api/team-notes team_note_pages, team_notes None Prod Rich text/@mentions missing Jobs, quotes Needs business scope review Stage 1.5
Help Centre User guide/help All internal users /help Mostly static static docs None Built SaaS onboarding help not complete All modules Not data sensitive Stage 1.5
Broadcasts Internal announcements Admin/staff /settings/broadcasts /api/broadcasts team_broadcasts, broadcast_acknowledgements None Staging Not launch-critical Help/settings Needs business scope review Later
Database Admin Internal database browser Admin/developer /settings/database-admin /api/admin/db, /api/admin/database-check All allowlisted tables, audit_log None Staging Dangerous if exposed to customer tenants Internal ops Must be admin-only Internal only
Tradify Import Import legacy Tradify CSV data Admin/developer/customer setup /settings/tradify-import /api/tradify-import tradify_import_*, plus customers/jobs/quotes/invoices/projects CSV upload Staging Customer instructions and supported CSV formats need clarity Customers, jobs, quotes, invoices Must write into correct tenant only Stage 1.5 / DIFM
Texture Importer Import supplier swatches into Mozaik files Admin/manager /texture-importer /api/mozaik/textures/* Mozaik texture/config tables/files Supplier websites/files Built/staging-ish Not in route map summary as primary module Mozaik Needs review Later
Door Orders Public door order form and admin management Public/admin /door-orders, public routes /api/door-orders, /api/public/door-orders Door order tables (inline migration reference) PDF/ZIP file generation Dev Customer-only workflow, not core SaaS launch Customers/admin ops Scope middleware noted Later
Capture PWA Quick capture notes Internal/mobile /capture (from source) /api/capture Capture-related or enquiries/notes PWA Built historically Not in route map summary Enquiries/notes Needs review Later
SMS Customer notifications Admin/office integrated buttons /api/sms communications, SMS-specific fields Twilio Built Customer tenant opt-in/env needed Quotes/jobs/invoices/comms Must isolate sender settings Stage 1.5

Inventory Conclusions

The product has enough built surface for Stage 1, but too many modules are marked "complete" without SaaS launch criteria. The first customer path should be narrow: Auth, Settings/business setup, Customers, Quotes, Pricelist, Projects, Jobs, Invoices, Xero, PDF compliance, SaaS Admin, and selected onboarding/import support.