Skip to main content

Recipe Costing Playbook

Updated today

Costing Essentials: A Complete Guide to Costing Your Recipes

This guide walks you through the essential steps required to set up accurate recipe costing inside opsi. Follow these steps in order to ensure you calculate your food and beverage costs correctly.

During this process, it is important to define certain common opsi terms:

  • Ingredients in opsi are either Items or Component Recipes.

  • Items are the individual raw ingredients used inside recipes. These are what you take inventory counts of in opsi and represent the general products used in your location. Ex: Cheddar Cheese

  • Component Recipes are recipes you prepare in house using purchased ingredients. Component Recipes can be turned into Inventory Items, allowing you to take inventory on these recipes.
    Ex: sauces, batch prepped drinks, marinades, fry batters, spice mixes etc.

  • Vendor Items are the purchasable variants of those ingredients — the products, pack sizes, and pricing you buy from vendors that are mapped to your Items.
    Ex: 3lb Sharp Cheddar Block from Luna Dairy

The distinction between Items and Vendor Items is important because you may purchase a product from multiple vendors, resulting in multiple Vendor Items which are all mapped to a singular Item in opsi. Items must be mapped to Vendor Items so opsi can calculate cost-per-unit and each recipe’s total cost.

Ex: Item “Cheddar Cheese” is used in the recipe “Mac & Cheese” and the item is mapped to both Vendor Items “3lb Sharp Cheddar Block” from Luna Dairy and “Block Cheddar, 3lb” from Restaurant Supply. Opsi will track those costing changes over time and continually adjust the cost per serving for your “Mac & Cheese” recipe.

Recipes cannot be fully costed until every ingredient in the recipe has:

  • A mapped Vendor Item with correct purchase and pack size data

  • A cost per unit

  • Correct conversions or prep yields (when needed)

Once all of this is in place, opsi automatically calculates each recipe's cost and keeps it up-to-date as your vendor pricing changes.


Step 1: Create Your Recipes

Before you can cost anything, you need your recipes built in opsi. Recipes form the foundation of the costing process.

The goal of this step is to build out your recipes and simultaneously create the Items those recipes require. As you add ingredients to recipes, opsi automatically creates those ingredients as Items (excluding component recipes) in your account.

If you’re also using opsi invoice processing, invoices will create items for you as vendor products are extracted - and those vendor items will be automatically mapped to the correct items whenever possible. It’s completely fine to upload invoices (see step 2 below) while you're building recipes. Any vendor items extracted from invoices will either:

  • map to the items you’ve already created through your recipes, or

  • generate new items if they don’t yet exist

Both processes work together to build a complete items list that supports accurate recipe costing.

What you’ll do:

  • Create all the recipes you want to cost (food, beverage, component recipes, batches, etc.)

  • Add ingredients (items and component recipes) to each recipe

  • Define the quantity and unit for each ingredient

  • Add any prep notes or procedures needed for your kitchen workflow

  • Set a recipe yield on all component recipes so opsi can calculate cost per portion

Why this step matters

  • Recipes define what needs to be costed

  • Ingredients added in recipes automatically become Items in your opsi account (excluding component recipes)

  • The recipe tells opsi which ingredients to calculate costs for, and in what amounts

  • A yield must exist on component recipes so opsi knows how to calculate your cost per batch and cost per serving

Tip: Use as many “Opsi Items” as possible while creating your recipe. Many of these items come pre-defined with conversions, like weight to volume conversions, that will help make costing quicker.

Resources:


Step 2: Map Items to Vendor Items (Required for Costing)

Recipe costing requires a cost per ingredient, and the only way to establish that cost is by mapping Items to Vendor Items to attach purchase information.

Vendor Items contain information like:

  • Item code

  • Vendor item name

  • Packaging unit

  • Inner pack quantity / unit

  • Unit quantity

  • Unit of measurement

  • Price

Why this step is critical:

Without vendor item mapping:

  • Ingredient (item) costs show as $0

  • Recipes cannot calculate accurately

  • The platform has no way to convert purchased units → usable units in recipes

There are two methods to map your items

Method A: Invoice Processing (Recommended)

Our invoice processing team extracts and creates vendor items for you and maps them to your items.

Why we recommend this:

  • 100% automated extraction

  • Eliminates manual data entry

  • All vendor → item mapping handled for you

  • Ensures accurate pack size and pricing information

Resources:

Method B: Manual Mapping (If uploading vendor items yourself)

