Restaurant Inventory Management, End to End
A complete guide to restaurant inventory: setting PAR levels for perishables, recipe and ingredient costing, daily prep counts, supplier management, COGS tracking, and the math that makes margin survive ingredient price changes.Restaurant inventory is harder than retail inventory in one specific way: most of what you order doesn't leave the building as itself. It leaves as part of a recipe. The 1.5 kg bag of flour you bought becomes 65 sandwiches over five days. The case of strawberries becomes 80 smoothies and 40 pancake plates. The math has to track the recipe to be useful.
This guide covers the end-to-end loop: setting PAR levels for perishable ingredients, building recipes with accurate yield, doing daily and weekly counts, managing supplier relationships, and tracking COGS as ingredient prices move. It assumes you're running an independent or small-chain operation — the playbook is different for a 200-unit national.
1. Recipes are the load-bearing object
The single biggest leverage point in restaurant inventory is your recipe sheet. Get the recipes right and ingredient consumption flows automatically. Get them wrong and every downstream number is fiction.
For each menu item, your recipe should specify:
- Every ingredient, including the small ones (salt, pepper, garnish)
- Yield per serving, in the same unit you order in (or with a clear conversion)
- Substitutions if any are pre-approved
- The POS-side product ID so sales decrement the right ingredients
The yield matters more than people realize. If your turkey sandwich actually uses 110g of turkey but the recipe says 100g, you're under-counting consumption by 10%. Over a year that's 10% more turkey than your forecasts ordered, which means stockouts, which means rush orders, which means margin compression. Spend an afternoon weighing actual servings; it pays back forever.
For yield calculations, the LineNow rule of thumb: recipes per package = total package size / amount used per recipe. A 1.5 kg flour bag with 23g per recipe = 65.22 recipes. The yield stored in the system is 1/65.22 = 0.01533 bags per recipe. Decrement accordingly.
2. Set PAR levels per ingredient, not per dish
This is the most common mistake in early restaurant inventory: thinking in terms of finished dishes rather than ingredients. Your supplier doesn't deliver sandwiches. They deliver flour, turkey, and lettuce.
For each ingredient, compute the consumption rate by summing across all recipes that use it:
ingredient consumption rate = Σ (recipe sales rate × recipe yield for this ingredient)
Add any direct-use consumption (e.g. flour used to dust pans, separate from a specific recipe). Add decay (see decay rate) for perishables.
The PAR level then follows the standard formula:
PAR = base demand over cycle + statistical safety stock + manual buffer
For perishables with non-trivial decay rates (5%+ daily), use the decay-adjusted base demand integral. See PAR level for the math.
3. Daily counts vs weekly counts vs cycle counts
You don't need to count everything every day. The right cadence depends on the item.
| Item type | Counting cadence | Why |
|---|---|---|
| High-cost proteins (steak, fish) | Daily, end of shift | Theft and waste are concentrated here; high $/unit |
| Liquor (bar program) | Weekly minimum, daily for premium spirits | Over-pour and shrink are systemic |
| Fresh produce | Twice weekly (delivery days) | Decay-driven; counts at receipt and mid-cycle |
| Dairy, eggs | Twice weekly | Mid-perishable; sealed but cold-chain dependent |
| Dry goods (rice, beans, pasta) | Weekly | Stable, low-decay; weekly is enough |
| Cleaning supplies, paper goods | Bi-weekly | Slow-moving; risk is running out, not waste |
Daily counts on premium proteins is the single highest-ROI counting practice. The friction is real; the variance you catch pays back in weeks.
4. Supplier roster: build for redundancy
The artisanal model is one supplier per category. The right model is two or three, with one primary and one or two backups for each major category.
Reasons:
- Single-supplier dependence is a margin trap. They know you have nowhere to go and price accordingly.
- Stockouts on the supplier side become stockouts on your side. With a backup, you reroute.
- Different suppliers carry different specialty SKUs. Locking to one means missed opportunities.
For each ingredient, store at minimum: primary supplier's price, secondary supplier's price, last-12-months pack-size and price history. When a primary increases price, the alternative is one click away.
5. Recipe costing: the dynamic margin view
The number that matters more than gross profit dollars is contribution margin per recipe. For each menu item:
contribution margin = menu price − sum(ingredient cost × yield) − packaging
The trick is that ingredient cost moves. Your last shipment of avocados came in 18% higher than the previous one. Your recipe still costs the old number unless you re-cost.
The right system re-costs every recipe whenever an ingredient price changes, surfaces the new margin, and flags items that have crossed below your target. Without this, you find out about margin erosion at the end of the month, when it's already cost you.
LineNow updates recipe cost in real time as new prices come in via supplier emails and invoices. The margin column on your menu items is current to the last delivery, not to the last manual update.
6. Ingredient substitutions
Substitutions happen for two reasons: the supplier is out (one-time) or you're switching brand/farm (permanent). Both need to be tracked, because if you don't, your inventory drifts from reality fast.
For one-time substitutions: when receiving inventory, mark the substitute against the original ingredient. The substitute's units pour into the original's pool (one bag of substitute rice = one bag of original rice for inventory purposes). Recipes don't change; the cook uses what's on hand.
For permanent switches: update the recipe ingredient mapping. Keep both items in your system (you may switch back). Track the cost difference; sometimes a permanent switch was made for availability reasons but costs more, and that's margin you didn't budget.
7. Receiving: the highest-leverage 90 seconds in the day
The act of receiving inventory is when most counts get out of sync. The truck shows up, things get put away, the receiving sheet doesn't get checked. By Wednesday, your inventory says you have 4 cases of strawberries but you have 2 (or 6).
The discipline:
- Verify the count on the truck against the PO. Note discrepancies before signing.
- Note any substitutions, price changes, or short-shipped items.
- Photograph the invoice. (Modern systems will read it; even if not, the photo is your audit trail.)
- Update the inventory system in the same hour, not the next day.
If your receiver is also your prep cook, this is hard. The fix is usually structural: receiving happens before prep, in a 15-minute window with the receiver not yet on shift. The 15 minutes is cheaper than the cumulative drift.
8. The waste log
Track waste. All of it. Spoilage, breakage, comps, employee meals, mistakes. Tag each event with quantity, item, and reason. Over a quarter you'll see patterns: a particular protein spoils more, a specific shift has more breakage, certain dishes get comped disproportionately.
The waste log feeds the decay-rate estimate. With a clean log, decay rates can be derived directly rather than guessed. Without it, you're estimating from gap analysis (count discrepancies) which conflates waste with theft and counting error.
9. The end-of-month closeout
Every month, regardless of how clean your daily process is, do a full count. Compare against expected (starting + receipts − sales − comped − waste). The variance is your true shrinkage.
For a well-run independent restaurant, target shrinkage is 0.5–2% of food cost. Bar programs run higher: 3–6% is normal, 8%+ is a problem worth investigating. If your shrinkage exceeds these by a wide margin and you can't explain it through waste alone, you have either a counting problem or a theft problem. Both are solvable, but you have to know which.
10. The end-to-end loop, summarized
- POS connects to inventory; sales decrement ingredients via recipes
- PAR levels per ingredient, recomputed daily from rolling consumption
- Replenishment recommendations generated nightly; operator reviews in the morning
- POs sent to suppliers via their preferred channel
- Confirmations parsed automatically; status updated; price changes flagged
- Receiving updates on-hand; substitutions mapped; invoices captured
- Recipe costs re-derived as ingredient prices move; margin column always current
- Bills push to QuickBooks/Xero with COGS classification
- Monthly closeout count surfaces shrinkage; decay rates re-tuned
This is what restaurant inventory looks like when it works. Every step is automated except the deciding (what to order) and the touching (counting, receiving). The deciding gets a recommendation; the touching is the operator's job and always will be.