A convenience store inventory spreadsheet keeps a line for every item: its UPC or code, category, vendor, what it costs, what it sells for, its margin, a par level, what's on the shelf, and what to order, rounded up to the vendor's case. The vendor column matters more in a convenience store than almost anywhere, because a good part of the shelf is stocked by direct store delivery: the soda, snack, bread and dairy routes that come in, count, fill and invoice on their own schedule. Below is what goes on the sheet, a filled-in week for a corner store with $418.32 to order, how DSD vendors fit, and a free template.
The short version
- One line per item: UPC, item, category, vendor, cost, price, par, on hand, case pack.
- Margin = (price − cost) ÷ price, by item and category.
- To order = par − on hand; cases to order = to order ÷ case pack, rounded up.
- Group the order by vendor; each has its own day, minimum and invoice.
- DSD vendors stock their own items; count after they leave and check their invoice against it.
- Perishables need dates: milk, eggs, bread and sandwiches go out oldest first.
- TaroStack counts by barcode on a phone, receives DSD deliveries, and lists what to order. More below.
A week's sheet
Penobscot Corner Store, a made-up corner store in Bangor, Maine, I use in these examples, counts every Monday morning:
| Item | Vendor | Cost | Price | Margin | Par | On hand | To order | Cases | Order cost |
|---|---|---|---|---|---|---|---|---|---|
| Cola, 20 oz | Soda route A (DSD) | $1.15 | $2.49 | 54% | 48 | 22 | 26 | 2 of 24 | $55.20 |
| Lemon-lime soda, 20 oz | Soda route B (DSD) | $1.10 | $2.49 | 56% | 24 | 9 | 15 | 1 of 24 | $26.40 |
| Water, 16.9 oz | Wholesale club | $0.18 | $1.29 | 86% | 48 | 30 | 18 | 1 of 24 | $4.32 |
| Energy drink, 8.4 oz | Distributor | $1.45 | $3.29 | 56% | 36 | 11 | 25 | 2 of 24 | $69.60 |
| Potato chips, 2.6 oz | Snack route (DSD) | $0.95 | $2.19 | 57% | 40 | 26 | 14 | 1 of 64 | $60.80 |
| Chocolate bar | Distributor | $0.85 | $1.99 | 57% | 48 | 17 | 31 | 1 of 36 | $30.60 |
| Gum, 15 pieces | Distributor | $0.70 | $1.79 | 61% | 24 | 20 | 4 | 1 of 10 | $7.00 |
| Whole milk, gallon | Dairy (DSD) | $3.10 | $4.29 | 28% | 18 | 6 | 12 | 3 of 4 | $37.20 |
| Eggs, dozen | Distributor | $2.20 | $3.99 | 45% | 12 | 5 | 7 | 1 of 15 | $33.00 |
| White bread, loaf | Bread route (DSD) | $1.75 | $3.29 | 47% | 12 | 4 | 8 | 1 of 12 | $21.00 |
| Local blueberry jam, 9 oz | Maine maker | $4.50 | $8.99 | 50% | 6 | 2 | 4 | 1 of 12 | $54.00 |
| Paper towels, 2 rolls | Wholesale club | $1.60 | $3.49 | 54% | 12 | 9 | 3 | 1 of 12 | $19.20 |
| This week's order | $418.32 |
Milk earns 28% and water 86%: a store's margin comes from its mix, which is why the coffee bar and fountain drinks matter so much to a corner store, and why the milk is at the back. Rounding up to full cases means some items arrive over par; the case pack is the vendor's minimum, not the store's choice. How stock rotation keeps the milk fresh is in stock rotation methods.
The order by vendor
| Vendor | Order cost |
|---|---|
| Distributor | $140.20 |
| Snack route (DSD) | $60.80 |
| Soda route A (DSD) | $55.20 |
| Maine maker | $54.00 |
| Dairy (DSD) | $37.20 |
| Soda route B (DSD) | $26.40 |
| Wholesale club | $23.52 |
| Bread route (DSD) | $21.00 |
| This week | $418.32 |
The distributor gets an order; the DSD routes mostly decide their own fill, so for them the sheet is a check: count after the driver leaves, compare with the invoice, and question anything that doesn't match. The local jam is a small order from a small maker, with a 12-jar minimum that lasts weeks; local products are worth their shelf space when they sell at the margin shown.
Get the template
Download the convenience store inventory spreadsheet. Two sheets: inventory, one line per item with its code, category, vendor, cost, price, par, on hand and case pack, where the margin, what to order, the cases and the order cost fill in, with items to order in red; and order by vendor, totalling the week's order for each vendor. It's an ordinary Excel file with no macros, and it works in Google Sheets, LibreOffice and Numbers.
Where this stops working
A corner store carries a thousand to three thousand items, gets five deliveries a week, and sells all day through a register that knows what sold. A Monday count on a spreadsheet is out of date by Monday lunch, and it can't catch a DSD invoice for 48 colas when 36 came off the truck.
How TaroStack does it
TaroStack counts by barcode on a phone, receives DSD deliveries, and lists what to order.
Counting by barcode. The phone's camera or a scanner reads each item's barcode for counting and receiving, and counting works with no signal, in the back cooler too. Counting suggests what to count first: what it would cost to be wrong, times how much has happened since anyone looked.
Receiving with or without a PO. A DSD delivery is received as it comes, with or without a purchase order, by the case or the each, so the driver's invoice can be checked against what was actually put on the shelf.
Reorder in days of cover. Each item comes up on the reorder list in days of cover, with reorder points suggested from how it really sells, and dairy and bread keep their dates, oldest first. No plan limits the number of items. How barcode scanning works is in inventory software with barcode scanner, and Square's own inventory in does Square do inventory.
| The job | Spreadsheet | In TaroStack |
|---|---|---|
| Counting 2,000 items | A Monday morning | Barcodes on a phone, offline |
| Checking a DSD invoice | Count and compare by hand | Received by the case as it comes |
| What to order | Par minus on hand | Reorder list in days of cover |
| Milk and bread dates | Read the shelf | Dates, oldest first |
Counts, receiving, reorder lists and expiry are on every plan, from $49 a month, with no limit on items; TaroStack connects to Square. 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.