If you manually create vendor items, you will need to map each vendor item to its corresponding item.

What you’ll do:

  • Compile and upload your vendor items list

  • Map each vendor item to the correct opsi Item

  • Confirm pack size fields (packaging unit, unit qty, inner pack qty, etc.)

  • Confirm prices

Important tip: If importing vendor items using the catalog import method, be sure to adhere exactly to the opsi template formatting to avoid import errors.

Resources:


Step 3: Add Conversions, Prep Methods & Yields (When Needed)

Some ingredients cannot be used 1:1 from the pack size you purchase. For example:

  • You buy a 50 lb bag of onions, but your recipe uses 1 cup diced onions

  • You buy a 1 gallon jug of soy sauce, but your recipe uses 20 grams

To correctly calculate costs, you may need:

  • Item Conversions (bag -> cup)

  • Prep Method yields

  • Fabrication or trimming yields

When you need conversions or yields:

  • When the unit in the recipe is a different unit vertical from the purchase unit. Opsi can automatically convert weight to weight (e.g., “Gram” to “Ounce”) and volume to volume (e.g., “Cup” to “Fluid Ounce”) units, but not across unit verticals (e.g., “Pint” to “Gram”) without conversions.

    • Many opsi items come with pre-defined conversions that are used for this purpose

  • When trimming/waste affects usable yield

  • When prep transforms an item (e.g., whole pepper → diced pepper)

  • When a recipe calls for volume but the vendor item is weight (and vice versa)

Resources:


Step 4: Verify Each Ingredient in the Recipe Has a Cost Per Unit

Once vendor items and conversions are set up, you need to verify that each ingredient in each recipe now shows a usable cost.

This requires:

  • Correct vendor mapping

  • Correct pack size fields

  • Correct conversions (if applicable)

A good sanity check:

  • Go into any recipe and look at the value under the “Cost” field. If the value is orange it indicates there are ingredients not costing properly. A green value indicates costing is coming through. Use the “i” icon next to each orange ingredient to see what the issue is.

  • Ensure the cost per unit is populated and makes sense

  • You can also use the “Recipe Costing Status” report in Insights to see an overview of all recipes and ingredients not costing properly

If an ingredient shows as orange, it means either:

  • Missing quantity or unit defined on the ingredient within the recipe

  • Or no vendor item (purchase information) is mapped

  • Or the mapped vendor item has incomplete data

  • Or the recipe’s unit cannot be converted from the vendor purchase unit / pack size

Resources:


Step 5: Analyze and Maintain Your Costing Data

What happens automatically:

  • opsi calculates the cost of each ingredient based on your recipes' quantity & unit

  • Aggregates all ingredient costs

  • Generates the recipe's total cost

  • Provides a Food Cost Percent (FCP) and profit (if “Price on Menu” is set)

  • Automatically updates costs when your vendor prices change (dynamic costing)

Once all recipes are costed, keep costs accurate by:

  • Uploading invoices regularly

  • Keeping vendor item mappings up-to-date

  • Updating conversions when procedures change

  • Reviewing flagged items with missing data

opsi will:

  • Auto-update pricing as new invoices are processed

  • Recalculate recipe costs instantly

  • Indicate to you which ingredients require attention


Step 5: Recipe Reporting

Now that your recipes costs are set up, you can monitor important analytics in your “Recipes” insights.

  • Recipe Cost Summary: a report showing an overview of all your recipe costs with profits, food cost percentages, and margins

  • Theoretical FCP: a report, filtered by menus created within opsi, showing how your recipes stack against a desired target FCP. If recipes aren’t reaching the desired target then a suggested Price on Menu will be displayed

  • Recipe Cost Activity: a report, based on a specified date range, showing how each recipes’ cost fluctuates based on price swings. This report requires you to be using the invoice processing feature.

  • POS Velocity by Item: a report showing an overview of all your recipe costs with profits, food cost percentages, margins, and associated sales and revenue numbers. This report requires you to be using a valid POS integration with your recipes properly mapped to your POS menu items and modifiers.

Optional Next Step: Turn Recipes Into Inventory Items

If you plan to:

  • Track batches

  • Track prep items

  • Count finished goods

  • Run actual vs theoretical usage

…you may want to convert certain recipes into inventory items after costing is complete.

This step becomes part of your inventory management workflow.

Resources:


Need Help?

If you get stuck, the opsi support team is here to help:

Did this answer your question?