# Sarva Foam ERP — Requirement trace

Every requirement carries an ID, the **verbatim** source wording, the workspace
and screen it lands on, and a status. Nothing the client wrote is missing from
this table — this is the spine the client audits us against.

- **`stated`** — written in the SOW by the client (sheet *From Customer*)
- **`spec`** — Shanti's system-language restatement (sheet *To Shanti*)
- **`ia`** — structural, from sheet *Module Summary*
- **`ours`** — we are adding it; the client did not ask

Source workbook: `../../SOW.xlsx`. Client: **Sarva Foam Industries Ltd**, Bhopal
(MP) — recycler of PU foam trims into rebonded foam.

---

## A. From Customer — 13 narrative modules (`stated`)

### R1 Purchase Management
> *"Manage procurement activities from material requisition to supplier payment while ensuring timely availability of raw materials."*

| ID | Verbatim | Lands on |
| --- | --- | --- |
| R1.1 | Purchase requisitions | `purchase/pu-requisitions` |
| R1.2 | Purchase order management | `purchase/pu-orders`, `pu-order` |
| R1.3 | Material receipt | `purchase/pu-grn` |
| R1.4 | Vendor invoice verification | `purchase/pu-invoices`, `pu-match` |
| R1.5 | Purchase approvals | `purchase/pu-order` + `app/approvals` |
| R1.6 | Procurement analytics | `purchase/pu-analytics` |
| R1.7 | Rate contract management | `purchase/pu-contracts` |

### R2 Supplier Relationship Management
> *"Maintain complete supplier information while monitoring quality, pricing, delivery performance and compliance."*

| ID | Verbatim | Lands on |
| --- | --- | --- |
| R2.1 | Supplier master | `masters/md-vendors`, `md-vendor` |
| R2.2 | Vendor evaluation | `purchase/pu-suppliers` (scorecard) |
| R2.3 | Payment terms | `masters/md-commercial` |
| R2.4 | Vendor communication | `purchase/pu-supplier` (comms log) |
| R2.5 | Contract management | `purchase/pu-contracts` |
| R2.6 | Supplier complaint management | `purchase/pu-complaints` |
| R2.7 | Vendor compliance tracking | `purchase/pu-compliance` |

### R3 Manufacturing Management
> *"Manage the complete production lifecycle from production planning to finished goods while ensuring efficiency, traceability and cost optimization."*

| ID | Verbatim | Lands on |
| --- | --- | --- |
| R3.1 | Production planning | `ppc/pp-prp`, `pp-schedule` |
| R3.2 | Production orders | `production/pr-orders`, `pr-order` |
| R3.3 | Batch management | `production/pr-bmr` |
| R3.4 | Bill of Materials (BOM) | `masters/md-bom` |
| R3.5 | Formula management | `masters/md-bom` — BOM versions and approval (§35); the separate Formula screen was removed at Sarva's request, 11 Sep |
| R3.6 | Raw material consumption | `production/pr-consumption` |
| R3.7 | Production tracking | `production/pr-home`, `pr-reporting` |
| R3.8 | Machine allocation | `production/pr-machines` |
| R3.9 | Labour allocation | `production/pr-labour` |
| R3.10 | Shift management | `production/pr-shifts` |
| R3.11 | Wastage tracking | `production/pr-wastage` |
| R3.12 | Production costing | `production/pr-costing` |
| R3.13 | Production reports | `production/pr-reporting` |

### R4 Production Planning & Scheduling (PPC)
> *"Optimize manufacturing schedules based on customer demand, inventory availability, machine capacity and delivery commitments."*

| ID | Verbatim | Lands on |
| --- | --- | --- |
| R4.1 | Daily production planning | `ppc/pp-schedule` |
| R4.2 | Weekly production scheduling | `ppc/pp-schedule` (week view) |
| R4.3 | Capacity planning | `ppc/pp-capacity` |
| R4.4 | Machine scheduling | `ppc/pp-schedule` (machine lanes) |
| R4.5 | Material availability check | `ppc/pp-mrp`, `pp-fulfilment` |
| R4.6 | Production priority management | `ppc/pp-proddemand` |
| R4.7 | Production calendar | `ppc/pp-calendar` |
| R4.8 | Delivery planning | `sales/sa-schedules`, `dispatch/dl-plans` |

### R5 Inventory & Warehouse Management
> *"Provide real-time inventory visibility across all warehouses while ensuring accurate stock movement and traceability."*

