A coffee shop inventory spreadsheet does two jobs. The first is the weekly count: every item you can run out of, beans, milks, syrups, cups and lids, counted at the same time each week against a par level, the amount you want on hand after a delivery, so the order writes itself. The second is the drink cost: what goes into each drink, at what you pay for it, so you know what a latte really costs when milk goes up. With both, the spreadsheet answers what to order, what's sitting on the shelves, and which drinks carry the menu. In the example below, a café's Monday count shows $365.80 of stock and an order for 20 lb of beans and 24 cartons of oat milk, and its oat latte costs $1.55 against a $0.91 regular latte. Below is what to count, how par levels work, the drink costs, and a free template.
The short version
- Count every item you can run out of, weekly, at the same time, before the delivery.
- Set a par for each: a normal week's use plus what you'd use before the next delivery.
- Order = par − on hand, rounded up to whole cases.
- Cost each drink from its recipe: grams of coffee, ounces of milk and syrup, the cup, lid and sleeve.
- Recost drinks when a supplier's price changes.
- Write down what's thrown away, like milk past its date, so the counts make sense.
- TaroStack counts on a phone, works out orders and costs drinks from what you paid. More below.
What to count
| Group | Items | Count in |
|---|---|---|
| Coffee | Espresso beans, drip beans, decaf | Pounds |
| Milk | Whole, oat, almond, half and half | Gallons or cartons |
| Syrups and sauces | Vanilla, caramel, mocha | Bottles |
| Cups and lids | Hot and cold cups by size, lids, sleeves, straws | Units, or sleeves of 50 |
| Food | Pastries, if you hold stock | Units |
| Cleaning | Espresso cleaner, sanitizer | Units |
Count in the unit you order in or the unit you use, and stick to one. Pastries delivered fresh each morning don't need a weekly count, but write down how many went in the bin.
A Monday count
Pali Roasting Co., a made-up coffee roaster I use in these examples, runs a small café beside its roastery. Monday morning, before the delivery:
| Item | Unit | Par | On hand | Cases of | Order | Value on hand |
|---|---|---|---|---|---|---|
| Espresso beans | lb | 30 | 12 | 5 | 20 | $114.00 |
| Whole milk | gallon | 24 | 9 | 4 | 16 | $37.80 |
| Oat milk | 32 oz carton | 36 | 14 | 12 | 24 | $43.40 |
| Vanilla syrup | bottle | 6 | 2 | 1 | 4 | $17.00 |
| Caramel sauce | bottle | 3 | 2 | 1 | 1 | $28.00 |
| Hot cups, 12 oz | cup | 1,000 | 420 | 1,000 | 1,000 | $46.20 |
| Hot lids | lid | 1,000 | 600 | 1,000 | 1,000 | $30.00 |
| Sleeves | sleeve | 1,000 | 380 | 1,000 | 1,000 | $15.20 |
| Cold cups, 16 oz | cup | 600 | 150 | 1,000 | 1,000 | $21.00 |
| Cold lids and straws | set | 600 | 220 | 1,000 | 1,000 | $13.20 |
Stock on hand is worth $365.80. The order rounds up to whole cases, so the cups land above par; that's the cost of buying by the case, and it's fine for something that keeps. For milk, which doesn't, keep the par close to a week's use. How a par level compares with a reorder point is in par level vs reorder point.
What each drink costs
| Drink | Coffee | Milk | Syrup | Cup, lid, sleeve | Cost | Price | Margin |
|---|---|---|---|---|---|---|---|
| Latte, 12 oz | 18 g | 10 oz whole | $0.20 | $0.91 | $5.00 | 81.8% | |
| Oat latte, 12 oz | 18 g | 10 oz oat | $0.20 | $1.55 | $5.75 | 73.0% | |
| Vanilla latte, 12 oz | 18 g | 10 oz whole | 1 oz | $0.20 | $1.24 | $5.75 | 78.4% |
| Drip coffee, 12 oz | 20 g | $0.20 | $0.62 | $3.25 | 80.9% | ||
| Iced latte, 16 oz | 18 g | 10 oz whole | $0.20 | $0.91 | $5.50 | 83.5% |
The oat latte's milk costs three times the whole milk's, so a 75-cent upcharge doesn't quite keep its margin level with the regular latte. Coffee drinks carry high margins on ingredients; rent, wages and equipment come out of them, so the drink cost is where to watch for slips, not the whole story. What food cost should be as a share of sales is in what is a good food cost percentage.
Keeping the count useful
- Same time every week, before the delivery, so the numbers compare.
- Count the back stock and the bar: the half-used carton behind the counter is stock too.
- Write down waste with a reason: milk past its date, a dropped sleeve of cups. Without it, usage looks higher than sales explain; a log for it is in waste log template.
- Revisit pars each month, and before a holiday or a slow season.
Get the template
Download the coffee shop inventory spreadsheet. The Weekly count sheet takes each item's unit, par, count, case size and cost, and works out what to order, rounded up to whole cases, and the value of what's on hand. The Drink costs sheet takes each drink's recipe and costs it from the prices on the count sheet, so when milk goes up, every drink follows. It's an ordinary Excel file with no macros, and it works in Google Sheets, LibreOffice and Numbers.
Where this stops working
A weekly count tells you about last week. Oat milk runs out on Friday because a new oat drink took off on Wednesday, the milk price rose on the last invoice and the drink costs still have the old one, and the waste log lives on a sticky note. With two people counting on different days, the spreadsheet stops matching the shelf.
How TaroStack does it
TaroStack keeps the count, the orders and the costs together.
Counting on a phone. Count the bar and the back on a phone or tablet, with no signal needed in the walk-in, and see what a variance is worth before you post it. Counting suggests what to count first, from what it would cost to be wrong.
Orders from real use. The reorder list works in days of cover at the rate each item really moves, with reorder points suggested from that movement, so oat milk is reordered on Wednesday, not discovered on Friday.
And drinks, costed from what you paid. Each drink is a recipe, with units that convert: beans by the pound, used by the gram; milk by the gallon, used by the ounce. Margins are reported by product, on what things actually cost, and waste comes off as an adjustment with its reason. Square connects, and so does Shopify.
| The job | Spreadsheet | In TaroStack |
|---|---|---|
| Weekly count | Clipboard, then typing | On a phone, no signal needed |
| What to order | Par minus count | Days of cover, from real use |
| What a latte costs | Last time you checked | From what you paid |
| Milk that went off | A sticky note | An adjustment with its reason |
Counting, the reorder list, recipes and margins by product are on every plan, from $49 a month. The first 30 days are free, with no credit card. If you'd like a hand setting up, ask, and we'll do it with you.
