In Naples' Centro Storico, a classic pizzeria ends its evening service with one question on the head chef's mind: "Do we have mozzarella for 14 Margheritas tomorrow, or will we run out at the eighth?" Recipe-level auto stock decrement (BOM) answers exactly that — not a guess, real math behind every plate.
What a BOM (Bill of Materials) looks like
Each menu item gets a "recipe": 1 Margherita = 220g mozzarella fior di latte, 50g San Marzano sauce, 30g 00 flour (dough share), 2.5g sea salt, 1 basil leaf, 8ml extra-virgin olive oil. The moment the customer confirms the order, the system deducts all six lines from raw inventory.
Semi-finished goods chain in: a 1L "pizza sauce" sub-BOM = 800g San Marzano + 100ml olive oil + 8g salt + 2g oregano. When a Margherita pulls from the raw branch instead of the sub-product, the cascade fires once and tells you which component dropped fastest.
The 23:30 alert: what's left for tomorrow
After service, a cron job divides current stock by each menu item's BOM: "Mozzarella 1.76 kg → 8 Margheritas equivalent." If that number falls below the rolling daily average (say, 14 sold/day), Slack or WhatsApp gets "only 8 Margheritas of mozzarella left". The 06:00 supplier order is built from this report, not memory.
- Per-component safety stock = mean daily use × 1.3.
- Weekend multiplier: Saturday demand × 1.6, Monday × 0.7.
- Supplier lead times: cheese 12h, flour 48h, fresh basil 6h.
Refunds, cancels and gram drift
On a void the BOM reverses: a cancelled Margherita re-adds 220g mozzarella. But if the dough was already stretched, part of it is genuinely waste. So the reason matters — "customer changed mind" = full reverse; "wrong bake" = ingredients lost go to the waste ledger, not back to stock.
Gram drift is handled separately. If the chef weighs a 1L sauce and it reads 950ml, a manual "stock adjustment" books the missing 50ml to waste/loss and surfaces it in the monthly gross-margin view, exposing the real cost per dish.
FAQ
Can I just keep the BOM in Excel? You can, but with 80+ menu items, deducting per order by hand is impossible — you'll see the shortage tomorrow morning, not tonight.
If I change a recipe, do old orders break? No — BOMs are versioned. Orders before 1 Aug are deducted using the old recipe, reports stay historically consistent.
Which POS / menu systems support this? thMenu's Pro+ tier includes a BOM module: define components, set alert thresholds, pick the daily report time.
Found this helpful? Share it.
Related articles
The Complete Guide to Running a Multilingual Restaurant Menu
Serving international guests? Learn how to set up a menu that automatically spea…
What Is a QR Code Menu? The Complete Guide for Restaurants
A QR code menu lets customers access your full restaurant menu instantly on thei…
Understanding Your Restaurant's Data: A Practical Analytics Guide
Your menu generates data every day. Learn how to read it, act on it, and use it …