| ID | Verbatim | Lands on |
| --- | --- | --- |
| R5.1 | Raw material inventory | `inventory/iw-rm` |
| R5.2 | Finished goods inventory | `inventory/iw-fg` |
| R5.3 | Semi-finished inventory | `inventory/iw-wip` (blocks/buns) |
| R5.4 | Warehouse transfers | `inventory/iw-transfers` |
| R5.5 | Bar code tracking | Removed from W6 on 12 Oct by agreement; each lot, bundle and roll carries its own number (`inventory/iw-batches`) |
| R5.6 | Barcode scanning | Removed from W6 on 12 Oct by agreement (the scan console) |
| R5.7 | Batch tracking | `inventory/iw-batches` |
| R5.8 | Lot tracking | `inventory/iw-batches` |
| R5.9 | Stock adjustments | `inventory/iw-adjustments` |
| R5.10 | Physical stock verification | `inventory/iw-count` |
| R5.11 | Inventory ageing | `inventory/iw-ageing` |
| R5.12 | Reorder level alerts | `inventory/iw-reorder` — *Stock levels*: a low and an excess level per product and unit |
| R5.13 | Stock valuation | Removed from W6 on 12 Oct by agreement; value is Finance's (W10) |

13 Oct 2026 — "Inventory Module Change Requirements" (Google Doc, *Sarva Changes*):

| ID | Verbatim (abridged) | Lands on |
| --- | --- | --- |
| R5.14 | Rename Warehouse to Inventory; one view of Raw Materials, Finished Goods, WIP and Packing Materials | `inventory/iw-stock` |
| R5.15 | Raw materials by type; Scrap and Binder distinct; categories configurable; physical vs production-reserved; BOM and production requirement; purchase cost | `inventory/iw-rm`, `inventory/iw-reorder` (settings) |
| R5.16 | Supplier invoice price vs the agreed PO / contract / blanket rate | `purchase/pu-invoices` |
| R5.17 | Ageing of RM and FG, bands, alerts at thresholds, review of aged stock | `inventory/iw-ageing` |
| R5.18 | Remove Availability & ATP from Inventory; keep PPC reservations | removed (`../_removed/2026-10-14/iw-atp.html`) |
| R5.19 | Multi-product transfers; NOS and/or KG; raw materials too; no duplicate movement | `inventory/iw-transfers` |
| R5.20 | Daily / date-range stock register; adjustments with reason and before/after | `inventory/iw-register`, `inventory/iw-adjustments` |
| R5.21 | Bundle traceability to run, lots, formulation; legacy marked incomplete | `inventory/iw-batches` |
| R5.22 | Packing list: multiple products, weight calculated, stock moved once on save | `sales/sa-orders`, `dispatch/dl-packing` |
| R5.23 | Physical count on the 1st of every month | `inventory/iw-count`, `inventory/iw-home` |
| R5.24 | FG in bundle / sheet / block format with dimensions; RM cost and purchase analytics | `inventory/iw-fg`, `inventory/iw-rm` |
| R5.25 | GRN: every PO product in a table, PO UOM by default and changeable, surplus/deficit | `purchase/pu-grn` |
| R5.26 | Q1 — inventory closing per unit, records daily | `inventory/iw-register` |
| R5.27 | Q2 — rejected or discarded RM and FG recorded as rejected in their own inventory | ledger (`S.grnSync`, `S.invStatus`) |

### R6 Sales Management
> *"The Sales module will manage domestic and export sales from quotation to payment collection while providing complete visibility into order execution."*

| ID | Verbatim | Lands on |
| --- | --- | --- |
| R6.1 | Sales order creation | `sales/sa-order` |
| R6.2 | Proforma invoice generation | `sales/sa-order` (PI tab) |
| R6.3 | Customer-specific pricing | `sales/sa-pricing`, `masters/md-customer` |
| R6.4 | Price approval workflow | `sales/sa-quotation` + `app/approvals` |
| R6.5 | Credit limit verification | `sales/sa-credit` |
| R6.6 | Dispatch planning | `dispatch/dl-plans` |
| R6.7 | Order status tracking | `sales/sa-tracking` |
| R6.8 | Invoice generation | `finance/fi-invoices` |
| R6.9 | Sales return management | `sales/sa-returns` |
| R6.10 | Sales analytics | `sales/sa-analytics` |
| R6.11 | Customer profitability reports | `sales/sa-analytics` |
| R6.12 | Salesperson management | `sales/sa-team` |

