Restaurant Inventory and Food Cost: How to Calculate It Weekly

October 21, 2026 · 6 min read

Food cost percentage is only as good as the inventory count behind it. This is a weekly routine — count, purchases, sales, formula — that a small kitchen can actually keep up with.

Food cost percentage is the number most restaurant owners say they watch, and the one many only calculate when the accountant sends the monthly P&L. By then a problem — a supplier price increase, a cook over-portioning, product dying in the walk-in — has had four weeks to grow. Calculating it weekly turns food cost from a report card into something you can steer.

This guide covers the formula, a worked example, the counting routine that makes the formula reliable, and the three habits that move the number: par levels, FIFO rotation and a waste log.

The food cost formula

Actual food cost for a period is what you started with, plus what you bought, minus what you have left. Divide that by food sales for the same period:

Cost of food used = Beginning inventory + Purchases − Ending inventory
Food cost %       = Cost of food used ÷ Food sales

In Excel (B = beginning, C = purchases, D = ending, E = food sales):
F2:  =B2+C2-D2
G2:  =IF(E2=0,"",F2/E2)     (format G as a percentage)

A few definitions matter here:

  • Beginning inventory is last week's ending inventory, at cost. Do not recount it.
  • Purchases are food invoices for product received during the week — not the date you paid them. Leave out non-food items like to-go containers, cleaning supplies and smallwares.
  • Ending inventory is this week's count, valued at what you paid, not menu price.
  • Food sales are net food sales from your POS — excluding beverage and alcohol, sales tax and tips.
Keep food and beverage separate

If you sell alcohol, calculate beverage cost on its own using the same formula with bar inventory, bar purchases and bar sales. Mixing them hides problems on both sides, because beverage and food usually run at very different cost percentages.

A worked weekly example

Here are four weeks for a small restaurant. Each week's beginning inventory is the previous week's ending count.

WeekBeginning Inv.PurchasesEnding Inv.Food UsedFood SalesFood Cost %
Oct 5$8,400$6,200$7,900$6,700$22,30030.0%
Oct 12$7,900$7,050$8,150$6,800$22,90029.7%
Oct 19$8,150$6,900$7,300$7,750$23,10033.5%
Oct 26$7,300$6,450$7,600$6,150$21,00029.3%

The week of Oct 19 jumps almost four points. Because you caught it within days, you can still ask useful questions: Did a protein price go up on that week's invoice? Was there a large catering order priced too low? Was something thrown out? Did the count miss a shelf? A monthly number would have blended this week into a slightly-high average.

Note that a single week can swing because of timing — a big delivery on Saturday that has not been used yet raises ending inventory and lowers food cost for that week, then the effect reverses. Watch a rolling four-week figure alongside the weekly one:

Rolling 4-week food cost % (row 5 onward):
=SUM(F2:F5)/SUM(E2:E5)

The weekly count routine

The formula is simple; the count is where kitchens struggle. A routine that holds up in a busy restaurant:

  1. Same day, same time. Count after close on the last day of your week, before any delivery the next morning. Consistency matters more than which day you choose.
  2. Same people. One or two people who know the product. Rotating counters introduces new mistakes every week.
  3. Shelf-to-sheet order. Arrange the count sheet in the physical order of the walk-in, reach-ins, dry storage and freezer, so the counter walks one path and never jumps around.
  4. Count in purchase units. If you buy chicken by the 40 lb case, count in cases with decimals (2.25 cases), not in pieces. Your unit cost then comes straight from the invoice.
  5. Skip what you do not need. Spices and condiments that cost very little can be counted monthly. Spend the time on proteins, dairy, produce and anything expensive.

Valuing the count is easier when your unit costs are current. If invoices are on paper, the invoice to inventory spreadsheet converter turns a photo of each delivery invoice into rows of item, qty received, unit, unit cost and line total, so purchases for the week are a SUM and your latest unit costs are a copy-paste away.

The free restaurant inventory template is laid out for this: storage area, item, unit, unit cost, on-hand count, extended value and par level, with the totals already summed.

Par levels: order to a target, not a feeling

A par level is the amount of an item you want on hand after a delivery arrives, enough to get you to the next delivery plus a small cushion. Ordering to par stops two expensive habits: over-ordering perishables that spoil, and under-ordering staples that force a run to a retail store at retail prices.

