"Shrinkage" is the word every beverage retailer reaches for when stock on the shelf doesn't match stock in the books. The trouble with the word is that it flattens five completely different problems into one line on a spreadsheet — and each of those five problems needs a different fix. If you're only tracking a single "variance %" number, you're treating a symptom, not a cause.

Here's what's actually hiding inside that number, and how to pull it apart.

1. Theft — internal and external

This is the one owners worry about most, and usually the smallest slice in a well-run shop. External theft is walk-out; internal is a staff member under-ringing a sale, voiding a real transaction after the customer leaves, or "forgetting" to scan a bottle for a friend. The tell isn't the shrinkage number itself — it's which items and which shifts it clusters around.

The fix is visibility, not suspicion: a void log that shows who voided what and when, a returns report that flags returns without a matching original sale, and shift performance broken out per cashier so a pattern shows up in the data before it shows up in the register.

2. Breakage and damage

Bottles break. Cases get dropped in the stockroom. This is the most forgivable category of loss — but only if it's actually recorded as breakage, rather than just quietly adjusted out of stock with no reason attached. If breakage doesn't have its own paper trail separate from sales and separate from theft, you can't tell your insurer, your supplier, or yourself what actually happened.

The fix: a stock adjustment reason code specifically for damage/breakage, logged at the time it happens, not batched into a vague month-end correction.

3. Pour and measurement variance

If you sell by the glass, this is usually the biggest hidden number and the one owners most underestimate. A "1.5 oz" pour that's actually 1.7 oz, repeated across a busy Friday night, adds up to real bottles you never explicitly lost — they just never made it into the sales total in the first place.

This one doesn't show up as a discrepancy at all unless you're tracking expected yield per bottle against actual volume sold. It's the hardest of the five to catch and the easiest to ignore, because nothing visibly "goes missing" — it's baked into every pour.

4. Expiry and spoilage

Beer has a shelf life. So do some wines, and definitely anything with mixers or garnishes behind the bar. Stock that ages past its sell-by date isn't theft or an error — it's a buying and rotation problem. If nothing in your system tracks batch and expiry date at the item level, you find out about this the same way most shops do: a customer complaint, or a case pulled off the shelf months too late.

The fix is boring but effective: batch/lot tracking at goods-received, and a standing low-stock-and-expiring-soon view that surfaces what's about to go bad before it does, not after.

5. Counting and receiving errors

Not everything that looks like shrinkage is loss at all. A supplier who short-ships a case, a goods-received entry keyed in wrong, or a price that was updated on the invoice but not in the system will all show up as "missing" stock that was never actually there to begin with.

This is the category most worth fixing first, because it's pure paperwork — no theft, no waste, just a mismatch between what was ordered, what arrived, and what got recorded. A goods-received process that automatically flags short/over quantities and price mismatches against the original purchase order catches this at the moment it happens, instead of three stock-takes later when nobody remembers which delivery it was.

A single "shrinkage %" tells you something is wrong. Separating it into these five buckets tells you what to actually do about it.

The practical starting point

You don't need five different systems to track five different causes — you need one system where each of them has its own place to live:

Once shrinkage is split into causes instead of one number, the conversation with your team changes too — from "why don't the numbers match" to "here's exactly what happened and when," which is a much easier problem to actually solve.

CellarPoint tracks all five categories separately by design — stock adjustments, GRN discrepancy flagging, batch/expiry, and per-cashier void & returns reporting, out of the box.

See how it works