Food cost

Restaurant Recipe Library: How to Build a Costed One for a New Menu

Build a costed recipe library for a new menu - Supy

What Goes Into a Recipe That Controls Its Own Cost

A recipe library controls cost when each recipe carries more than a name and a method. Every dish needs its ingredients with portion sizes, the prep and cooking wastage on each item, the yield it produces, and a target cost to hit. Capture those at build time and the library becomes your food-cost backbone, not a digital binder.

Most teams launching a new menu start from the method and add cost later. That is backwards. Build a recipe and its prep recipes with quantities, wastage and a cost centre from the first save. Then every dish is costed the moment it exists.

The kitchen view and the finance view of the same recipe then stay in step. Structure it once and you never re-enter a dish just to answer a cost question.

Recipe fieldWhat to capture at build timeWhy it drives cost
Ingredients and portionsEach item with its exact portion, in the unit you buy or prep inPortion size is the biggest lever on plate cost
Prep and cooking wastageThe percentage lost to trim, shrinkage and cookingIgnore it and you understate cost on every serving
YieldHow many portions the built recipe actually producesA wrong yield throws off cost per plate and ordering
Target costThe food cost the finished dish is expected to hitTurns the recipe into an alert when reality drifts
Cost centre and branchesWhere it is costed and which sites can use itKeeps one recipe accurate across every location


Build the Library Fast by Cloning, Not Retyping

A new-menu build rarely stalls on the thinking. It stalls on the effort of entering a large volume of dishes at once. That is why recipe setup so often becomes the real go-live blocker. The fix is to stop building each recipe from a blank form.

Take a recipe close to the new dish. Clone it as a starting point. Then adjust the ingredients, portions and target cost. You keep the structure and the wastage assumptions, and change only what is different.

The same instinct applies to the whole menu. Do not switch dishes one at a time. Activate the new recipes and retire the old ones in one bulk action. Clone to build each recipe; bulk actions to swap the set.

The fast build path for a recipe: clone an existing recipe, adjust ingredients and portions, assign branches, set a target cost, then activate in bulk


Run One Library Across Every Branch

A common launch mistake is to rebuild the same menu separately for each site. That leaves a different version of every dish per location. The cost numbers drift apart within weeks. Build the menu once as a single shared library instead.

Then set, per recipe, which branches can use it. Mark which of those branches actually produce it. Availability and production are controlled per site, without cloning the dish for each one.

Opening a new outlet works the same way. When you add the location, choose to include the existing recipes. The costed library comes across with it. The new site starts fully costed rather than rebuilt by hand.

One shared recipe library serving every outlet in a multi-site group, with availability and production set per branch


Model Prep and Semi-Finished Items for a Central Kitchen

Not every entry in the library is a plated dish. A central kitchen often turns a raw commodity into a component that branches use. That component is a recipe too. Build it as a stockable semi-finished recipe.

Its production is then tracked as a real event. It depletes the raw input and feeds cost and stock into every downstream branch dish. Skip this and the transformation goes uncosted. Branch recipes then understate what they actually consume.

Deciding what counts as a semi-finished item is its own small discipline. So is deciding how its cost should flow. There is a fuller treatment of finished versus semi-finished recipes in a central kitchen worth reading first. The principle is simple: capture the component once, centrally, and let branch recipes inherit its cost.

How a central-kitchen item flows to every branch: a raw commodity becomes a semi-finished recipe, whose production depletes stock and feeds cost into branch recipes


Keep the Library Clean When the Menu Changes

A recipe library is not a one-time build. You maintain it every time the menu turns over. Two habits keep it clean.

First, retire dishes in bulk as you activate the new ones. The live library then shows only what is on sale. Second, know the order of operations for ingredients. An ingredient cannot be archived while a recipe still links to it. Remove or replace it in those recipes first, then archive the item.

The payoff is speed at the next changeover. When the structure is already right, swapping a menu is a set of bulk actions. It takes minutes, not hours of re-entry.

Menu changeover time compared: re-entering recipes by hand versus cloning and using bulk activate and archive