Par level     = Average usage per day × Days until next delivery + Cushion
Order qty     = MAX(0, Par level − On hand)

In Excel (C = daily usage, D = days between deliveries, E = cushion, F = on hand):
G2 (par):     =ROUNDUP(C2*D2+E2,0)
H2 (order):   =MAX(0,G2-F2)

Example: you use about 1.5 cases of romaine a day, produce comes every 3 days, and you keep half a case as a cushion. Par is 1.5 × 3 + 0.5 = 5 cases. If you count 2 cases on order day, order 3. Revisit pars when the menu changes or seasons shift, because usage changes with them.

FIFO: use the oldest product first

First in, first out means older product is used before newer product. In practice:

  • Date-label everything at receiving and when prepped.
  • Put new deliveries behind or under existing stock, never in front.
  • Keep the same item in one place so there is only one "front".
  • Check dates during the weekly count and move anything close to its date onto a use-first shelf or into a special.

If you track dates in a spreadsheet, an expiry countdown column makes the use-first list automatic:

Days left (J2):  =IF(I2="","",I2-TODAY())
Conditional formatting rule for the row: =AND($J2<>"",$J2<=2)  → fill red

Why food cost jumps: a quick checklist

When the weekly number moves more than a point or two, work through these in order. The first three are measurement problems, not kitchen problems, and they are the most common.

  1. Invoices in the wrong week. A delivery received Sunday but entered Monday shifts cost between weeks. Match purchases to the delivery date.
  2. Count errors. A missed shelf in the freezer lowers ending inventory and inflates food cost. Compare this week's count by storage area with last week's.
  3. Non-food items in purchases. Paper goods or cleaning supplies on a food invoice should be split out.
  4. Price increases. Compare unit costs on this week's invoices with last month's for your top 10 items by spend.
  5. Sales mix. Selling more of a high-cost dish and less of a low-cost one raises food cost even if nothing went wrong.
  6. Waste, portioning and comps. If the first five check out, the cause is in the kitchen — which is where the waste log comes in.

For the price check, line-item data makes it fast. Our guide to extracting line items from invoices shows how to get every item and unit price into one sheet so you can compare suppliers week over week.

The waste log: the missing half of food cost

When food cost rises, the count tells you that it happened. A waste log tells you why. Keep a clipboard or a shared sheet by the trash and dish area, and ask staff to record anything thrown away:

DateItemQtyUnitReasonEst. costInitials
Oct 20Salmon fillet3lbPast date$38.70JM
Oct 20Fries2lbDropped$2.10AK
Oct 21Burger patty4eaCooked wrong temp$7.60JM

Use a short fixed list of reasons — spoiled, past date, overproduction, dropped/burned, returned by guest, staff meal — so you can total by reason with a pivot table or SUMIFS:

Waste $ by reason:  =SUMIFS(Waste[Est. cost],Waste[Reason],"Past date",Waste[Date],">="&$B$1)

If "past date" dominates, your pars are too high or rotation is slipping. If "overproduction" dominates, prep lists need adjusting. That is how a percentage on a report turns into a specific fix.

Free restaurant inventory template

Storage-area layout, par levels, extended value and reorder flags, ready for your weekly count. Download it and plug in your items.

Get the restaurant template

Other templates for food businesses

Bakeries and cafes have different storage and usage patterns. The bakery inventory template and coffee shop inventory template use the same food cost logic with item lists suited to flour, dairy, beans and packaging, and the bar and liquor inventory template handles partial bottles for beverage cost. If your count keeps turning up gaps you cannot explain, our step-by-step guide on how to do an inventory count covers variance investigation in detail.

Frequently asked questions

What is a good food cost percentage for a restaurant?

It depends heavily on concept, menu and pricing, so there is no single right number. The most useful benchmark is your own: set a target based on your menu costing and watch whether your weekly actual stays close to it.

Should I use invoice date or delivery date for purchases?

Use the date the product was received, so purchases land in the same week as the inventory they affect. Payment date is irrelevant to food cost.

What is the difference between theoretical and actual food cost?

Theoretical food cost is what your food should have cost based on recipe costs and items sold. Actual food cost comes from the inventory formula. The gap between them points to waste, over-portioning, theft or pricing errors.

Do I need to count every item every week?

No. Count high-cost and perishable items weekly and low-cost shelf-stable items monthly. As long as you are consistent, the weekly number will be reliable enough to act on.

Keep reading