To compare prices across your food vendors, put every price on the same unit first: per pound, per each or per gallon. Divide the case price by how much is in the case (the pack size tells you), then compare those numbers.
The math is one line. The slow part is repeating it every week for every vendor, then checking whether a lower price is still lower after delivery fees, waste and substitutions. Below are a worked example, a pack-size cheat sheet and a template you can copy.
Why the cheapest case is not always the cheapest item
Vendors sell the same item in different packs. One sells a 40 lb case. Another sells a case of six 5 lb bags. A club store sells a single 10 lb bag. The smaller pack usually has the lower price on the order screen, so it looks cheaper.
The case price is what you pay today. To know what a pound of onions costs you, you need the price per pound. Many grocery stores print it on the shelf tag as the "unit price." Food distributors often don't print one, so you work it out yourself.
Work out the price per unit
Price per unit = case price ÷ (number of packs in the case × size of each pack)
Put the sizes in the unit you want before you divide. If the pack is in ounces and you want a price per pound, divide the ounces by 16 first.
A worked example: yellow onions from three vendors
Say your kitchen uses about 40 lb of jumbo yellow onions a week, and three vendors sell them. The vendors and prices below are made up for this example.
| Vendor | Pack | Case price | Total in the case | Price per lb |
|---|---|---|---|---|
| Heartland Foodservice | 40 lb case | $38.40 | 40 lb | $0.96 |
| Valley Fresh Produce | 6 x 5 lb bags | $31.50 | 30 lb | $1.05 |
| Club Wholesale | 10 lb bag | $8.99 | 10 lb | $0.90 |
The math for each one:
- Heartland Foodservice: $38.40 ÷ 40 lb = $0.96 per lb.
- Valley Fresh Produce: 6 bags × 5 lb = 30 lb. $31.50 ÷ 30 lb = $1.05 per lb.
- Club Wholesale: $8.99 ÷ 10 lb = $0.899, or about $0.90 per lb.
Valley Fresh's case is $6.90 cheaper than Heartland's, yet every pound costs 9 cents more. At 40 lb a week, you pay $3.60 more every week on one item. That is about $187 a year.
Club Wholesale has the lowest price per pound. Four bags cost $35.96 against Heartland's $38.40, so you would spend $2.44 less a week. Whether that is worth it depends on the drive. The section on delivery fees below covers that.
How to read pack sizes
Vendors write packs in shorthand. The first number is usually how many packs are in the case. The second is the size of each pack.
| Written as | What it means | Total in the case |
|---|---|---|
| 6/5 LB or 6 x 5 lb | 6 bags of 5 lb | 30 lb |
| 1/40 LB | one 40 lb pack | 40 lb |
| 4/1 GAL | 4 jugs of 1 gallon | 4 gal |
| 10/50 CT | 10 sleeves of 50 | 500 each |
| 6/32 OZ | 6 packs of 32 oz | 192 oz, which is 12 lb |
| 15 DZ | 15 dozen | 180 each |
| 6/#10 | 6 large cans | use the net weight printed on the can |
| CW, or "avg 10 lb" | catch weight, billed on actual weight | see the catch weight section below |
Conversions you will use most: 16 oz = 1 lb, 1 kg = 2.2 lb, 1 gallon = 4 quarts = 128 fl oz, and 1 dozen = 12. Keep weight with weight and count with count. Avocados priced per each only compare with avocados priced per pound if the vendor tells you both the count and the weight of the case.
Two checks catch most mistakes:
- For cheap items like lids and portion cups, use three decimal places. Lids at $0.069 and $0.076 each look the same once rounded. On 5,000 lids a month, the gap is $35.
- If one vendor's price per unit is less than half or more than double the others, recheck the pack before you switch. A "case" that turns out to be one bag is the usual cause.
Catch weight items: compare the price per pound
Some items are sold by their actual weight, because no two cases weigh the same. This is common with whole cuts of meat, some cheese and some seafood. The vendor lists a price per pound and an estimated case weight, then bills you for the real weight when it arrives. This is called catch weight.
For these items, compare the price per pound and treat the case price on the order screen as an estimate. Say Heartland lists brisket at $5.20 per lb in a case of about 60 lb, so the order screen shows $312. The case that arrives weighs 63.4 lb and the invoice says $329.68. Your price per pound did not change. You received more meat.
When you check the invoice, multiply the billed weight by the price per pound and make sure it matches the line total. Our guide to catch weight covers the rest.
Add minimums and delivery fees before you decide
A lower price per unit can disappear once you add what it costs to get the item to your door. For each vendor, check:
- Order minimum. The smallest order the vendor will deliver, in dollars or cases. If you only reach a $500 minimum by buying extra, that extra sits on your shelf as cash you have already spent.
- Delivery fee. Some vendors charge a fee on small orders.
- Your time. When you pick up from a club store or a cash-and-carry, someone on your payroll drives there and back.
To include a delivery fee, spread it across the whole order. The result is the landed price, meaning what the item costs once it reaches your kitchen.
Landed price per unit = price per unit × (1 + delivery fee ÷ order subtotal)
Say Valley Fresh charges $20 delivery on orders under $250, and your order this week comes to $160. The fee adds $20 ÷ $160 = 12.5% to everything on that order. Onions at $1.05 per lb become about $1.18 per lb.
Now the club store. Club Wholesale saved you $2.44 a week on onions. If a manager paid $22 an hour spends 75 minutes on the round trip, that is $27.50 of wages before fuel. When someone is going to the club anyway, the onions can ride along. When the trip is only for onions, it costs more than it saves. Our guide to vendor order minimums goes further on how to plan around them.
Substitutions and quality change the real price
A low price only helps if the product you receive is the product you priced. Before you compare, make sure both vendors are quoting the same grade and size, the same form (fresh or frozen, whole or cut) and a brand you are happy to use.
Then check what arrives. If a vendor sends a substitute, the pack size and the price per unit can change with it. Compare the invoice with your order, line by line. How to read a food invoice shows what to look for.
For produce, meat and fish, the number that matters most is the price per usable pound. Yield is the share of what you bought that you can use after trimming and throwing out bad pieces. To find it, weigh a case before and after prep.
Price per usable lb = price per lb ÷ yield
Back to the onions. Your prep cook finds that 85% of a Heartland case is usable and 92% of a Valley Fresh case is.
- Heartland Foodservice: $0.96 ÷ 0.85 = about $1.13 per usable lb.
- Valley Fresh Produce: $1.05 ÷ 0.92 = about $1.14 per usable lb.
The 9-cent gap shrinks to 1 cent. Run the yield test on at least two deliveries before you trust it, because one bad case can skew the number.
How often prices change, and how often to check
Prices for produce, meat, seafood, dairy and eggs can change from week to week. Dry goods, canned goods and paper usually move less. A few habits keep your comparison honest:
- Date every price. Two prices are only comparable if they are from the same week.
- Use your own account's price. Distributors often price by account, so a flyer or a public website can show a different number from yours. Your recent invoices and the vendor's website, when you are signed in, show your price.
- Check your biggest items weekly. Sort last month's invoices by dollars spent. The top 15 to 20 lines are where a few cents a pound adds up. Check everything else once a month.
- Watch the pack size as closely as the price. If a case shrinks from 6/5 lb to 6/4.5 lb at the same case price, you get 27 lb instead of 30 lb, and each pound costs about 11% more. Our guide on spotting supplier price increases covers the other quiet ones.
A template you can copy
Set up a spreadsheet with one row per vendor product:
| Column | What goes in it | Example |
|---|---|---|
| A | Item | Yellow onions, jumbo |
| B | Vendor | Valley Fresh Produce |
| C | Pack as written | 6/5 LB |
| D | Packs per case | 6 |
| E | Size of each pack | 5 |
| F | Unit | lb |
| G | Case price | 31.50 |
| H | Total units: =D2*E2 | 30 |
| I | Price per unit: =G2/H2 | 1.05 |
| J | Date checked | 2026-10-09 |
| K | Notes (minimum, fee, yield, quality) | $20 fee under $250 |
Two optional columns help once the basics are in:
- Landed price:
=I2*(1+fee/subtotal), using that vendor's fee and your usual order size. - Price per usable unit:
=I2/yield, with yield as a decimal (0.92 for 92%).
Sort by item, then by price per unit, so the lowest price for each item rises to the top. Read the notes column before you switch.
Before you move an item to a new vendor, check that:
- It is the same product: grade, size, brand, fresh or frozen.
- Both prices come from your own accounts and were checked this week.
- Delivery fees and minimums are included.
- You have tested yield if it is produce, meat or fish.
- The vendor delivers on days that work for your kitchen.
Doing it every week without a spreadsheet
The template works, but keeping it current takes time. Someone has to sign in to each vendor's website, find each product, copy the price, read the pack and redo the math every week. In a busy week it is the first job to get skipped.
RestaurantMate does that work for you. A small device in your restaurant, the RestaurantMate device, signs in to each of your website vendors overnight with your own login and re-checks the price of the items you buy. Because it uses your login, you see your account's prices, including any contract pricing.
Every price is then put on the same unit (per lb, per each or per gallon) using the pack size the vendor publishes. Open an item in Inventory and the Vendors and prices panel shows each vendor side by side. Best price marks the lowest price per unit, and each price shows when it was last updated.
Sometimes a vendor shows a case price but not what is in the case. When that happens, the price reads Missing unit and RestaurantMate asks you instead of guessing. You type the amount once (it is on the label), and the price per unit appears everywhere that product shows. Catch weight items are priced from the vendor's own price per pound.
Vendors who only email you are priced from their invoices and from the price sheets they send to your RestaurantMate inbox. AI is used to match the same product across vendors. It never sets or estimates a price. How price comparison works has the details, and the help article on comparing prices walks through the screens.
Miguel runs restaurants in Los Angeles. At his restaurant, RestaurantMate has cut food purchases by about 10%, and by 20 to 30% on some items where he switched vendors, and his manager gets back 4 to 5 hours a week. When we asked him to wait three weeks before adding his second location, he wrote: "No, it would be great if you could onboard me today. I cannot imagine running my second location without RestaurantMate anymore."
Our founder's dad never buys tomatoes from the first stall he sees. He walks the whole market, then buys. RestaurantMate checks your vendors' prices for you every night.
Get started: 60 days free, then $99 a month per location. No card required. The RestaurantMate device has a $300 refundable deposit, and one device covers up to two locations. If a vendor you use is not connected yet, we build the connection for you, usually within days. You can also try the live demo first.