{"modules":[{"slug":"analytics-bi","name":"Analytics & BI","description":"Metrics, dashboards, and knowledge-linked performance views across the ERP landscape.","workflows":["Define metrics","Distribute dashboards","Review performance signals"],"routes":["/analytics/kpis","/analytics/dashboards","/analytics/alerts"],"api":[{"name":"List KPI definitions","method":"GET","path":"/api/analytics/kpis","summary":"Returns business KPI definitions and thresholds."},{"name":"List alerts","method":"GET","path":"/api/analytics/alerts","summary":"Returns analytics anomaly notifications."}],"permissions":["analytics.view","analytics.manage","analytics.share"],"menu":["KPI center","Dashboards","Alerts"],"entities":["KPIDefinition","Dashboard","InsightAlert"],"forms":["Metric definition","Alert subscription"],"tables":["Executive scorecard","Anomaly log"],"sourceModuleKey":"analytics-bi"},{"slug":"crm","name":"CRM","description":"Account context and commercial continuity connected to ERP execution signals.","workflows":["Account planning","Renewal monitoring","Growth coordination"],"routes":["/crm/accounts","/crm/renewals","/crm/health"],"api":[{"name":"List accounts","method":"GET","path":"/api/crm/accounts","summary":"Returns accounts with health and activity context."},{"name":"Update health score","method":"PATCH","path":"/api/crm/accounts/:id/health","summary":"Updates customer health assessment."}],"permissions":["crm.view","crm.manage","crm.renewals"],"menu":["Accounts","Health","Renewals"],"entities":["Account","RenewalPlan","HealthSignal"],"forms":["Account review","Renewal plan"],"tables":["Account health","Renewal pipeline"],"sourceModuleKey":"crm"},{"slug":"finance-accounting","name":"Finance & Accounting","description":"Operationally linked journals, close management, and reporting assurance.","workflows":["Capture subledger events","Reconcile and review","Close and report"],"routes":["/finance/journals","/finance/close","/finance/reconciliation"],"api":[{"name":"List journal batches","method":"GET","path":"/api/finance/journals","summary":"Returns journals with review status."},{"name":"Submit close task","method":"POST","path":"/api/finance/close-tasks","summary":"Creates a close workflow task."}],"permissions":["finance.view","finance.close","finance.approve"],"menu":["Finance cockpit","Journals","Close manager"],"entities":["JournalBatch","CloseTask","ReconciliationItem"],"forms":["Adjustment entry","Close sign-off"],"tables":["Close checklist","Unmatched transactions"],"sourceModuleKey":"finance-accounting"},{"slug":"hrms","name":"HRMS","description":"Workforce records, policy workflows, staffing readiness, and certification context.","workflows":["Employee onboarding","Leave and policy approvals","Capability tracking"],"routes":["/hr/employees","/hr/leave","/hr/capability"],"api":[{"name":"List employees","method":"GET","path":"/api/hr/employees","summary":"Returns workforce records and role context."},{"name":"Submit leave request","method":"POST","path":"/api/hr/leave","summary":"Creates an employee leave workflow."}],"permissions":["hr.view","hr.manage","hr.approve"],"menu":["Employees","Leave","Readiness"],"entities":["Employee","LeaveRequest","CertificationRecord"],"forms":["Onboarding checklist","Leave request"],"tables":["Employee roster","Capability status"],"sourceModuleKey":"hrms"},{"slug":"integration-hub","name":"Integration Hub","description":"API and event contract management, observability, partner enablement, and version communication.","workflows":["Register contract","Monitor integrations","Publish partner changes"],"routes":["/integration/contracts","/integration/observability","/integration/partners"],"api":[{"name":"List contracts","method":"GET","path":"/api/integration/contracts","summary":"Returns registered REST and event contracts."},{"name":"List incidents","method":"GET","path":"/api/integration/incidents","summary":"Returns integration failures and retry details."}],"permissions":["integration.view","integration.manage","integration.observe"],"menu":["Contracts","Observability","Partners"],"entities":["IntegrationContract","IntegrationIncident","PartnerProfile"],"forms":["Contract registration","Partner onboarding"],"tables":["Integration health","Version drift"],"sourceModuleKey":"integration-hub"},{"slug":"inventory-control","name":"Inventory Control","description":"Ledger-based stock control, reservation accuracy, counting discipline, and movement traceability.","workflows":["Receive and put away stock","Reserve and issue inventory","Cycle count and reconcile"],"routes":["/inventory/ledger","/inventory/counts","/inventory/transfers"],"api":[{"name":"Inventory balance snapshot","method":"GET","path":"/api/inventory/balances","summary":"Returns stock by state and location."},{"name":"Post adjustment","method":"POST","path":"/api/inventory/adjustments","summary":"Creates an approved stock correction."}],"permissions":["inventory.view","inventory.adjust","inventory.count"],"menu":["Inventory ledger","Counts","Transfers"],"entities":["InventoryLedger","StockTransfer","CycleCount"],"forms":["Adjustment request","Count confirmation"],"tables":["Availability by warehouse","Adjustment queue"],"sourceModuleKey":"inventory-control"},{"slug":"manufacturing","name":"Manufacturing","description":"Production planning, work order execution, quality-linked output, and variance visibility.","workflows":["Plan work orders","Record production output","Review manufacturing variance"],"routes":["/manufacturing/orders","/manufacturing/quality","/manufacturing/variance"],"api":[{"name":"List work orders","method":"GET","path":"/api/manufacturing/orders","summary":"Returns work orders with status and material context."},{"name":"Post production output","method":"POST","path":"/api/manufacturing/output","summary":"Records finished output and variance data."}],"permissions":["manufacturing.view","manufacturing.execute","manufacturing.quality"],"menu":["Work orders","Quality","Variance"],"entities":["WorkOrder","ProductionOutput","QualityHold"],"forms":["Output confirmation","Quality hold review"],"tables":["Production schedule","Variance analysis"],"sourceModuleKey":"manufacturing"},{"slug":"ocr-ai-automation","name":"OCR & AI Automation","description":"Document capture, extraction, confidence scoring, and human review orchestration.","workflows":["Document ingestion","Confidence routing","Exception review"],"routes":["/automation/inbox","/automation/review","/automation/rules"],"api":[{"name":"Upload document","method":"POST","path":"/api/automation/documents","summary":"Submits a document into the OCR pipeline."},{"name":"List review queue","method":"GET","path":"/api/automation/reviews","summary":"Returns documents needing manual intervention."}],"permissions":["automation.view","automation.review","automation.configure"],"menu":["Automation inbox","Review queue","Rules"],"entities":["DocumentBatch","ReviewCase","AutomationRule"],"forms":["Review correction","Rule builder"],"tables":["Confidence queue","Automation performance"],"sourceModuleKey":"ocr-ai-automation"},{"slug":"projects","name":"Projects","description":"Milestone, budget, and cross-functional execution control for enterprise delivery.","workflows":["Project initiation","Milestone execution","Budget and completion review"],"routes":["/projects/portfolio","/projects/milestones","/projects/budgets"],"api":[{"name":"List active projects","method":"GET","path":"/api/projects","summary":"Returns project portfolio status."},{"name":"Update milestone state","method":"PATCH","path":"/api/projects/milestones/:id","summary":"Updates a milestone progress state."}],"permissions":["projects.view","projects.manage","projects.approve"],"menu":["Projects","Milestones","Portfolio"],"entities":["Project","Milestone","BudgetLine"],"forms":["Project setup","Milestone review"],"tables":["Portfolio health","Budget variance"],"sourceModuleKey":"projects"},{"slug":"purchase-procurement","name":"Purchase & Procurement","description":"Spend intake, sourcing, PO governance, and receipt-linked settlement control.","workflows":["Requisition to PO","Vendor comparison and award","Receipt to payment"],"routes":["/purchase/requisitions","/purchase/orders","/purchase/vendors"],"api":[{"name":"List requisitions","method":"GET","path":"/api/purchase/requisitions","summary":"Returns requisitions with approval state."},{"name":"Create purchase order","method":"POST","path":"/api/purchase/orders","summary":"Creates a purchase order from approved demand."}],"permissions":["purchase.view","purchase.manage","purchase.approve"],"menu":["Procurement cockpit","Requisitions","Vendors"],"entities":["Requisition","Vendor","PurchaseOrder","Receipt"],"forms":["Requisition intake","PO approval"],"tables":["Open requisitions","Vendor scorecard"],"sourceModuleKey":"purchase-procurement"},{"slug":"sales-revenue","name":"Sales & Revenue","description":"Quote-to-cash controls for pricing, order execution, billing, and customer lifecycle visibility.","workflows":["Opportunity to order","Commercial approval routing","Billing readiness and revenue close"],"routes":["/sales/opportunities","/sales/orders","/sales/contracts"],"api":[{"name":"List sales orders","method":"GET","path":"/api/sales/orders","summary":"Returns order pipeline and execution status."},{"name":"Create quotation","method":"POST","path":"/api/sales/quotes","summary":"Creates a governed quotation draft."}],"permissions":["sales.view","sales.manage","sales.approve"],"menu":["Sales cockpit","Orders","Contracts"],"entities":["Opportunity","Quotation","SalesOrder","Contract"],"forms":["Quotation builder","Order review"],"tables":["Order backlog","Invoice readiness"],"sourceModuleKey":"sales-revenue"},{"slug":"scm-wms","name":"SCM & WMS","description":"Warehouse task planning, outbound assurance, replenishment, and supply execution visibility.","workflows":["Wave planning","Pick pack dispatch","Carrier handoff tracking"],"routes":["/wms/waves","/wms/tasks","/wms/dispatch"],"api":[{"name":"List picking waves","method":"GET","path":"/api/wms/waves","summary":"Returns current wave queue and status."},{"name":"Create dispatch batch","method":"POST","path":"/api/wms/dispatch","summary":"Creates outbound dispatch work."}],"permissions":["wms.view","wms.execute","wms.dispatch"],"menu":["Warehouse control","Waves","Dispatch"],"entities":["Wave","WarehouseTask","DispatchBatch"],"forms":["Wave planner","Dispatch confirmation"],"tables":["Outbound queue","Dock assignments"],"sourceModuleKey":"scm-wms"}],"sourceBundle":{"sourceRoot":"/FlexotiumERP","extractedAt":"2026-05-10T16:37:39.701Z","hasRealMetadata":false,"notes":["ERP source root not found at /FlexotiumERP. Falling back to sample metadata."],"drizzleTables":[],"zodContracts":[],"apiRoutes":[],"apiRouteDiagnostics":{"totalRoutes":0,"resolvedPermissions":0,"unresolvedPermissions":0,"unresolvedPatternsByFile":[]},"uiResources":[],"modules":[]}}