Restaurant Inventory Management: Stop Tying Up Cash and Throwing Out Expired Stock
Every time you open the freezer there's a bag of pork nobody remembers buying. Out back sit three cases of cooking oil and two dozen bottles of oyster sauce you grabbed because they were on sale. Yet on payday, there isn't enough in the account to cover staff wages. That's what "stock nobody is managing" looks like — and almost every small restaurant has it.
Your ingredient stock is cash that has changed shape and moved into the freezer and onto the shelves. Too little, and your best-seller runs out in the middle of the rush and customers walk. Too much, and cash gets tied up, food expires and costs creep up without you noticing. This article walks you through a restaurant inventory system a small shop can actually keep up — no expensive software, just one sheet of paper and a few minutes a day.
Overstocking costs more than you think
Plenty of owners believe buying in bulk is safer and cheaper. But stock you don't need carries at least 4 hidden costs:
- Tied-up cash — ฿15,000 sitting on a shelf as dry goods is ฿15,000 you can't use for rent or wages that month.
- Spoilage and expiry — fresh produce loses weight and quality the longer it sits, and dry goods expire too — usually forgotten at the back of the shelf.
- Heavier hands — when there's plenty around, the kitchen starts portioning more generously without meaning to, because "there's loads left."
- Storage costs — a packed freezer works harder, uses more electricity and makes everything harder to find every time you open it.
A common example: you stock up on sauces and dry goods during a promotion — ฿15,000 in total for a 5% discount, a saving of ฿750. But that batch takes 3 months to use up. If a bottle or two expires along the way, or you have to borrow to make payroll, the ฿750 saving is gone. A bulk discount only pays off when the stock gets used quickly and the shop still has enough cash left over.
Step 1: Know what your ingredients actually cost you
Most owners know how much they bought this month, but not how much they used. The two numbers aren't the same: some of this month's purchases are still sitting in the fridge, and some of what you used this month was bought last month. The standard formula is:
For example, your opening count is worth ฿12,000, you buy ฿65,000 during the month and your closing count is ฿18,000. What you actually used is 12,000 + 65,000 − 18,000 = ฿59,000. If you only look at the ฿65,000 you spent, you'll think your costs are ฿6,000 higher than they really are — and might raise prices for no reason. It works the other way too: in a month when stock runs down, purchases look low and you'll think you're doing better than you are.
This number is the foundation of an accurate food cost %. See how to take it further in How to calculate food cost — the formula.
Step 2: Split ingredients into 3 groups (ABC) and control them differently
A typical made-to-order (ahan tam sang) shop might carry 60–100 different ingredients. Nobody can keep counting all of them every day for long. What works is grouping them by how much you spend on each per month:
- Group A — the 5–10 items with the highest total spend, usually meat, seafood, eggs, rice and cooking oil. These few items often eat up more than half your ingredient budget → count daily, or at least every other day.
- Group B — vegetables, core seasonings, noodles: things you use often but that cost a moderate amount → count weekly.
- Group C — small dry goods, spices, packaging, kitchen supplies → count monthly.
The easiest way to find your group A is to take last month's purchase receipts, total them by ingredient and sort from highest to lowest. Most shops find that a handful of items at the top are the ones to watch — and also the ones that hurt most when they're stolen, go missing or spoil.
Step 3: Decide how many days each item should last
Instead of asking "how many kilos of pork should I have?", ask "how many days of pork should I have?" and convert that into a quantity. Three things matter: shelf life, how long your supplier takes to deliver, and how much your sales swing.
Here's an example for a made-to-order shop selling about 150 plates a day (made-up numbers for illustration):
| Ingredient | Used per day | Lead time (days) | Safety (days) | Reorder point | Max stock |
|---|---|---|---|---|---|
| Minced pork | 8 kg | 0 (morning market) | 1 | 8 kg | 16 kg (2 days) |
| Chicken breast | 5 kg | 1 | 1 | 10 kg | 15 kg (3 days) |
| Eggs | 4 trays | 1 | 1 | 8 trays | 16 trays (4 days) |
| Rice | 12 kg | 2 | 2 | 48 kg | 90 kg (~1 week) |
| Cooking oil | 3 L | 2 | 2 | 12 L | 24 L (~1 week) |
| Takeaway boxes | 60 | 3 | 3 | 360 | 1,000 (~2 weeks) |
When a count drops below the reorder point, top up to the max stock level — and no further, however good the promotion. As a rule of thumb, fresh ingredients cover 1–3 days and dry goods and packaging 1–2 weeks; the right numbers for your shop come from adjusting after 2–3 weeks of real counts. It's the same idea as the par level explained in How to reduce kitchen waste.
Step 4: Set rules for receiving and storage
Whether you can control stock depends as much on how goods come in as on how they go out. Simple rules worth having:
- Weigh and count every delivery — especially group A. If you order 10 kg of pork and get 9.4 kg, the missing 0.6 kg at ฿150/kg is ฿90 each time. If that happens every day, it's thousands of baht a month.
- Check quality before you sign — send back anything that isn't fresh on the spot. Don't accept it and throw it out later.
- Write the delivery date on every bag or box — masking tape and a marker pen are enough.
- First in, first out (FIFO) — arrange shelves and freezers so older stock is always at the front.
- Give everything a fixed spot — items without a home are the ones that get forgotten and bought twice.
- Keep every receipt — receipts are your record of what you bought, how much and at what price, and they're the starting data for every step in this article.
Step 5: Make counting a habit, not a big job
A stock count you'll actually stick with takes no more than 10–15 minutes and happens at the same time every day — after closing, say, or before heading to the market in the morning. Make your count sheet a simple table listing items in the order they're physically stored (freezer → fridge → dry-goods shelf) so you can count everything in one walk-through.
The sheet needs these columns: ingredient, unit, reorder point, max stock, quantity counted, order? (yes/no). That's it — your count sheet doubles as tomorrow's shopping list, so no more guessing at the market.
At month end, count every item and multiply by the latest unit price to get your "closing stock value" for the formula in Step 1. It also becomes next month's opening stock.
Step 6: See how many days of cash are sitting in your stock
Once you have your stock value and the cost of ingredients actually used, you can work out how many days your current stock will last — which tells you right away whether too much cash is tied up:
Continuing the example: you used ฿59,000 over 26 trading days, about ฿2,270 a day on average. Closing stock of ฿18,000 means you're holding roughly 8 days of stock. For a shop that mostly uses fresh ingredients bought at the market every day, that's on the high side — there's probably surplus dry goods or stockpiled items. Trace which items that big chunk of value is sitting in.
There's no single right number for every restaurant. A shop using imported ingredients or ordering in bulk from another province needs to hold stock longer than one next door to a market. What matters is tracking this number every month and watching the trend. If it keeps creeping up while sales stay flat, more and more of your money is ending up in the freezer.
Common inventory management mistakes
- Buying on gut feeling — "we ran out yesterday, so buy loads today" makes stock levels swing up and down without ever settling.
- Stockpiling because it's on sale — only worth it if you'll use it all before it spoils and it doesn't squeeze your cash flow.
- Letting several people order without a shared count sheet — you end up with double orders, or everyone assuming someone else already ordered.
- Not recording unit prices — you won't know when a supplier raised prices, and you can't value your stock.
- Counting but never using the numbers — a count that never feeds into ordering decisions or recipe tweaks is wasted time.
Receipts are where controlled stock begins
Every step above needs the same data: what you bought, how much, the unit price and how it's changing. If your receipts are still piled in a drawer, finding your group A, knowing your monthly purchases or valuing your stock becomes a job nobody wants to do.
Bunchee isn't a full inventory system, but it handles the hardest part: capturing your purchase data. Snap a photo of a receipt and AI reads the items and prices and sorts them into categories. You can see the price history of each ingredient — how much pork or eggs have moved — check the monthly ingredient purchases you need for the cost formula, and ask the AI assistant "how much did I spend on pork this month?" without adding it up yourself.
Restaurant inventory management doesn't have to be complicated. Just know what's expensive (ABC), how much you should hold (reorder point to max stock) and count consistently. The cash that used to sit in your freezer turns back into money the shop can use, and expired food slowly disappears from the bin.
Keep every ingredient receipt in one place
Bunchee is a free restaurant accounting app — AI receipt scanning, automatic categories, ingredient price history charts and real-time daily/monthly summaries.