# Roadmap ## Documentation maintenance - Keep [CHANGELOG.md](D:/CODING/mrp-codex/CHANGELOG.md) updated alongside roadmap-driving feature completion, priority shifts, and notable delivery milestones. - When roadmap changes affect implementation guidance or deployment expectations, update the companion docs in [README.md](D:/CODING/mrp-codex/README.md), [INSTRUCTIONS.md](D:/CODING/mrp-codex/INSTRUCTIONS.md), [STRUCTURE.md](D:/CODING/mrp-codex/STRUCTURE.md), and [UNRAID.md](D:/CODING/mrp-codex/UNRAID.md) in the same change set. ## Product direction MRP Codex is being built as a streamlined, modular manufacturing resource planning platform with strong branding controls, fast operational workflows, and a single-container deployment model that is simple to back up and upgrade. ## Current status ### Completed: Foundation release - Monorepo-style workspace with `client`, `server`, and `shared` - React + Vite + Tailwind frontend shell - Express + TypeScript backend shell - Prisma + SQLite schema foundation with committed initial migration - Local authentication with JWT-based session flow - RBAC permission model and protected routes - Central Company Settings with runtime branding controls - Light and dark mode theme system - Local file attachment storage under `/app/data/uploads` - Puppeteer PDF service foundation with branded company-profile preview - CRM reference entities for customers and vendors - CRM customer and vendor create/edit/detail workflows - CRM search, filters, and persisted status tagging - CRM contact-history timeline with authored notes, calls, emails, and meetings - CRM shared file attachments on customer and vendor records, including delete support - CRM reseller hierarchy, parent-child customer structure, and reseller discount support - CRM multi-contact records, commercial terms, lifecycle stages, operational flags, and activity rollups - Inventory item master, BOM, warehouse, and stock-location foundation - Inventory transactions, on-hand tracking, and item attachments - Sales quotes and sales orders with commercial totals logic - Purchase orders with vendor lookup, item lines, totals, and quick status actions - Purchase-order line selection restricted to inventory items flagged as purchasable - Purchase receiving foundation with warehouse/location posting, receipt history, and per-line received quantity tracking - Branded sales quote, sales order, and purchase-order PDF templates through the shared Puppeteer pipeline - Shipping shipment records linked to sales orders - Packing-slip, shipping-label, and bill-of-lading PDF rendering for shipments - Logistics attachments directly on shipment records - Projects foundation with customer, quote, sales-order, shipment, owner, due-date, notes, and attachment linkage - Project list/detail/create/edit workflows and dashboard program widgets - Manufacturing foundation with work orders, project linkage, material issue posting, completion posting, and work-order attachments - Vendor invoice/supporting-document attachments directly on purchase orders - Vendor-detail purchasing visibility with recent purchase-order activity - SKU-searchable BOM component selection for inventory-scale datasets - Theme persistence fixes and denser responsive workspace layouts - Full-site density normalization pass across active CRM, inventory, settings, dashboard, and login screens - SVAR Gantt integration wrapper with demo planning data - Multi-stage Docker packaging and migration-aware entrypoint - Docker image validated locally with successful app startup and login flow - Core project documentation in `README.md`, `INSTRUCTIONS.md`, and `STRUCTURE.md` ### Current known gaps in the foundation - Prisma migration execution is committed and documented, but local Windows Node 24 schema-engine behavior remains inconsistent; use Node 22 or Docker for migration execution - The frontend bundle is functional but should be code-split later, especially around the gantt module - CRM reporting is now functional, but broader account-role depth and downstream document rollups can still evolve later - The current sales/purchasing/shipping foundation still does not include approvals, revisions, vendor exception handling, or deeper carrier integration - The dashboard is now live-data driven, but still needs richer KPI widgets, alerts, recent-activity queues, and exception reporting as more transactional depth is added - The new projects domain is foundational but still needs milestones, project rollups, and deeper inventory/purchasing/manufacturing tie-ins - The new manufacturing domain is foundational but still needs routings, labor capture, work-center views, and capacity-aware planning tie-ins ## Dashboard Plan - Keep `Dashboard` as the primary landing surface for operators - Expand it by modular panels rather than redesigning it for each new feature phase - Prefer metric cards, exception queues, action shortcuts, and status summaries over static descriptive content - Add future widgets for purchasing, shipping exceptions, inventory shortages, planning readiness, and audit/system health - Continue expanding the new project widgets into milestone, blockage, and shipment-readiness views instead of creating a separate landing area - Continue expanding the new manufacturing widgets into shortage, routing, and bottleneck views instead of creating a separate landing area - Treat dashboard modules as upgradeable blocks that can be reordered or expanded without disturbing the shell ## Planned feature phases ### Phase 1: CRM and master data hardening - Better seed/bootstrap strategy for non-development environments - Additional CRM account-role depth if later sales/purchasing workflows need it - More derived CRM rollups once quotes, orders, and purchasing documents exist QOL subfeatures: - Saved CRM filters and quick views - Better hierarchy navigation between reseller parents and child accounts - One-click contact actions for email and phone workflows - Duplicate-account detection and merge workflow - Cleaner attachment previews and richer record timelines - More compact table controls for heavy CRM data-entry users ### Phase 2: Inventory and manufacturing core - Item master and SKU structure foundation - Warehouse and stock location foundation - Inventory transactions and on-hand tracking foundation - Bills of materials and custom assemblies foundation - File attachments for BOM drawings and manufacturing support docs foundation QOL subfeatures: - Item master enrichment: categories, alternate part numbers, revisions, preferred vendor data, and reorder settings - Stock transfers between warehouses and locations - Reservation and allocation visibility against demand - Faster SKU search and keyboard-heavy item/BOM entry flows refinement - Better warehouse dashboards for on-hand, shortages, and recent movement - BOM revision support and clearer where-used visibility - Bulk item import/export and mass-update utilities ### Phase 3: Sales and purchasing documents - Quotes, sales orders, and purchase orders - Reusable line-item and totals model - Purchase receiving flow tied to purchase-order lines and inventory receipts foundation - Document states, approvals, and revision history - Branded PDF templates rendered through Puppeteer - Attachments for vendor invoices and supporting documents Foundation slice shipped: - Purchase-order supporting documents through the shared attachment pipeline - Vendor-detail purchasing visibility for recent purchase-order activity QOL subfeatures: - Line duplication, drag ordering, and keyboard-first line editing - Saved customer defaults for tax, freight, and commercial terms - Inline stock visibility while building quotes and orders - Restrict purchase-order item entry to purchasable inventory only - Richer dashboard widgets for recent quotes, open orders, purchasing queues, and shipping exceptions - Better totals breakdown visibility on list pages and detail pages - Revision comparison view for changed customer-facing documents - Faster document cloning and quote-to-order style conversions across document types ### Phase 4: Shipping and logistics - Shipment records linked to sales orders - Bills of lading, packing slips, and shipping BOM PDFs - Carrier, package, and tracking data - Outbound shipment status workflow - Scanned logistics-document attachment handling QOL subfeatures: - Printer-friendly reprint and history actions for logistics documents - Partial shipment workflow and split-shipment visibility - Better tracking-link UX and carrier-specific shortcuts - Packing verification and ship-confirm checkpoints - Shipment search by order, tracking, customer, and carrier from one screen - Reprint and history actions for generated logistics PDFs ### Phase 5: Projects and program management Foundation slice shipped: - Project records with customer linkage, status, owner, priority, due dates, and notes - Project-to-quote, sales-order, and shipment linkage for delivery context - Project attachments through the shared file pipeline - Project list/detail/create/edit flows and dashboard visibility - Project document hub for drawings, support files, correspondence, and revision references - Milestones, checkpoints, and non-manufacturing work packages for long-running execution tracking - Project-level commercial, material, schedule, and delivery rollups - Cross-functional visibility for engineering, purchasing, manufacturing, shipping, and customer communication Module interactions: - CRM: projects link to customer accounts, reseller-owned end customers, contacts, and account notes - Sales: quotes and sales orders can spawn or attach to projects; project status should reflect commercial state where relevant - Inventory: projects reference item/BOM scope, expose shortage/reservation pressure, and later roll up material readiness - Purchasing: projects surface buyout demand and vendor receipts tied to project material needs - Shipping: shipments should be visible from the project record when a project drives deliverables - Dashboard: projects add live widgets for active programs, overdue milestones, shortages, and blocked delivery - Manufacturing: manufacturing orders and shop execution should link back to projects, but remain their own subsystem - Gantt/planning: project milestones and execution dates should feed planning views without collapsing projects into scheduling alone QOL subfeatures: - Project templates for repeatable build types - Project-specific attachment bundles and revision snapshots - One-screen project cockpit with commercial, material, schedule, and shipping summary - Better cross-links between project, customer, order, shipment, and inventory records - Project filtering by customer, owner, status, due date, and risk - Project activity timeline and audit-friendly milestone history ### Phase 6: Manufacturing execution Foundation slice shipped: - Work orders tied to manufactured or assembly items, with optional project linkage - BOM-based material requirement visibility from the work-order record - Material issue posting that creates real inventory issue transactions - Production completion posting that creates finished-goods receipt transactions - Work-order list/detail/create/edit flows, attachments, and dashboard visibility - Work orders tied to projects, sales demand, or internal build demand - Routing/work-center structure for manufacturing steps and handoffs - Material issue, consumption, completion, and WIP tracking - Labor and machine-time capture for production execution - Manufacturing status workflow from release through completion - Manufacturing rollups for open work, blockers, shortages, and throughput Module interactions: - Projects: manufacturing orders can be attached to projects, but projects remain the higher-level long-running record - Inventory: manufacturing consumes components and produces finished/semi-finished stock - Purchasing: shortages and buyout demand should be visible from manufacturing execution - Shipping: completed manufacturing should feed shipment readiness, but shipping remains separate - Dashboard: manufacturing adds live queues for open jobs, blocked work, overdue orders, and completion throughput - Planning: manufacturing orders and routings become a major input into capacity and gantt scheduling QOL subfeatures: - Traveler/job packet output - Partial completions and split-order execution visibility - Better shortage and substitute-part handling - Shop-floor quick actions and dense tablet-friendly execution views - Rework / hold / scrap tracking - Work-center dashboards and operator-focused queues ### Phase 7: Planning and scheduling - Live project-backed SVAR gantt timelines - Task dependencies, milestones, and progress updates - Manufacturing calendar views and bottleneck visibility - Labor and machine scheduling support - Theme-compliant gantt customization for light/dark mode QOL subfeatures: - Collapsible schedule groupings and saved planner views - Drag-and-drop rescheduling improvements - Critical-path and overdue highlighting - Capacity warnings for overloaded work centers - Better mobile and tablet behavior for shop-floor lookups - Faster filtering by project, customer, work center, and status ### Phase 8: Security, audit, and operations maturity - Expanded role management UI - Permission assignment administration - Audit trail coverage across critical records - Backup/restore workflow documentation and scripts - Health checks, startup diagnostics, and production readiness cleanup QOL subfeatures: - Admin diagnostics screen for permissions, migrations, storage, and PDF health - Safer destructive-action confirmations and recovery messaging - Better user/session visibility for operational admins - More explicit environment validation on startup - Log-view and export helpers for support/debugging - Backup verification checklist and restore drill guidance ## Revisit / Deferred Items - Local Windows Prisma migration reliability still needs a cleaner documented workflow or tooling wrapper - Frontend bundle splitting is still deferred; the Vite chunk-size warning remains - Sales approvals and document revision history were planned but not yet built - Inventory transactions exist, but transfers, reservations, and more advanced stock controls still need follow-up - CRM document rollups and broader account-role depth were deferred until more downstream modules exist - Audit-trail depth is still thin outside the current record/update flows - Some generated document and workflow screens still need additional polish for dense, keyboard-efficient operational use - Dashboard cards now use live data, but richer recent-activity widgets and exception queues are still deferred ## Cross-cutting improvements - Stronger validation and error reporting across all APIs - More automated tests for auth, settings, files, PDFs, and workflow modules - Better mobile behavior in module-level pages - Ongoing responsive-density tuning for module-level layouts and data-entry screens - Consistent document-template system shared by sales, purchasing, and shipping - Clear upgrade path for future module additions without refactoring the app shell ## Near-term priority order 1. Sales approvals and document revision history 2. Planning and scheduling with live project/manufacturing data 3. Inventory transfers, reservations, and deeper stock controls 4. Broader audit-trail coverage and operational diagnostics 5. Code-splitting and bundle-size reduction