Recipes
Recipes is the master recipe book for dishes on your menu — ingredients (optionally linked to products for live cost sync), preparation method steps, yield, nutrition info, allergens and a live cost/margin calculation against your selling price. This is the exact same Recipes feature used by the bakery variant, not a restaurant-only screen.
Overview
This is the generic FnbRecipesPage shared across variants — recipes created here also power the Recipe Profitability, Food Cost Report, Production Schedule and Ingredient Auto-86 features, all of which read from the same underlying recipe/recipeIngredient data.
Each ingredient line can be typed as free text, linked to a Product (for automatic cost sync via a "↻ Sync costs" button) or linked to another Recipe as a sub-recipe (shown with a 🔗 icon) for multi-component dishes.
A live costing panel (shown once any ingredient has a cost) calculates Ingredient Cost per batch, Cost per Unit (÷ yield quantity), and Gross Margin % against the Selling Price / Unit you set, colour-coded green/amber/red.
A batch Scaling tool previews ingredient quantities scaled to any multiple of the recipe's yield — for kitchen reference only, it does not save anything.
Every recipe has three tabs: Basics & Ingredients, Method & Steps (free-form numbered steps, with an oven-temp reminder banner if set), and Nutrition (per-serving values).
Editing a recipe with a Change Note creates a version history entry; Version History lets you view past versions and restore any of them (creating a new version, not overwriting).
Recipes can be marked Archived (isActive = false) instead of deleted, hiding them from the default view but keeping their data intact; a "Show archived" toggle reveals them again.
Before You Start
- You must have the Billing feature enabled on your plan.
Step-by-Step Guide
1 Create a new recipe
- Open Kitchen Operations → Recipes and click "New Recipe".
- Fill in Recipe Name (required), Category, Description, Tags, Prep/Cook time, Oven temp, Yield Qty/Unit and Shelf Life (used to auto-calculate expiry on production runs).
- Add ingredients — type a name and either search-link a Product or a Sub-Recipe, or leave it as free text; enter Quantity, Unit and Cost per unit for each line.
- Set Selling Price / Unit to see the live Ingredient Cost, Cost per Unit and Gross Margin % update, then Create Recipe.
2 Write the method and nutrition info
- Switch to the "Method & Steps" tab and write out numbered preparation steps.
- Switch to "Nutrition" and fill in per-serving values (calories, protein, carbs, fat, fiber, sugar, sodium, saturates) if you track them.
3 Scale a batch and print for the kitchen
- With 2 or more ingredients on the recipe, click "Scale" in the ingredients section to preview quantities at any batch multiple — this is a preview only and is not saved.
- Click the printer icon on a recipe card to print a kitchen-ready recipe card with ingredients and method.
4 Edit with version history, and archive old recipes
- Edit a recipe and add a Change Note describing what changed before saving — this creates a version entry.
- Click the history icon on a recipe card to view all past versions and Restore any of them (this creates a fresh version rather than overwriting).
- Toggle "Active"/"Archived" on the edit form instead of deleting a recipe you no longer use but want to keep the history of; use "Show archived" to reveal archived recipes again.
Every Field & Button, Explained
| Field / Button | What it does |
|---|---|
Servings / Yield Qty / Yield Unit | Servings is a headcount; Yield Qty + Unit is the actual batch output (e.g. "12 units") used as the divisor for Cost per Unit. |
Ingredients (name, product/sub-recipe link, qty, unit, cost/unit, notes) | Linking a Product auto-fills its cost price and lets you re-sync later; linking a Sub-Recipe nests another recipe's cost into this one; either link is optional. |
Selling Price / Unit | Used only to calculate Gross Margin % (Selling Price − Cost per Unit) ÷ Selling Price — does not itself set a menu/billing price. |
Shelf Life (days) | Used to auto-calculate an expiry date when this recipe is run through Production Schedule; 0 means no auto-expiry. |
Allergens / Tags | Allergens are a fixed 10-item multi-select shown as red badges on the card; Tags are free-text chips used for search. |
Change Note / Version History | An optional note saved with each edit; the Version History panel lists every saved version with its note, date and a Restore action. |
Active / Archived | Archived recipes are hidden from the default recipe grid (shown faded, with an "Archived" badge, only when "Show archived" is toggled on) but are not deleted. |
Tips & Best Practices
- Link ingredients to actual Products wherever possible — it enables the "↻ Sync costs" button to pull the latest cost price in one click instead of updating each recipe manually when supplier prices change.
- Always leave a Change Note when editing an established recipe — it is the only thing that makes the Version History panel useful when you need to understand or revert a change later.
- Set Shelf Life on every recipe you plan to batch-produce — Production Schedule uses it to auto-fill the expiry date on completed runs, saving a manual step and reducing labeling mistakes.