The spreadsheet says 40. The shelf says 12. When inventory never matches, it's rarely theft. It's things that happen to stock without being written down: ingredients used in batches nobody deducted, flour on the bench that no recipe mentions, a spill, a case counted as one, a delivery entered twice, a second place that sells, a recipe that uses more than it says, or a count taken mid-shift. The difference usually has a shape, and the shape tells you which.
The short version
- Measure the gap first: counted minus expected, in units, percent and dollars.
- Look at its shape. Steady and small, lumpy and big, an exact multiple, or growing with production each point to a different cause.
- Fix the recording, not only the number. Correcting the count without finding the cause means the same gap next month.
- Start with the items where the gap costs the most, not the ones with the biggest percentage.
- Most of the eight causes are recording gaps, and TaroStack closes them as the work happens. More at the end.
First, measure the gap
Expected stock is what the records say should be there: opening count, plus everything received, minus everything used or sold. The variance is what you counted minus that.
Here's a bakery's bread flour for September:
| lb | |
|---|---|
| Counted on September 1 | 75 |
| Received: 14 bags of 50 lb | +700 |
| Used by recipe: 30 batches at 20 lb | −600 |
| Expected on September 30 | 175 |
| Counted on September 30 | 110 |
| Variance | −65 |
As a percentage, variance is (counted − expected) ÷ expected, so −65 ÷ 175 = −37%. At $31 a bag, flour is $0.62 a pound, so the gap is worth $40.30. That's the number that decides whether it's worth an hour of your time. For a fuller treatment of the formula, see the inventory variance formula.
The eight usual causes, and what each looks like
| Cause | What the gap looks like | The fix |
|---|---|---|
| 1. Batches made but not deducted | Ingredients short on paper, finished goods fine | Deduct ingredients by recipe every time a batch is recorded |
| 2. Use outside the recipe (bench flour, starter feeding, greasing pans, samples, staff meals) | Small, steady, the same items every month | Add it to the recipe, or record it as a daily use |
| 3. Waste nobody wrote down (a split bag, dropped jars, stock thrown out past its date) | Lumpy: fine for months, then a big gap | A waste log by the bin, filled in when it happens |
| 4. Units mixed up (case and each, lb and kg, bag and lb) | Exact multiples: 12 or 24 times, 50 times, 2.2 times | One stock unit per item, with the conversion written down |
| 5. Receiving mistakes (a delivery not entered, entered twice, or entered as ordered when it came short) | The gap equals one delivery | Receive against the packing slip, not the purchase order |
| 6. A second place that sells or edits (the website, the till, the market, someone in the store admin) | Finished goods off, ingredients fine | One system owns the count; the others read it |
| 7. Recipe quantities that are wrong | Grows with production: busy months, bigger gaps | Weigh what one real batch uses, and correct the recipe |
| 8. Counting errors (counting mid-production, a half bag counted as full, one shelf counted twice) | Flips between over and under from month to month | Count before or after production, in the same order every time |
Theft happens, and it's on nobody's list of favorite explanations. My advice is to rule out the eight above first, because they're far more common in a small kitchen and far easier to fix. If you've done that and one item keeps walking, then it's a different conversation.
One gap, traced to the pound
Back to the 65 lb of flour. The loaves matched: every loaf the bakery made was sold or counted. So cause 6 is out, and the problem is on the ingredient side. Here's how it came apart:
| What it was | Cause | lb |
|---|---|---|
| Bench flour and starter feeding, about 1 lb a baking day, 25 days | 2. Outside the recipe | 25 |
| One extra batch for a catering order, made and never written down | 1. Batch not deducted | 20 |
| Half a bag that split on the delivery dolly and got swept up | 3. Waste not recorded | 20 |
| Explained | 65 |
The fixes are small. Bench flour becomes a line on the daily prep sheet, or 0.8 lb goes into each batch's recipe (25 lb over 30 batches, rounded). Every batch goes on the log, catering included. And a waste line goes on a clipboard by the bin. Next month's gap should be a few pounds, which is what counting error looks like, and that's fine.
A routine that stops the gap growing
Once a month, or once a week for anything expensive or fast-moving:
- Count, with the sheet in the same order as the shelves.
- Work out expected and variance for each item.
- Sort by the dollar value of the gap, not the percentage.
- Look at the top three, find the shape, and write down the cause next to the number.
- Fix the recording that let it happen.
Three items a month doesn't sound like much. After a few months it's most of the gap, because the same few items cause most of it.
Where this stops working
This works fine for twenty items and one person who knows the kitchen. It gets hard when there are eighty items, three people recording, and a website selling in the background, because working out "expected" means adding up deliveries, batches, sales and waste from four places, by hand, before you can even start looking. That's usually the point where people move from a spreadsheet to software, and there's an honest look at that choice in inventory software vs a spreadsheet.
How TaroStack does it
Look at how the 65 lb of flour came apart: a catering batch nobody recorded, bench flour no recipe mentions, a split bag nobody wrote down. Every one is a gap in the recording, not in the counting, so TaroStack closes them where they happen. When a batch is recorded, the recipe takes its ingredients off from the lots used, so cause 1 goes away. Units convert by themselves (buy by the case, stock by the each, cook by the gram), which ends cause 4. And from your own batch history, TaroStack checks whether a recipe really yields what it claims and which ingredient's quantity is off, which is cause 7, the one that grows with every busy month.
The count gets easier to trust, too. When you count, TaroStack shows what each difference is worth before you post it, so the $40.30 is on the screen while you can still go and look, and it suggests what to count next from what it would cost to be wrong. Shipping, selling and making never quietly take stock below zero; the app says what's there and asks for a count first. And with Shopify connected, a daily check catches drift between TaroStack and the store, which is cause 6.
Counting is on every plan, from $49 a month. Recipes, batches and the recipe checks are on Standard at $99. Try it free for 30 days. If you'd like a hand setting up, ask, and we'll do it with you.
