Skip to main content
Plate-level recipe costing SOP: yield tests, waste factors and a re-calculation workflow for pricing

Plate-level recipe costing SOP: yield tests, waste factors and a re-calculation workflow for pricing

A stepwise costing method with data-capture sheets, a yield-test cadence, and a re-calculation loop that keeps your plate margins honest as prices move

Most kitchens cost a recipe once, plug the number into a spreadsheet, and treat it like scripture for the next two years. Then beef trim yield drops, the salmon vendor quietly shifts from 8oz portions to "market weight," and suddenly the dish everyone thinks earns 71% is actually clearing 58%. Nobody notices until the quarterly P&L comes back soft and the owner starts blaming labor.

The gap between what a plate should cost and what it actually costs today is where restaurant profit quietly leaks. This piece is about closing that gap with a repeatable system — not a one-time costing exercise, but a process that updates itself on a schedule and feeds directly into how you price and purchase.

The costing method most kitchens actually use (and why it drifts)

The pattern is pretty consistent. A restaurant builds recipe cards during opening prep or a menu relaunch. Someone weighs ingredients, pulls invoice prices, calculates a food cost percentage, and moves on. That number becomes the reference point forever.

The problem isn't the math. Plate-level recipe costing for a restaurant is a moving target, and static cards assume the world stops moving. Three things drift constantly:

  1. As-purchased vs. edible-portion yield shifts with product quality and season. A case of romaine in July trims out very differently than the same case in February.
  2. Vendor pricing moves weekly on proteins and produce, sometimes daily.
  3. Actual portioning at the line drifts from the spec, especially when a station gets slammed and the cook stops using the scale.

Any one of these is survivable. Stacked together, they turn a "34% food cost" recipe into a 41% food cost reality without a single visible warning sign.

The core idea: cost in steps, not in one shot

Stepwise costing means you break a plate into its cost components and cost each one on its own cadence, instead of re-costing the entire dish from scratch every time something changes. Each component has its own volatility profile, so each one gets tracked differently.

Think of a plated entrée as four buckets:

Component bucketExampleVolatilityRe-cost cadence
Center-of-plate protein6oz sirloin, salmon filletHigh (price + yield)Weekly
Produce / perishable sidesRoasted vegetables, greensMedium-highBi-weekly
Dry goods / pantryRice, flour, oils, spicesLowQuarterly
Sauces / prep componentsHouse demi, aioli, dressingsMedium (yield-driven)Monthly

You don't need to re-cost the whole menu every week. You need to re-cost the volatile pieces frequently and the stable pieces rarely. That's what makes this sustainable instead of a full-time job.

Data-capture sheets that actually get filled out

Costing systems fail because of friction, not complexity. If the yield-test sheet lives in a binder in the office and requires four fields nobody understands, it won't get done during service. The sheets below are deliberately short.

Yield-test capture sheet (one per protein or high-value item):

  1. Date of test
  2. Item and vendor
  3. As-purchased weight (raw, in)
  4. Trimmed/cleaned weight (out)
  5. Cooked weight (if relevant — for shrink)
  6. Number of usable portions at spec
  7. Notes (quality, unusual trim, size variance)

Portion-audit line sheet (one per station, filled during a shift):

  1. Item
  2. Spec weight
  3. 5 random plated samples, weighed
  4. Average actual weight
  5. Over/under vs. spec

That second sheet is the one people skip, and it's the one that catches the most money. A station running sirloin 0.6oz heavy across a few hundred covers a week is a real number, and you'll never see it on an invoice. If portion drift is a recurring headache, pairing this with a tighter portion-control and test-plate workflow helps — so the spec is documented visually, not just in weight.

Yield-test cadence: how often, and on what

A yield test isn't a once-a-year event, but it also shouldn't be a daily grind that burns out your sous chef. The cadence that holds up in real kitchens looks roughly like this:

  1. Every new vendor delivery of a high-value protein gets a quick yield check on the first case — even just weighing trim on one piece. Two minutes, catches spec changes early.
  2. Full formal yield test on your top 8–10 cost-driving items every 4–6 weeks. These are the items that move your food cost the most, not necessarily your bestsellers.
  3. Seasonal produce re-test at the change of each buying season, because that's when edible-yield swings are largest.
  4. Trigger-based test any time an invoice price jumps more than ~8–10% or a cook flags that "the portions look off."

The pattern worth internalizing: frequency should follow dollars, not menu position. A garnish that appears on every plate but costs pennies doesn't need a yield test. A center-of-plate protein that's 60% of a dish's cost needs one on a schedule.

The re-calculation workflow (this is the part that matters)

Costing data sitting in a spreadsheet doesn't change anything. The value is in the loop that turns fresh yield and price data into an actual pricing or purchasing decision.

Step-by-step re-calculation loop:

  1. Capture — Yield test or portion audit gets logged the same day it happens.
  2. Update the component cost — Only the affected bucket changes. If beef yield dropped, you update the protein line, not the whole card.
  3. Recompute plate cost and margin — The card recalculates once one input changes.
  4. Compare against your margin guardrail — Every dish should have a floor margin you won't cross. Say you've set a 68% target contribution with a 62% floor.
  5. Route to a decision

    - Still above floor → no action, log it. - Between floor and target → flag for menu review, consider a purchasing fix first. - Below floor → immediate decision required: re-spec portion, renegotiate/switch vendor, or re-price.

  6. Feed the outcome back — Update the recipe card, the purchasing par, and the menu price sheet so the next order and the next print reflect reality.