Where to Start This Week

Pick the section of the new menu you know best. Build one recipe there properly, end to end: ingredients with portions, wastage, yield, a target cost and the branches that will run it. That single recipe becomes the template you clone for the rest. Get the structure right once and it carries through the whole library.

Before you build in bulk, decide which items are central-kitchen semi-finished components. Getting those in first keeps every branch dish costed accurately from day one.

You do not have to build this blind. The fastest way to see it on your own menu is to walk one live dish through it. Do it with someone who has set up a multi-site library before.

Book a Demo with Supy - build a costed recipe library for your new menu

Ready to optimize your restaurant operations?

Blog

Our operational insights

No items found.

Your questions 
answered

Everything you need to know about Supy — from setup to integrations, pricing, and daily use. If it’s not covered here, just ask.

How do you build a restaurant recipe library quickly for a new menu?
+

Start from what you already have rather than a blank form. Find a recipe close to the new dish, clone it, then change only the ingredients, portions and target cost that differ. Cloning keeps the structure and wastage assumptions you have already set. For the whole menu, activate the new recipes and archive the old ones in a single bulk action instead of switching dishes one at a time. Cloning to build each recipe, and using bulk actions to swap the set, is what lets a costed library go live fast.

What should each recipe include to keep food cost under control?
+

Each recipe needs more than a name and a method. Capture the ingredient list with exact portion sizes, the prep and cooking wastage on each item, the yield the dish produces, and a target food cost for the finished plate. Portion size is the single biggest lever on plate cost, and wastage is the figure most often left out. Add a cost centre and the branches that can use the recipe so it stays accurate across locations. Build these in from the first save and every dish is costed the moment it exists.

Can one recipe library serve every branch in a group?
+

Yes. Rather than rebuilding the same menu per site, you maintain one shared library and set, per recipe, which branches can use it and which of those branches actually produce it. Availability and production are controlled per location, without cloning the dish for each one. When you open a new outlet, you can include the existing recipes so the site starts with the full costed library already in place. One library keeps the cost of every dish consistent across the group, instead of versions that drift apart within weeks.

How do you set up recipes for a new outlet without rebuilding them?
+

When you add the location, choose to include the existing recipes during setup. The costed library copies across to the new outlet, so it starts fully priced rather than being rebuilt recipe by recipe by hand. From there you set which of the shared recipes are available and produced at that specific site. This turns a new-site launch from a full manual build into a copy-and-adjust job, which is where most of the time on a multi-site rollout is otherwise lost.

What is a semi-finished recipe, and when do you need one?
+

A semi-finished recipe is a component a central kitchen produces from a raw commodity and then uses across branch dishes, such as a base sauce or a processed ingredient. You need one whenever a transformation happens centrally before the item reaches a plated recipe. Building it as a stockable semi-finished recipe means its production is tracked as a real event that depletes the raw input and passes true cost and stock down to every branch recipe. Skip it and the transformation goes uncosted, so branch dishes understate what they actually consume.

Why can you not archive an ingredient that is still used in recipes?
+

An ingredient item cannot be archived while any recipe still links to it, because archiving it would leave those recipes pointing at something that no longer exists. The order of operations matters: first remove or replace the ingredient in every recipe that uses it, then archive the item. It is a deliberate safeguard, not a fault. Following that order keeps a large library free of dead links and keeps every affected recipe costed correctly, which is what makes the library something the kitchen and finance teams can both trust.

How do you change a whole menu without editing recipes one by one?
+

Use bulk actions at changeover instead of editing dishes individually. Activate the batch of new recipes and archive the outgoing ones in a single action, so the live library only ever shows what is on sale. Because you built each new recipe by cloning a close existing one, the structure is already right, and the swap is a set of bulk actions rather than hours of re-entry. Keeping the library clean this way is what makes each future menu change fast, rather than repeating the manual effort of the first build.

Ready to transform your operations?

Join 3500+ restaurant operators cutting costs, streamlining operations and making smarter decisions with Supy.