Inventory management for coffee shops and cafés
Running out of oat milk at 8am isn’t a spreadsheet problem — it’s a line of irritated regulars and a barista apologising for the tenth time. Café inventory is fast-moving, perishable and easy to lose track of. Here’s a system that keeps the bar stocked without you counting cartons in the walk-in every morning.
Start with par levels, not perfect counts
A par level is the minimum amount of an item you want on hand before the next delivery. You don’t need to know you have exactly 14 cartons of whole milk — you need to know you’re below the 20 you need to get through a Saturday. Set a par for every fast mover: each bean, each milk and alt-milk, syrups, cups, lids, sleeves, and pastries.
Set those as warning and critical levels per item so the system flags them for you. When milk drops under par, it lands on your order list automatically instead of living in someone’s head.
Count the few things that move fast
You don’t need a full count of the stockroom daily. Do a quick cycle count of your top 10–15 items at close, and a fuller reconciliation weekly. Two minutes of counting milk and beans beats a 90-minute monthly stocktake that’s already out of date by the time you finish it.
Track waste, not just sales
Spoiled milk, stale pastries, dialled-in shots dumped during calibration — that’s real inventory leaving without a sale. Log it. When you can see that you bin six litres of oat milk a week, you can right-size your order and stop pre-paying for the bin.
Watch shelf life with FEFO
Dairy and fresh pastries are first-expiry, first-out: the carton that goes off soonest gets used first, regardless of when it arrived. Date your stock and rotate on the way in. More on rotation methods in FIFO vs. LIFO vs. FEFO.
Make it work across a second location
If you run more than one site, treat each as its own location so you can see where stock actually is — and transfer a few bags of beans between shops instead of placing a rush order. See keeping counts honest across locations.