Home / Help Center / pos-app-restaurant / rest-kitchen / Recipes
🍲 rest-kitchen

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.

📍 Menu path: Kitchen Operations → Recipes
👤 Who uses it: All roles with the Billing feature enabled

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

Step-by-Step Guide

1 Create a new recipe

  1. Open Kitchen Operations → Recipes and click "New Recipe".
  2. 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).
  3. 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.
  4. 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

  1. Switch to the "Method & Steps" tab and write out numbered preparation steps.
  2. 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

  1. 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.
  2. 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

  1. Edit a recipe and add a Change Note describing what changed before saving — this creates a version entry.
  2. 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).
  3. 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 / ButtonWhat it does
Servings / Yield Qty / Yield UnitServings 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 / UnitUsed 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 / TagsAllergens 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 HistoryAn optional note saved with each edit; the Version History panel lists every saved version with its note, date and a Restore action.
Active / ArchivedArchived 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

Troubleshooting & FAQ

The Gross Margin % is not showing.
It requires at least one ingredient with a cost per unit greater than 0, and a Selling Price / Unit greater than 0 — if either is missing, the margin cannot be calculated.
I restored an old version but it created a new version instead of just reverting.
That is by design — Restore takes a past snapshot and saves it as a brand-new version on top of the current one, so the full history (including the version you restored from) is preserved rather than lost.
A sub-recipe link disappeared after I renamed the underlying recipe.
The link itself (subRecipeId) still points to the correct recipe; only the cached subRecipeName label may look stale until you reopen and resave the parent recipe.