### R7 Export Management
> *"This module will streamline the complete export process from receiving export orders until payment realization while managing all export documentation."*

| ID | Verbatim | Lands on |
| --- | --- | --- |
| R7.1 | Export sales orders | `exports/ex-orders` |
| R7.2 | Commercial invoice generation | `exports/ex-docs` |
| R7.3 | Packing list generation | `exports/ex-docs` |
| R7.4 | Container planning | `exports/ex-containers` |
| R7.5 | Shipping bill management | `exports/ex-docs` |
| R7.6 | Bill of Lading tracking | `exports/ex-docs`, `ex-shipments` |
| R7.7 | Certificate of Origin management | `exports/ex-docs` |
| R7.8 | Freight tracking | `dispatch/dl-freight` |
| R7.9 | Shipment tracking | `exports/ex-shipments` |
| R7.10 | Export payment tracking | `exports/ex-realization` |
| R7.11 | Foreign currency management | `exports/ex-forex` |
| R7.12 | Export documentation repository | `exports/ex-repository` |

### R8 Logistics & Dispatch Management
> *"Plan and monitor product dispatch from manufacturing units to customers and export destinations."*

| ID | Verbatim | Lands on |
| --- | --- | --- |
| R8.1 | Dispatch planning | `dispatch/dl-plans` |
| R8.2 | Vehicle allocation | `dispatch/dl-vehicles` |
| R8.3 | Transporter management | `dispatch/dl-transporters` |
| R8.4 | Delivery scheduling | `dispatch/dl-plans` |
| R8.5 | Container loading | `dispatch/dl-load` |
| R8.6 | Shipment tracking | `dispatch/dl-tracking` |
| R8.7 | Delivery confirmation | `dispatch/dl-delivery` |
| R8.8 | Freight cost tracking | `dispatch/dl-freight` |
| R8.9 | Dispatch documentation | `dispatch/dl-docs` |

### R9 Finance Management
> *"Manage the organization's financial activities while providing accurate financial reporting and regulatory compliance."*

| ID | Verbatim | Lands on |
| --- | --- | --- |
| R9.1 | Budget management | `finance/fi-budget` |
| R9.2 | Cash flow management | `finance/fi-cashflow` |
| R9.3 | Cost center accounting | `finance/fi-costcentre` |
| R9.4 | Bank reconciliation | `finance/fi-bank` |
| R9.5 | Payment approvals | `finance/fi-payments` |
| R9.6 | Financial forecasting | `finance/fi-cashflow` |
| R9.7 | Financial dashboards | `finance/fi-home` |
| R9.8 | Foreign exchange accounting | `finance/fi-forex` |

### R10 Accounting
> *"Maintain complete accounting records in compliance with statutory requirements while providing accurate financial statements."*

Per sheet *To Shanti* module 11, accounting is delivered by **two-way API
integration with the accounting platform of the End Client's choice**. These
requirements are therefore satisfied through `finance/fi-bridge` and shown as
bridge-sourced read views in `finance/fi-statements`.

| ID | Verbatim | Lands on |
| --- | --- | --- |
| R10.1 | General Ledger | `fi-statements` (bridge) |
| R10.2 | Accounts Receivable | `finance/fi-receivables` |
| R10.3 | Accounts Payable | `finance/fi-payables` |
| R10.4 | Journal entries | `fi-bridge` (posting log) |
| R10.5 | Payment vouchers | `finance/fi-payments` |
| R10.6 | Receipt vouchers | `finance/fi-payments` |
| R10.7 | GST accounting | `finance/fi-gst` |
| R10.8 | TDS/TCS | `finance/fi-gst` |
| R10.9 | Fixed assets | `finance/fi-assets` |
| R10.10 | Trial balance | `fi-statements` (bridge) |
| R10.11 | Profit & Loss | `fi-statements` (bridge) |
| R10.12 | Balance Sheet | `fi-statements` (bridge) |
| R10.13 | Cash Flow Statement | `fi-statements` (bridge) |
| R10.14 | Financial reports | `mis/mi-finance` |

### R11 Maintenance Management
> *"Ensure maximum equipment availability through preventive and corrective maintenance planning."*