The most common mistake is jumping straight to raising the menu price. Price is the last lever, not the first. In most cases the fix is a portion re-spec or a purchasing change, and re-pricing is what you do when neither works.

A worked example with numbers

Take a grilled salmon plate. Original card:

  1. Salmon

    8oz portion, priced at $12.40/lb as-purchased, assumed 100% yield → about $6.20

  2. Sides + sauce + garnish → about $2.30
  3. Total plate cost

    $8.50, menu price $29, food cost around 29%

Now the yield test on the new delivery tells a different story. The fish is coming in with more skin and belly trim, and the real edible yield is closer to 82%. Same $12.40/lb price, but you're now buying roughly 9.75oz of raw product to plate 8oz. Protein cost climbs to about $7.55.

New plate cost: $9.85. At the same $29 price, food cost jumps to roughly 34% — a 5-point swing on a single dish, invisible on the invoice because the price per pound never changed.

Now run the decision loop. Floor margin says this dish can't go past 33% food cost. Options:

  1. Re-spec to a 7oz portion → plate cost drops back near $8.90, food cost ~31%. Guest barely notices.
  2. Switch to a vendor with cleaner trim → recover 2–3 points.
  3. Raise price to $31 → food cost back to ~32%, but only if the market supports it.

The point of the system is that you found the 5-point leak within a delivery cycle instead of at quarter-end, and you had a structured set of fixes instead of a panic.

A quick visual of the re-calculation loop:

Process diagram

The most common mistake is jumping straight to raising the menu price. Price is the last lever, not the first.

Where this ties into purchasing

Yield data isn't just a costing input — it's a purchasing spec. Once you know real edible yield, your pars and order quantities should be built on usable weight, not case weight. Kitchens that skip this consistently over-order or under-order, and the variance shows up later as either waste or 86'd items.

There's also a shrinkage angle worth mentioning. When your costed portions and your actual usage don't reconcile, the gap isn't always yield — sometimes it's product walking out the back door. Reliable plate costing gives you a clean baseline to compare against, which makes real theft or over-portioning easier to isolate. If your variance numbers feel noisy, a proper cycle-count cadence and variance-threshold process pairs naturally with this costing work — one tells you what a plate should consume, the other tells you what actually left inventory.

When this level of rigor makes sense — and when it doesn't

When it's worth it:

  1. You run center-of-plate proteins that move in price (seafood, beef, specialty cuts).
  2. Your menu prices are relatively fixed and you can't easily re-print, so margin protection has to come from spec and purchasing.
  3. You have enough volume that a few points of food cost is real money.

When it's overkill:

  1. A small café with a stable, low-cost menu — coffee, pastries, a handful of sandwiches — doesn't need weekly protein yield tests. Quarterly is fine.
  2. Pop-ups or heavily rotating menus where nothing stays long enough to drift.

Who should not start here: if you don't have accurate invoice data and consistent recipe specs in the first place, fix that before building a re-calculation loop. A costing system built on messy inputs just gives you confident wrong answers faster.

A short real scenario

A mid-size steakhouse doing roughly 900–1,100 covers a week watched their overall food cost creep from about 31% to just under 35% over two quarters. Nothing on the invoices explained it — vendor prices were within normal range.

Running formal yield tests on their top six proteins surfaced two issues: their ribeye supplier had shifted to a slightly fattier grade with more trim, and the line was plating filets about 0.5oz heavy on average. Neither showed up on a spreadsheet. After re-specing portions to the scale and switching one protein vendor, food cost settled back to around 32% over the following six weeks — a few thousand dollars a month recovered, without touching a single menu price.

The more interesting part wasn't the savings. It was that the owner had assumed the drift was a purchasing-price problem, and it turned out to be a yield-and-portion problem the entire time.

Keeping the system alive

The hardest part of any costing SOP isn't building it — it's keeping it from going stale again. A few habits that keep the loop running:

Assign one owner (usually the sous chef or KM) for the yield-test calendar. Unowned tasks die.

  1. Assign one owner (usually the sous chef or KM) for the yield-test calendar. Unowned tasks die.
  2. Keep the capture sheets short enough to finish in under five minutes.
  3. Review flagged dishes in a standing weekly meeting, not ad hoc.
  4. Re-cost stable pantry items quarterly whether or not anything seems off — that's your safety net for slow price creep.

Kitchen management platforms can carry a fair amount of this weight — auto-recalculating plate cost the moment an invoice price updates, flagging dishes that cross a margin floor, keeping yield history so you can see drift over time instead of guessing. That's genuinely useful once your volume gets high enough that manual recalculation becomes the bottleneck. But the tooling only matters if the underlying discipline is there first: consistent yield tests, honest portion audits, and a decision loop that actually turns the numbers into action.

Get the loop right, and your recipe cards stop being a snapshot from opening day and start reflecting what your plates actually earn — which is the only version worth pricing off of.

Built for Restaurants Tailored management tools for restaurant workflows
Save Time Streamline reservations, orders, and staffing
Delight Customers Faster seating and smoother service experiences
Boost Revenue Maximize table utilization and repeat visits