A recipe is a list of ingredients with quantities per portion: how much leaves stock for one latte or one bowl of pho. If the venue keeps stock, a confirmed order deducts the balances exactly by its recipes.
Fill it in and you get things that simply don't exist otherwise:
{success} You can fill it in gradually: the system honestly shows which share of revenue is already counted and which isn't. One popular dish a week, and in a month the picture comes together.
The Ingredients tab in the menu editor is the venue's product library. The recipe itself lives in the dish card, in the Recipe block: "how much leaves stock per portion".
An ingredient has three fields: Name, Unit (g, ml, pc, can or bag) and Purchase price — per kilogram, litre, piece, can or bag respectively.
One unit per ingredient: stock is deducted in exactly that unit. The system can't convert pieces into grams — if an egg is easier to count in grams, create it in grams from the start.
A can or a bag is for what leaves whole: a can of beer, a tea bag. The recipe of such a dish says "1 can", and if the venue keeps stock, every sale takes one whole can off it — see stock units.
{info} The price is optional. Without it the ingredient still joins the recipe (portioning for the kitchen keeps working), but it stays out of the cost.
{warning} Changing the unit of an ingredient that already sits in recipes does not rescale the quantities — the dialog warns about this. Check the recipes of those dishes after such an edit. An ingredient linked to stock has its unit locked: stock counts it in exactly that unit. If you buy by the piece what a recipe deducts in grams, don't unlink the ingredient — set the pack weight on the stock item instead (stock units). Unlink from stock in the ingredient dialog stops the deduction: once you save, the dish's sales no longer reduce the balance. To restore or change the link, use Link to stock in the same place.
In the dish card: Add ingredient → search the library. If the product isn't there yet, you can create it right from here — it will appear in the shared library.
Every line is an ingredient and a quantity per portion. At the bottom you see the raw total and, when prices are set, the cost with the food cost.
{info} Raw total adds grams and millilitres into one number and shows it as grams; piece items are not part of that weight. The quantity must be above zero — a line with zero won't let the dish save.
At the top of the Ingredients tab sits the Cost settings block — three numbers.
For the whole venue — two targets, the same for every menu:
For this menu — Seasoning & other, %: a surcharge on the cost of every dish for what nobody writes into a recipe — salt, oil, herbs. A bar list may carry none, so each menu has its own.
Save writes what has changed. An empty field means "no target": dishes are then compared with nothing. A target changed from any menu is changed for the whole venue — the next menu shows the same number.
The target shows in the dish card under the food cost: "target 35 %". A dish above target is highlighted, and next to it stands the price it has to sell for to meet the target: "to meet the target: from 86.000 ₫". A dish that counts as alcohol is compared with the alcohol cost target, everything else with the food cost target. The same targets stand in analytics.
{info} If the recipes came from Excel, the targets and the surcharge are already there: they were read from the file. The alcohol cost target comes from the rows of the dishes the menu counts as alcohol. When the file states one number on every row, the bar gets that same number — correct it here if the bar's norm is another.
{info} The targets are set by whoever edits the menu: the "Restaurant settings" right is not needed for it.
Modifier options have their own recipes, and they work differently:
{warning} Two frequent mistakes: copying the whole recipe into a variant "just in case" (it cancels the dish recipe, and the base ingredients are lost), and putting the full recipe into an add-on (you get double consumption).
Coverage is the share of the period's revenue that came from dishes with a filled-in recipe. All the cost figures describe exactly that part, not the whole revenue — so the food cost isn't "diluted" by dishes without a recipe.
If some ingredients have no purchase price, analytics says so too, on a separate line.
Cost is never "frozen" anywhere: it is always computed from the current recipes and prices. A supplier raised a price — update it on the ingredient, and every dish with it shows the new cost right away.
{warning} The flip side: figures for past periods are recalculated as well. Revenue doesn't change — it is recorded in the order. If you need a "snapshot" of the food cost for a particular month, save it yourself.
Recipes also show in the staff menu (Menu for the cook and the waiter): a dish card shows the composition and the amount per portion. The money there comes in two parts.