| ID | Verbatim | Lands on |
| --- | --- | --- |
| R11.1 | Machine master | `maintenance/mt-machines` |
| R11.2 | Preventive maintenance | `maintenance/mt-preventive` |
| R11.3 | Breakdown maintenance | `maintenance/mt-breakdowns` |
| R11.4 | Maintenance scheduling | `maintenance/mt-schedule` |
| R11.5 | Spare parts inventory | `maintenance/mt-spares` |
| R11.6 | Maintenance history | `maintenance/mt-history` |
| R11.7 | Maintenance costs | `maintenance/mt-costs` |
| R11.8 | Machine utilization reports | `maintenance/mt-machines` |

### R12 Business Intelligence & MIS
> *"Provide real-time dashboards and analytics to support informed decision-making."*

| ID | Verbatim | Lands on |
| --- | --- | --- |
| R12.1 | Executive dashboards | `exec/ce-home` |
| R12.2 | Sales dashboards | `mis/mi-sales` |
| R12.3 | Production dashboards | `mis/mi-production` |
| R12.4 | Inventory dashboards | `mis/mi-inventory` |
| R12.5 | Finance dashboards | `mis/mi-finance` |
| R12.6 | Export dashboards | `mis/mi-export` |
| R12.7 | KPI monitoring | `mis/mi-kpi` |
| R12.8 | Custom report builder | `mis/mi-builder` |
| R12.9 | Scheduled MIS reports | `mis/mi-scheduled` |

### R13 Artificial Intelligence & Automation
> *"Leverage AI and workflow automation to improve operational efficiency, reduce manual effort and provide predictive insights."*

| ID | Verbatim | Lands on |
| --- | --- | --- |
| R13.1 | AI-powered business assistant | `app/ai` |
| R13.2 | Automated workflows | `app/automation` |
| R13.3 | OCR for invoices and documents | `app/ocr`, `sales/sa-po-intake` |
| R13.4 | Predictive demand forecasting | `ppc/pp-demand` (forecast panel) |
| R13.5 | Inventory optimization | `inventory/iw-reorder` |
| R13.6 | AI-generated reports | `mis/mi-builder` |
| R13.7 | Exception alerts | `app/alerts` |
| R13.8 | Smart notifications | `app/notifications` |
| R13.9 | Workflow automation | `app/automation` |

---

## B. To Shanti — behavioural contracts (`spec`)

These are the behaviours the screens must actually exhibit. They are the
difference between a mockup and a prototype, and each one is enforced in the
build.

| ID | Contract | Enforced in |
| --- | --- | --- |
| B1 | Enquiry-to-quotation, **ATP-based order confirmation**, **credit-check gating**, **13-state order lifecycle** | `sa-enquiries` → `sa-quotation` → `sa-order`, `sa-credit` |
| B2 | Demand management, **MRP engine**, purchase/production recommendations, capacity and schedule board | `pp-demand`, `pp-mrp`, `pp-capacity`, `pp-schedule` |
| B3 | Batch/curing/cutting/packing execution, **formula-based material reservation**, **e-BMR**, **curing-time enforcement** | `pr-bmr`, `pr-block`, `pr-cutting`, `pr-packaging` |
| B4 | Incoming and finished-goods QC, **pass/fail evaluation against specification**, deviation disposition workflow | `qc-incoming`, `qc-final`, `qc-deviations` |
| B5 | PR-to-PO conversion, **approval-threshold-aware PO lifecycle**, **GRN with QC-hold gating** | `pu-requisitions`, `pu-order`, `pu-grn` |
| B6 | Supplier master with commercial, quality and compliance status; **composite performance scorecard** | `pu-suppliers`, `pu-supplier`, `pu-compliance` |
| B7 | Unified RM/FG stock visibility, **stock ledger**, **zone/rack/bin hierarchy**, inter-location transfers | `iw-rm`, `iw-fg`, `iw-ledger`, `iw-bins`, `iw-transfers` |
| B8 | Dispatch lifecycle, **vehicle load utilisation by weight AND volume**, gate management | `dl-plans`, `dl-load`, `dl-execution` |
| B9 | Export order lifecycle, document workbench, **shipment departure gated on document completeness** | `ex-orders`, `ex-docs`, `ex-shipments` |
| B10 | Machine master with PM schedules, breakdown logging and resolution **linked to capacity planning** | `mt-machines`, `mt-preventive`, `mt-breakdowns` → `pp-capacity` |
| B11 | **Two-way API integration** with the accounting/finance platform of the End Client's choice | `fi-bridge` |
| B12 | Customer, supplier, item, formula and BOM masters; **version-controlled formula management** | `masters/*`, `md-bom` (versions) |
| B13 | **Forward and backward click-through traceability** from customer order to raw-material batch | `app/traceability` + drawer on every record |
| B14 | Sales trends, **OTIF performance**, capacity utilisation, quality rejection trending | `mi-sales`, `mi-production`, `mi-quality` |
| B15 | Approval inbox, **role/access matrix**, system-wide activity feed and notifications | `app/approvals`, `app/access`, `app/activity` |

