Any action taken on an ingredient that changes its yield or its weight-to-volume equivalency from the original raw state.
{editing?<>
Prep Action
Yield %
Weight
Volume
Each
{prepDisplay.map(x=>
%
{[x.weight,x.volume,x.each].map(value=>
)}
)}
Use 100% for no change, 80% for trim or cooking loss, or 250% when cooking produces 2.5 times the original weight. Select Weight, Volume, or Each to define its equivalency.
>:prep.length?
Prep Action
Yield %
Weight
Volume
Each
{prepDisplay.map(x=>
{x.name}{x.notes&&{x.notes}}
{number(x.yield_factor*100)}%
{x.weight}
{x.volume}
{x.each}
)}
:
No prep actions defined.
}
-
Additional Details
{editing?:<>Recipes On {usedIn.length}{usedIn.length?
Any action taken on an ingredient that changes its yield or its weight-to-volume equivalency from the original raw state.
+ {editing ? (
+ <>
+
+
+
+
+
+
Prep Action
+
Yield %
+
Weight
+
Volume
+
Each
+
+
+
+
+ {prepDisplay.map(x => (
+
+
+
+
+
+
+
+
+ %
+
+
+ {[x.weight, x.volume, x.each].map(value => (
+
+
+
+ ))}
+
+
+
+
+ ))}
+
+
+
+
Use 100% for no change, 80% for trim or cooking loss, or 250% when cooking produces 2.5 times the original weight. Select Weight, Volume, or Each to define its equivalency.
+ >
+ ) : prep.length ? (
+
+
+
+
Prep Action
+
Yield %
+
Weight
+
Volume
+
Each
+
+
+
+ {prepDisplay.map(x => (
+
+
{x.name}{x.notes && {x.notes}}
+
{number(x.yield_factor * 100)}%
+
{x.weight}
+
{x.volume}
+
{x.each}
+
+ ))}
+
+
+ ) : (
+
This ingredient currently has no prep actions. Edit ingredient to add prep actions.
+ If you would like to use this recipe by weight, volume, and even by the portion - you can customize that here.
+
+
+
+ For example, if your recipe yields 1 quart, weighs 850 grams, and each portion is 85 grams, toggle off the standard conversion and enter '850 grams = 1 quart = 10 portions'.
+
+
+
+
+
+
+
+ Standard Weight - Volume Conversion
+ When toggled on, conversions are locked to 8oz = 1 cup. Toggle off to customize.
+
+ {unresolved
+ ? "All candidate products have been reviewed! Uncheck 'Unresolved only' to inspect past decisions."
+ : "No products matched your search query."}
+
1× produces {number(yieldQuantity)} {units[yieldUnitId]?.symbol??yieldUnitId} finished yield. Changing the multiplier, finished yield, or any ingredient amount scales the entire recipe.
(event.currentTarget as HTMLInputElement).select()} onClick={(event) => (event.currentTarget as HTMLInputElement).select()} onInput={(event)=>{const canonicalQuantity=convertItem(Number(event.currentTarget.value),displayUnitId,item.amount.unit_id,item,units);setFactor(item.amount.quantity>0?canonicalQuantity/item.amount.quantity:1)}}/>{item.label}
+ {Math.round(cost.completeness * 100)}% priced
+ {cost.completeness < 1 && (
+
+
+
+ There is not enough information to calculate cost. Please verify the below:
+
+
This recipe and all its sub-recipes must include Total Yield
+
All ingredients in this recipe and its sub-recipes must be defined
+
All ingredients in this recipe and its sub-recipes must have a purchase cost
+
All ingredients in this recipe and its sub-recipes must have the needed unit conversion to convert from the unit in the recipe to the purchase unit
+
If this recipe exists in multiple concepts or locations, there is a cost at each concept/location
+ {cost.completeness < 1 && (
+
+
+
+ There is not enough information to calculate cost. Please verify the below:
+
+
This recipe and all its sub-recipes must include Total Yield
+
All ingredients in this recipe and its sub-recipes must be defined
+
All ingredients in this recipe and its sub-recipes must have a purchase cost
+
All ingredients in this recipe and its sub-recipes must have the needed unit conversion to convert from the unit in the recipe to the purchase unit
+
If this recipe exists in multiple concepts or locations, there is a cost at each concept/location
+
+
+
+ )}
+
+
{editable?"Update an ingredient’s shared purchase cost here. The change is reflected in every recipe that uses it.":"Ingredient and sub-recipe costs used to calculate this recipe."}
+
+
+
+ Ingredient / Sub-Recipe ( | )
+
+ Cost
+
+
+ {cost.lines.map((line)=>(
+
+ ))}
+
+
+
Total Yield{yieldQuantity!=null?number(yieldQuantity*factor):"—"} {yieldUnit}
+
Total Cost{cost.batch!=null?money.format(cost.batch*factor):"—"}
+
Cost Per {yieldUnit.toUpperCase()}:{cost.batch!=null&&yieldQuantity?money.format(cost.batch/yieldQuantity):"—"}
+ {cost.perServing!=null&&
Cost Per Serving{money.format(cost.perServing)}
}
+
+ {cost.completeness<1&&
Partial estimate; unpriced ingredients are excluded. {Math.round(cost.completeness*100)}% of ingredient weight is priced.