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:
Navigating recipes (video - recommended)
Creating and editing recipes (video - recommended)
Recipes overview (article)
Creating recipes and ingredients (article)
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:
Understanding invoice processing (video - recommended)
Upload invoices (video - recommended)
Understanding vendor item fields (video - recommended)
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:
Adding vendors (article) - recommended
Adding or importing vendor items (article) - recommended
Managing vendor items (article) - recommended
Managing vendors (video)
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:
Understanding item conversions, prep methods and yields (video -recommended)
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:
Recipe costing troubleshooting and tips (video - recommended)
Costing your recipes (article)
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:
Create an inventory item from a recipe (video - recommended)
Need Help?
If you get stuck, the opsi support team is here to help:
