A grocery price book template gives you a dated record of prices, package sizes, and offer conditions. Use the tool below to calculate unit prices and separate the lowest price you have recorded from the lowest offer you have confirmed you can use. You can also download a blank CSV or print a paper version without entering any prices.
Use the Grocery Price Book Template
Download offline price book (HTML) Download blank CSV
These downloads are blank templates. Use Export my records below to download your own entries.
Frugenza Living
Your grocery price book & unit price calculator
Record an offer. Compare prices you can actually use.
The interactive book needs JavaScript. You can still download the blank CSV or the offline price book using the links above.
One currency per book; locked while records exist. No currency or unit conversion.
Add a price observation
Price observations
Add a new record for a new price. Edit corrects an existing record.
Choose a currency, add an observation, then select a product and unit to compare. Each record stores the full offer price, its date, and any requirements. The two results answer different questions:
- Historical low: What is the lowest unit price in your records through the selected comparison date?
- Lowest confirmed offer: What is the lowest unit price among offers you have checked are available and usable on that date?
An expired coupon can remain your historical low while being excluded from the confirmed result. The tool checks dates; you verify stock, location, membership, coupon access, and purchase requirements. It does not retrieve store prices.
Download blank CSV gives you a spreadsheet starting point. Export my records includes your entire history, even when you are viewing one product. Both contain values, not spreadsheet formulas: changing a price or quantity in Excel or Google Sheets will not recalculate the exported unit price.
Print blank creates writing space for paper records. Print my book includes saved observations and the selected comparison. Your print dialog may offer Save as PDF; there is no separate PDF download.
Entries stay in this browser when browser storage is available. Export before clearing browsing data or switching devices. The downloaded HTML works offline, but its storage may be separate from the web version. A CSV backup can be read in a spreadsheet; this tool does not import it to restore records. If storage is unavailable, an on-screen notice tells you to export before closing. If another tab changes the saved book, saving here stops. Export this tab’s records before reloading.
Record One Observation Without Losing the Previous Price
Start with a few groceries you regularly buy and might purchase at different prices or package sizes. There is little reason to build a supermarket-wide database before you have a question to answer.
Use these fields consistently:
- Product group and description: Group items you would genuinely substitute for one another. “Plain rolled oats” is more useful than “breakfast.” Keep brand and variety in the description; put flavored oats or a required specialty version in a different group.
- Store and observation date: Include the branch or online channel when that affects availability. Record when you checked the price, even if you did not buy anything.
- Quantity, unit, and packs: Enter the net quantity in each pack, a consistent unit, and the number of packs required for the offer.
- Total offer price: Enter what the entire qualifying bundle costs after an accessible item discount and before tax.
- Price type, conditions, and expiry: Distinguish regular, sale, loyalty, and coupon prices. Record details such as “two packs required” or “digital coupon, one offer per account.”
Keep basket-wide discounts, unreceived cashback, delivery charges, and travel costs outside the item price. They can affect your shopping decision, but folding them into individual entries without a consistent allocation makes those entries harder to compare.
For an ordering decision, compare the full cost of grocery pickup and delivery separately from the item prices in your book.
For a new price on a new date, add another observation. Use Edit to correct a typo in an existing record. Replacing last month’s price with today’s price would remove the evidence that makes a price book useful.
The National Institute of Standards and Technology explains unit pricing as cost per unit of measure. This template calculates it from your entries:
Unit price = total offer price ÷ (quantity per pack × packs required).
Use the same unit within a comparison. NIST’s example of inconsistent juice labels shows why prices per quart and per fluid ounce cannot be compared directly. This tool keeps different units separate and does not convert them. Weight ounces and fluid ounces measure different things; “count” is useful only when the individual items are comparable.
A price observation also differs from tracking what you actually spend. Seeing a $5.46 offer does not create a $5.46 expense. Record the purchase amount in your spending log only when you buy it.
Compare Package Sizes and Qualifying Offers
Here is an illustrative example in US dollars, not current retailer pricing. Assume these plain rolled oats are acceptable substitutes, and compare prices per weight ounce on October 8, 2026. The September sale has expired; both regular offers and the two-pack offer have been checked for October 8.
| Offer observed | Total quantity | Total offer price | Price per oz | Treatment on October 8 |
|---|---|---|---|---|
| Store A, regular, October 8 | 18 oz | $2.79 | $0.1550 | Confirmed |
| Store B, regular, October 8 | 42 oz | $5.46 | $0.1300 | Confirmed |
| Store B, September 30 sale; expired September 30 | 42 oz | $4.62 | $0.1100 | History only |
| Store A, October 8; two 18-oz packs required | 36 oz | $5.04 | $0.1400 | Confirmed if buying both |
For the two-pack offer, the calculation is $5.04 ÷ (18 × 2) = $0.1400 per ounce. The tool displays four decimal places but uses the unrounded results to compare entries.
The historical low is $0.1100 per ounce. The lowest confirmed offer is $0.1300 per ounce, because the cheaper September sale cannot be used on the comparison date. A historical low gives you a reference; it does not establish that the price will return or that today’s offer is overpriced.
The bundle also requires a $5.04 checkout commitment. Do not assume you can buy one pack for $2.52 unless the store allows that price without buying two. If two packs do not fit your needs, leave the offer unconfirmed for your comparison.
Likewise, if Store B’s $5.46 offer turns out to require a coupon you cannot use, remove its confirmation. Among the remaining confirmed entries, the two-pack offer is lowest per ounce if you can meet its requirements. The record of Store B’s price still belongs in your history.
Lowest unit price is only one part of the decision. The 42-oz pack costs more at checkout than the 18-oz pack. If you need less food, have limited cash, or will not use the larger amount, a smaller purchase may suit you better. Our guide to bulk deals that become grocery-shopping mistakes explains that quantity trade-off. For deciding how much to buy in the first place, use the grocery-shopping plan for one person.
Check the Entries Before Your Next Shop
Set the comparison date to the day you plan to shop. A confirmation from a previous date does not automatically qualify an offer for the new date. Check the current listing or shelf label, then confirm the offers whose terms you can meet. If an expiry is unknown, leave it blank and verify availability yourself; blank does not mean permanently available.
Review only the products you are considering buying. For each one, check the description and package size, whether the price applies at your branch or channel, and whether the required quantity fits your list. If a price has changed, add a fresh observation rather than editing the old one. If it replaces an earlier offer, use Remove confirmation on the old record—even on the same date. Keep that record as history.
The confirmed result is the lowest among your eligible entries, not the lowest price across every store. You can leave it empty when nothing has been verified. That is more useful than treating an old sale as an offer you can still obtain.
Choose one product from your next shopping list, record its current offer, and check a comparable alternative. Use the confirmed unit price alongside the full checkout amount to decide which purchase fits this trip.
- Proportional Bill Split Calculator for Two Incomes - October 15, 2026
- How to Split Grocery Bills With Roommates - October 14, 2026
- First Apartment Kitchen Essentials on a Budget - October 13, 2026
