Inventory, Recipe/BOM, Purchase, Costing, And Variance
Phase 8 adds tenant-local inventory operations to RestroAI. It connects Pro-plan inventory to the menu catalog, POS send flow, waiter orders, QR approval, and KDS kitchen workflow.
Operating Model
- Inventory is branch-scoped and tenant-local.
- Weighted-average cost is the locked costing method for this phase.
- Stock deduction happens when POS items are sent to kitchen.
- Existing POS inventory events are the idempotent bridge from orders into stock movements.
- Optional batches and expiry dates are supported for ingredients that need traceability.
Main Workflows
Purchase Receiving
- Create a purchase order from Inventory > Purchase.
- Receive partial or full quantities.
- Enter lot and expiry where required.
- Receiving updates branch stock, batches, and weighted-average cost.
Recipe/BOM Deduction
- Map menu items, variants, modifiers, and combo children to ingredients.
- Variant recipe wins over item recipe.
- Modifier recipes add to the base item recipe.
- Combo recipes expand child items when sold.
Quality And Safety
- Missing recipes create inventory QA findings and do not break POS service.
- Low-stock and expiring-batch alerts appear in Inventory Alerts.
- Wastage and manual adjustments write auditable stock movements.
- Inventory counts post variance movements and require manager approval over the configured threshold.
Important Routes
/r/{tenant}/inventorycommand center./r/{tenant}/inventory/ingredientsingredient matrix./r/{tenant}/inventory/purchase-orderspurchase board and receiving desk./r/{tenant}/inventory/recipesrecipe/BOM builder./r/{tenant}/inventory/reportsstock value, food cost, wastage, and movement summaries.
Testing Checklist
- Pro tenants can access inventory; lower plans see the locked state.
- Purchase receiving changes stock and average cost.
- POS send deducts recipe stock once.
- Duplicate POS events remain idempotent.
- Void/refund events reverse stock once.
- Wastage, low-stock alerts, counts, and reports reflect ledger data.