Coffee shop inventory is uniquely difficult. You're dealing with perishable goods that expire in days, high-velocity items that need restocking constantly, dozens of ingredients that combine into hundreds of menu items, and — if you're growing — the challenge of keeping all of this consistent across multiple locations.
Most café owners start with a spreadsheet or a whiteboard. That works until it doesn't. This guide covers how to set up an inventory tracking system for your coffee shop that actually keeps up with your operations — from deciding what to track to choosing the right tools to building habits your team will follow.
Coffee shops have four categories of inventory, each with different tracking needs:
These are the items that go into your drinks and food: coffee beans, milk (whole, oat, almond, soy), syrups, chocolate, tea, sugar, cream, butter, flour, eggs, and any fresh produce for food items.
Core ingredients are your highest-priority tracking items because they have the most direct impact on your cost of goods sold (COGS) and your ability to serve customers. Running out of oat milk means telling customers you can't make their regular order. That's a lost sale and potentially a lost customer.
How to track: Count these frequently — daily for the fastest-moving items (milk, beans), every delivery for perishables. Track by unit (gallons, bags, bottles) and tie consumption to sales so you can calculate how much of each ingredient you're using per drink or food item.
Cups (hot and cold, multiple sizes), lids, sleeves, straws, napkins, bags, stirrers, to-go containers. These don't expire, but running out disrupts service just as badly as running out of milk.
How to track: Weekly counts are usually sufficient. Set generous reorder points because these items are cheap to overstock but expensive (in lost revenue and customer frustration) to run out of.
Bags of whole bean coffee, merchandise (mugs, tumblers), packaged snacks, bottled drinks. If you sell retail items through your POS, these should be tracked per-unit just like any retail store.
How to track: Your POS system should deduct these automatically with every sale. Physical counts weekly or biweekly to catch any discrepancies from theft, damage, or unrecorded samples/giveaways.
Cleaning products, sanitizer, dish soap, paper towels, register tape. Not glamorous, but running out of sanitizer can shut you down during a health inspection.
How to track: Monthly counts and a simple reorder checklist. These don't need the same precision as ingredients, but they do need to be ordered before you run out.
List every item you need to track. For each item, record:
This catalog is the foundation of your entire inventory system. Every count, every order, and every report builds on it. Take the time to set it up correctly once, and everything else becomes easier.
If you sell through a POS system like Square, SumUp, or Lightspeed, your inventory system should connect to it. Every latte sold should automatically deduct from your coffee bean, milk, and cup inventory. Every bag of retail beans sold should deduct one unit from your retail stock.
Without this connection, you're manually updating inventory after every shift — and realistically, that won't happen consistently. POS integration is the single biggest accuracy improvement for coffee shop inventory. Stash integrates directly with Square and other major POS systems for real-time sync.
For every tracked item, set three alert levels:
These thresholds should account for supplier lead times. If your bean supplier takes 3 days to deliver, your "low stock" alert needs to fire with at least 3 days of supply remaining. Stash's AI demand forecasting calculates these automatically based on your actual sales patterns.
The best inventory system in the world is useless if no one counts what's actually on the shelves. Build counting into your daily and weekly operations:
Daily (during opening or closing):
Weekly:
Monthly:
Assign specific counts to specific people. "Everyone is responsible" means no one is responsible. Your opening barista counts milk and beans. Your closing manager counts supplies. Your owner or manager does the weekly full reconciliation.
Perishable inventory is the defining challenge of coffee shop operations. Milk, cream, pastries, food ingredients — these have shelf lives measured in days, not weeks.
Always use the oldest stock first. When new milk arrives, put it behind the existing milk in the fridge. When new pastries come in, put them behind today's batch. This sounds obvious, but during a rush, it's easy for staff to grab whatever is closest — which is usually the newest delivery.
Label everything with the date received. Make it a non-negotiable rule: if it doesn't have a date on it, date it before it goes into storage.
Every item thrown away should be recorded. Expired milk, unsold pastries at end of day, dropped drinks, spoiled produce. This data tells you:
Most coffee shops waste 4-10% of their purchased ingredients. Even reducing that by a few percentage points has a direct impact on your bottom line.
Your iced latte ingredients need to scale up in summer and down in winter. Your pumpkin spice supply has a narrow window. Your pastry orders should reflect whether it's a busy tourist season or a slow winter week.
If you're tracking sales through your POS, your inventory system can show you these patterns. Stash uses AI demand forecasting that factors in seasonality, day-of-week patterns, and trends so your purchase orders reflect what's actually going to sell — not what sold last week.
If you operate more than one café, inventory tracking gets significantly more complex. Each location has different demand patterns, different staff, and potentially different suppliers.
The key principles for multi-location coffee shop inventory:
Stash is built for multi-location coffee shops. Each location has its own dashboard, alerts, and inventory data, with a unified view for owners who need to see the big picture across all stores.
COGS tells you how much you're spending on ingredients relative to your sales. For coffee shops, a healthy COGS is typically 25-35% of revenue. If you're above 35%, you're either over-ordering, wasting too much, experiencing theft, or your pricing is too low.
The formula: Beginning Inventory + Purchases - Ending Inventory = COGS
If you start the month with $2,000 in inventory, purchase $4,000 more during the month, and end with $1,500 in inventory, your COGS is $4,500.
If you brought in $15,000 in revenue that month, your COGS percentage is 30% — within the healthy range.
Track this monthly at minimum. If COGS starts creeping up, investigate: are suppliers charging more? Is waste increasing? Are portion sizes inconsistent? Is someone giving away product or taking inventory home?
An inventory management system connected to your POS makes COGS calculation automatic. Stash tracks real-time stock value, margins, and product performance so you always know your numbers without pulling reports and doing manual math.
Your inventory tracking approach should match your scale:
| Stage | Best Tool | When to Move Up |
|---|---|---|
| Brand new, pre-revenue | Spreadsheet + manual counts | When you open for business and start selling through a POS |
| One location, steady sales | POS built-in inventory (Square free plan) + weekly counts | When you're losing sales to stockouts, wasting inventory, or want forecasting |
| Growing, considering a second location | Stash Core — POS-connected with AI forecasting, $79/month | When you open location #2 |
| Multi-location coffee shop | Stash Pro or Scale — multi-location dashboards, transfers, team permissions | — |
The important thing isn't which tool you start with — it's that you start tracking consistently. A spreadsheet updated religiously beats expensive software that nobody uses.
If you're currently winging it on inventory, here's a practical starting point:
Or, skip the gradual rollout: start a 14-day free trial of Stash, connect your Square POS, import your products, and have your entire coffee shop inventory system running in 15 minutes. AI demand forecasting kicks in immediately, and your stock levels update with every sale.