Key takeaways
- A restaurant stock take is a physical count of everything you hold, valued at cost. Without it, your food cost percentage is a guess.
- Count high-value, fast-moving items (proteins, seafood, alcohol) more often than dry goods and packaging.
- Fix your counting units, shelf order and count sheet before the first count. Consistency matters more than speed.
- Variance is expected usage minus actual usage. Small, stable variances are normal; sudden jumps need investigation.
- A POS with recipe-level stock deduction gives you the “expected” figure automatically, so the count becomes a check rather than a reconstruction.
Why stock takes matter
Every restaurant owner in Singapore knows the feeling: sales look healthy, but the bank balance at month-end does not match. Very often the difference sits in the storeroom, the chiller and the bar. Ingredients get over-portioned, spoilt, wasted, miscounted on delivery, or simply walk out of the back door. A regular restaurant stock take is how you find out.
The stock take is also the foundation of your food cost figure. The standard period method is opening stock plus purchases minus closing stock, divided by food sales. If the closing stock number is wrong, the food cost percentage is wrong, and every menu pricing decision that follows is built on bad data. We explain that calculation in detail in our guide to restaurant food cost in Singapore.
Beyond the numbers, stock takes do three practical things:
- They set ordering. Knowing exactly what you hold stops you over-ordering perishables or running out of a best-seller on a Friday night.
- They expose waste. Items that keep turning up past their use-by date tell you your par levels are too high. Our guide to reducing food waste covers what to do next.
- They deter loss. Staff who know stock is counted and reconciled regularly have less room to be careless.
How often to count
You do not need to count every item every day. Most outlets use a tiered approach based on value and how quickly things move.
| Item class | Examples | Suggested frequency |
|---|---|---|
| High-value or high-risk | Premium proteins, seafood, spirits, wine, imported cheese | Daily or at each shift change |
| Core ingredients | Chicken, rice, noodles, dairy, fresh vegetables, beer | Weekly |
| Dry goods and consumables | Flour, sauces, spices, oil, takeaway packaging, cleaning supplies | Monthly |
| Full inventory | Everything, valued at cost | Monthly, aligned to your accounting period |
Daily “spot counts” on a short list of high-value items take ten minutes and catch problems while they are still small. The full monthly count is what feeds your profit and loss statement, so run it on the same day each month, ideally the last trading day, after close.
A hawker stall or small café may manage with a weekly count of the top twenty items and a monthly full count. A multi-outlet group should standardise the schedule so figures are comparable across outlets.
Preparing for a count
Most stock take errors happen before anyone picks up a clipboard. Get these right first.
Fix your units
Decide how each item is counted and stick to it. Is cooking oil counted in bottles, litres or cartons? Is chicken counted in kilograms or packs? Mixed units are the most common reason a count does not reconcile. Where you buy in cases but use in portions, record the purchase unit, the count unit and the conversion (for example, 1 carton = 12 bottles = 12 litres).
Set par levels
A par level is the quantity you want on hand after a delivery to cover usage until the next one, plus a small buffer. Par levels turn a count into an order: par minus on-hand equals order quantity. Review them seasonally, for example before Chinese New Year or the year-end party period, when demand shifts.
Build count sheets in shelf order
List items in the order they physically sit: walk-in chiller left to right, then freezer, then dry store, then bar. Counters should never have to jump around the list. Include the unit, the last unit cost and a blank column for the count.
Tidy and organise
- Receive all deliveries before the count starts, or hold them aside until it is finished.
- Label open containers and group like items together.
- Rotate stock so older items are at the front (first in, first out on the shelf).
- Decide how to treat partial containers: to the nearest tenth, quarter or by weight.
Step-by-step count process
- Pick a quiet time. After close or before opening, when nothing is being prepped or sold.
- Freeze movement. No deliveries in, no transfers between outlets and no prep until the count is complete.
- Work in pairs. One person counts and calls out, the other records. For high-value items, swap roles and recount.
- Count by location, not by item. Finish one shelf or area before moving on, following the sheet order.
- Record partials consistently. Use the rule you set in preparation, such as weighing open bags or estimating bottles to the nearest tenth.
- Include work-in-progress. Count prepped items, sauces and marinated proteins, using a simple costing (for example, raw ingredient cost per batch).
- Note waste separately. Anything expired or damaged should be written off and logged, not counted as stock.
- Enter the figures the same day. Key the count into your system or spreadsheet while questions can still be answered.
- Recount outliers. Any line that looks very different from the expected figure gets a second count before you accept it.
- Sign off. The counter and a manager sign the sheet with date and time.
Valuing stock: FIFO vs weighted average
Once you know quantities, you need a value. Supplier prices change, so the same item on your shelf may have been bought at different costs. Two common methods deal with this.
First in, first out (FIFO)
FIFO assumes the oldest stock is used first, so what remains on the shelf is valued at the most recent purchase prices. It matches how a well-run kitchen physically rotates stock, and it is easy to understand: closing stock looks like your latest invoices.
Weighted average cost
Weighted average takes the total cost of all units available and divides by the number of units, giving one average cost per unit. When a new delivery arrives at a different price, the average is recalculated. It smooths out price swings and is simple to maintain in software.
Here is a simple illustration, using hypothetical figures. You hold 10 kg of prawns bought at $20/kg, then buy 10 kg more at $24/kg, and 12 kg remain at the count. Under FIFO, the remaining 12 kg are 10 kg at $24 plus 2 kg at $20, which is $280. Under weighted average, the average cost is $22/kg, so 12 kg are valued at $264.
Either way, pick one method and apply it consistently. Which method you use for your financial statements and tax filing is an accounting question, so confirm the treatment with your accountant before you change anything.
Variance: expected vs actual
Variance compares what you should have used with what you actually used.
- Actual usage = opening stock + purchases (and transfers in) − transfers out − closing stock
- Expected (theoretical) usage = quantity of each dish sold × recipe quantity per dish, plus recorded waste
- Variance = actual usage − expected usage
- Variance % = variance ÷ expected usage × 100
Hypothetical example
The figures below are invented for illustration. A café starts the week with 8 kg of salmon, receives 20 kg and counts 6 kg at the end. Actual usage is 8 + 20 − 6 = 22 kg. The POS shows 140 salmon bowls sold at 150 g each, which is 21 kg, and 0.3 kg was logged as waste. Expected usage is 21.3 kg. Variance is 22 − 21.3 = 0.7 kg, or about 3.3%.
Is that acceptable? It depends on the item. A small positive variance on a hand-portioned protein is common. What matters is the trend: if salmon usually runs at 1–2% and suddenly jumps, something has changed. Set your own tolerance per item class and investigate anything outside it.
Common causes of variance
- Over-portioning. Staff “being generous” or not using scales and scoops. Fix with portion tools and recipe cards at each station.
- Unrecorded waste. Spoilage, dropped plates and remakes that never get logged. Make the waste log easy and non-punitive so people actually use it.
- Receiving errors. Short deliveries signed off without checking weight or count. Check every delivery against the invoice before the driver leaves.
- Recipe data out of date. The menu changed but the recipe in the system did not. Review recipes whenever a dish or supplier changes.
- Unrung sales and comps. Food leaving the kitchen without a POS entry, including staff meals and complimentary items. Ring everything, even at zero value, with a reason.
- Counting mistakes. Wrong units, missed shelves or partials estimated inconsistently.
- Theft. Less common than the causes above, but it happens. Consistent counts, restricted storeroom access and staff permissions on voids and discounts all help.
Work through the list in this order. Most variance turns out to be process, not dishonesty.
Using your POS inventory
A paper count tells you what is on the shelf. A POS with inventory tools can also tell you what should be on the shelf, which is what makes variance analysis practical week to week. Useful capabilities to look for include:
- Recipe-level deduction. Each dish is linked to its ingredients, so every sale deducts the right quantities automatically, including modifiers such as “add egg”.
- Low-stock alerts. Notifications when an item falls below its par or reorder level, so you order before you run out.
- Purchase orders. Raise orders to suppliers from the system and receive against them, so purchases are recorded accurately.
- Variance reporting. Enter your physical count and compare it against theoretical stock, item by item.
ChaChaCha’s inventory management and POS reports are built around these tasks. Exact inventory features depend on your setup, so ask us to confirm which of the above are included in your package, and get it in writing from each vendor you compare, including us. For multi-outlet groups, the head-office ERP helps you compare stock and sales across locations, and the Xero integration passes figures to your accounts. See POS accounting integration for how that works.
Count sheet template
Copy this layout into a spreadsheet or print it. Keep the item order matched to your shelves.
| Location | Item | Count unit | Par level | Count | Unit cost ($) | Value ($) | Notes |
|---|---|---|---|---|---|---|---|
| Walk-in chiller | Chicken thigh, boneless | kg | 15 | ||||
| Walk-in chiller | Fresh milk | 1 L carton | 24 | ||||
| Freezer | Prawns, peeled | kg | 10 | ||||
| Dry store | Jasmine rice | kg | 50 | ||||
| Dry store | Takeaway boxes (medium) | pack of 50 | 10 | ||||
| Bar | House gin | bottle (to 0.1) | 6 |
Par levels and items above are examples only. Replace them with your own list, and add the counter’s name, date and time at the top of each sheet.
Stock take checklist
- Count units and conversions fixed for every item
- Par levels set and reviewed this season
- Count sheets in shelf order, printed or loaded on a tablet
- Deliveries received or held aside; no transfers during the count
- Open containers labelled; partials rule agreed
- Counting pairs assigned; high-value items double-counted
- Work-in-progress and prepped items included
- Waste written off and logged separately
- Figures entered the same day; outliers recounted
- Stock valued using your chosen method (FIFO or weighted average), confirmed with your accountant
- Variance calculated per item and compared with your tolerance
- Actions recorded: portion checks, recipe updates, supplier follow-ups
If you want to see how recipe-level stock tracking could work in your kitchen, talk to us and we will walk through it with your menu.