---

## C. Module Summary — information architecture (`ia`)

The navigation structure. Sheet *Module Summary* is the authoritative IA and maps
1:1 to workspaces. Full breakdown in [`MODULES.md`](MODULES.md).

| Sheet row | Workspace | Screens |
| --- | --- | --- |
| 0 Dashboards | W0 Executive | 3 |
| 1 Masters | W1 Masters & Configuration | 22 |
| 2 Sales | W2 Sales & CRM | 15 |
| 3 PPC | W3 Production Planning & Control | 10 |
| 4 Purchases | W4 Purchases & SRM | 18 |
| 5 Production | W5 Production | 19 |
| 6 Inventory & Warehouse | W6 Inventory & Warehouse | 19 |
| 7 Exports | W9 Exports | 9 |
| 8 Logistics & Dispatch | W8 Logistics & Dispatch | 11 |
| 9 Finance | W10 Finance | 15 |
| 10 Quality Management | W7 Quality | 9 |
| 11 Maintenance | W11 Maintenance | 9 |
| 12 Reporting & MIS | W12 Reporting & MIS | 10 |
| — | Cross-cutting `app/` | 15 |
| — | System pages | 5 |
| | **Total** | **185** |

---

## D. Ours — what we are adding (`ours`)

The client did not ask for these. Each is defensible from Sarva's actual
business, and each is the reason a buyer says *"we hadn't thought of that."*

| ID | Addition | Why it matters here |
| --- | --- | --- |
| O1 | **Trim intake & yield reconciliation** — weighbridge gross/tare/net → moisture and contamination deduction → **usable kg**; suppliers priced on **₹/usable-kg, not ₹/kg**, with a rolling yield history per supplier | Sarva's raw material is *waste bought by weight at unverifiable quality*. Yield is the single largest margin lever in a recycling business and no line in the SOW covers it. Lands on `pu-inward` + `pu-grn` + `pu-suppliers` |
| O2 | **Curing-chamber clock** — chambers as lanes, every block a live countdown, cutting hard-blocked until cure elapses, override requiring QA sign-off and a logged reason | *To Shanti* B3 says "curing-time enforcement" but leaves it abstract. Making it a physical board is the most convincing screen in the system. Lands on `pr-block` |
| O3 | **Density-grade chip + lineage on every row** — grade (D80…D150) rendered as a sequential chip everywhere it appears, carrying a two-click drill to full genealogy | Density is the axis this entire business turns on: it drives BOM, yield standard, price, QC spec and load planning. Lands on every list screen; drill-through in `app/traceability` |
| O4 | **Cross-team handoff & SLA board** — every interdependency between the 13 teams rendered as an owned contract with a gate condition and an ageing clock | The client's own stated priority is the team-modular structure and its interdependencies. This turns "modules" into "a factory". Lands on `app/handoffs` |
| O5 | **Circularity & CO₂ ledger** — tonnes of trim diverted, mattress-equivalents, CO₂ avoided, computed per period from data the ERP already captures and exportable for the annual report | Sarva publicly claims ~15 lakh mattresses and ~7,000 MT CO₂ avoided annually, and carries an Investor Relations page. This is free from existing data and it is the slide the board will use. Lands on `exec/ce-circularity` |

---

## E. Coverage assertion

- Every bullet on sheet *From Customer* (**R1.1 – R13.9**, 119 line items) appears
  in section A with a named destination screen.
- Every module on sheet *To Shanti* (**B1 – B15**) appears in section B with the
  screens that enforce it.
- Every lettered sub-module on sheet *Module Summary* appears in
  [`MODULES.md`](MODULES.md) §per-workspace.
- Nothing is deferred, merged away, or marked "phase 2".
