Inventory
Track ingredients, not products. Entirely optional — enable it when you are ready.
Do I need this?
If you are a small shop and just want to sell online, skip inventory for now. Everything in Derah — orders, payments, delivery, reports — works without a single ingredient or recipe. Inventory is designed for food businesses that want to track ingredient costs and prevent overselling. You can enable it anytime.
How it works
Derah tracks stock at the ingredient level. When you sell a Latte, the system does not deduct “1 Latte” from stock — it deducts espresso beans, milk, cups, and lids. This requires two things: ingredients (your raw materials) and recipes (which ingredients go into each product).
Setting up ingredients
Go to Catalog → Ingredients. Add each raw material with:
- Name— what it is (e.g. Espresso Beans)
- Stock unit— the unit you count in (grams, milliliters, pieces)
- Cost per unit— what you pay per unit (e.g. 0.012 KWD per gram)
Units of measure
Same-category conversions are automatic — the system converts between grams and kilograms, or milliliters and liters, without any setup. For cross-category conversions (e.g. milliliters of milk to grams), add a custom conversion on the ingredient since the factor depends on density, which varies per ingredient.
Creating recipes
Go to Catalog → Recipes. Select a variant and add ingredient lines with quantities.
Example: a Small Latte recipe might be:
| Ingredient | Qty | Unit |
|---|---|---|
| Espresso beans | 14 | g |
| Whole milk | 240 | ml |
| Small cup | 1 | each |
| Small lid | 1 | each |
The yield factoraccounts for preparation waste. An onion with a yield factor of 0.70 means 30% is lost to peeling — a recipe calling for 500g usable onion deducts 714g of raw onion from stock. Most ingredients use a yield factor of 1.0 (no waste).
Modifier recipes
Go to Catalog → Modifier BOM. Modifier recipes define what customer customizations do to the base recipe:
- ADD— adds ingredients on top of the base. Example: Extra Shot adds 7g espresso beans.
- REMOVE— removes ingredients from the base. Example: No Sugar removes 1 sugar packet.
- SUBSTITUTE— swaps one ingredient for another. Example: Oat Milk removes 240ml whole milk and adds 240ml oat milk.
You only need modifier recipes for modifiers that affect ingredients. A modifier like “No Ice” with no inventory impact does not need one.
Opening stock
Go to Inventory → Opening Inventory. Select your branch, then enter the current quantity on hand for each ingredient. This is your starting point — the system needs to know what you have before it can start tracking.
Stock control
Go to Settings → Store Settings → Stock Control and turn it ON. When enabled, items are hidden from your storefront when their ingredients run out at the branch.
You can override this per variant on the product edit page using the Prevent Oversell toggle. When a customer tries to check out and an item is out of stock, they see a message listing the unavailable items.
Variants with no recipe are always shown as available, even when stock control is on.
Day-to-day
Stock goes down automatically when orders are completed (after payment). Stock goes up when you receive purchase orders.
You can also make manual changes:
- Adjustments— go to Inventory → Balances, select an ingredient, and click Record Change. Enter a positive or negative quantity.
- Waste events— same flow, but select Waste and choose a reason (spoilage, spillage, over-portioning, expired). Waste is tracked separately for reporting.
Physical counts
Go to Inventory → Physical Counts → New Count. Walk through your stock and enter the actual quantity you have for each ingredient. The system shows the difference between your count and the system balance in real time.
When you are done, post the count. The system creates adjustment entries to set each balance to match your physical count. Posted counts are permanent and cannot be edited.
Reports
- Variance(Inventory → Variance) — compares book stock vs. your actual physical count. Shows the gap and dollar impact per ingredient.
- Waste Analytics(Inventory → Waste Analytics) — what is being wasted and why, broken down by ingredient, reason, and time period.
- Food Cost(Inventory → Food Cost) — ingredient cost vs. revenue for each variant. Shows recipe cost, total COGS, revenue, and margin percentage.