Overview
The inventory system helps you track raw materials, ingredients, and supplies. It connects menu items to ingredient recipes, automatically deducts stock when orders are completed, and alerts you when items run low.Inventory Items
Creating Inventory Items
Add New Item
Click “Add Item” and fill in:Basic Information:
- Name: Ingredient or supply name (e.g., “Tomatoes”, “Olive Oil”)
- Category: Organize items (Vegetables, Meats, Dairy, Beverages, Supplies)
- Unit: Measurement unit (kg, liters, pieces, boxes)
- Current Stock: Starting quantity
- Minimum Stock: Threshold for low-stock alerts
- Cost per Unit: Purchase price (in cents, e.g., 500 = $5.00)
Inventory items are branch-specific. Each branch maintains its own inventory levels even if using the same ingredients.
Item Details
Each inventory item tracks:- Current Stock: Real-time quantity on hand
- Minimum Stock: Alert threshold
- Cost per Unit: For COGS calculations
- Category: For organization and reporting
- Unit of Measure: Ensures consistency
Categories
Organize inventory with categories: Default Categories:- Vegetables & Fruits
- Meats & Seafood
- Dairy & Eggs
- Dry Goods
- Beverages
- Supplies (napkins, containers, etc.)
- Go to Inventory > Categories
- Click “Add Category”
- Enter category name
- Assign items to category
Recipe Management
Connect menu items to ingredients using recipes.Creating a Recipe
Add Ingredients
Click “Add Recipe” and specify:For each ingredient:
- Select inventory item
- Enter quantity used per serving
- Unit matches inventory item’s unit
Updating Recipes
Edit existing recipes:- Find the menu item in Recipes list
- Click “Edit Recipe”
- Add, remove, or adjust ingredient quantities
- Save changes
Automatic Inventory Deduction
When an order is marked as completed, the system automatically:- Checks if the order has been deducted already (prevents double-deduction)
- Looks up recipes for each menu item in the order
- Calculates total ingredient usage (quantity × order quantity)
- Deducts from current stock
- Records a movement entry of type
usage - Marks the order as
inventory_deducted = true
Automatic deduction happens in
apps/api/src/services/order.service.js in the handleOrderCompletion function.Inventory Movements
All stock changes are recorded as movements.Movement Types
Purchase
Stock added from supplier. Increases current stock.
Usage
Stock consumed by orders. Decreases current stock. Auto-created on order completion.
Adjustment
Manual correction (damaged goods, theft, count discrepancy). Can increase or decrease.
Recording Movements
Create Movement
Click “Add Movement” and enter:
- Item: Select inventory item
- Type: Purchase, Usage, or Adjustment
- Quantity: Amount to add or subtract
- Reference: Optional (e.g., invoice number, order ID)
- Notes: Reason or details
- Click on inventory item
- View “Movement History” tab
- See date, type, quantity, reference, who created it
Example Movements
Purchase Entry:Low Stock Alerts
Get notified when items run low.Viewing Alerts
Navigate to Inventory > Alerts Displays all items where:- Item name
- Current stock
- Minimum stock threshold
- Cost per unit (for reorder budgeting)
Alert Workflow
- Alert appears on Alerts page
- Manager reviews alerts
- Creates purchase order with supplier
- When delivery arrives, record Purchase movement
- Stock increases, alert disappears
Inventory Reports
Stock Valuation
Calculate total inventory value:- Total inventory value
- Value by category
- Items with highest value
- Movement trends
Usage Reports
Track which ingredients are used most:- Filter movements by type = “Usage”
- Group by item
- See total quantity used in date range
- Identify high-usage items for bulk ordering
Best Practices
Set Realistic Minimums
Minimum stock should cover 2-3 days of typical usage plus buffer for delivery delays.
Regular Counts
Conduct physical inventory counts weekly or monthly. Record adjustments for discrepancies.
Recipe Accuracy
Keep recipes updated with accurate quantities. Reduces waste and improves cost tracking.
Daily Alert Checks
Review low-stock alerts every morning to plan purchases before running out.
Advanced Features
Cost of Goods Sold (COGS)
Calculate COGS for menu items: For a menu item:Batch Updates
Update multiple items at once:- Select items via checkbox
- Click “Batch Update”
- Adjust cost per unit, category, or minimum stock
- Apply changes to all selected items
Integration with Orders
Workflow:- Customer orders “Classic Burger” via QR or POS
- Order created with status
pending - Kitchen prepares and marks
completed handleOrderCompletionservice runs:- Looks up burger recipe
- Deducts ingredients from inventory
- Records usage movements
- Sets order flag
inventory_deducted = true
- Current stock updated
- Low stock alerts triggered if below minimum
Inventory deduction only happens on completed orders, not pending or cancelled ones.
Troubleshooting
Stock Not Deducting
Check:- Does the menu item have a recipe?
- Is the order status
completed? - Has the order already been deducted? (Check
inventory_deductedflag)
Negative Stock
Resolution:- Record a Purchase movement to bring stock positive
- Review recipe accuracy
- Adjust minimum stock thresholds
Discrepancies After Count
If physical count differs from system:- Record an Adjustment movement
- Set quantity to difference (+ or -)
- Add notes explaining discrepancy
- Investigate cause (waste, theft, incorrect recipes)