> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ofatoura.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Batch recipes and batch inventory

> Set up batch recipes for pre-prepared products, run production runs that consume raw ingredients, and track the resulting batch stock with cost and expiry information.

Batch recipes let you model products that are made in advance — sauces, doughs, marinades, pre-portioned proteins — rather than assembled to order. When you run a production batch, oFatoura deducts the raw ingredients from stock and adds the finished quantity as a new batch stock entry. Menu items linked to the recipe draw from that batch stock when orders are placed.

<Note>
  You need the **Show Batch Recipe** permission to access batch recipes and run production. Viewing the resulting stock entries requires the **Show Batch Inventory** permission. Contact your administrator if either section is missing from your menu.
</Note>

***

## Setting up a batch recipe

Go to **Inventory > Batch Recipes** and select **Add recipe**.

<Steps>
  <Step title="Enter basic details">
    Give the recipe a clear name and an optional description. Choose the **yield unit** — this is the unit of measurement for the finished product (for example, litres, kilograms, or portions). The yield unit determines how batch stock is measured and how serving sizes are expressed when you link menu items.
  </Step>

  <Step title="Set default production quantities">
    * **Default batch size** — the quantity you typically produce in one run. This value pre-fills the production form so you don't have to type it every time.
    * **Default expiry days** — how many days a produced batch remains usable. oFatoura uses this to calculate the expiry date automatically when you record a production run. You can override both values at production time.
  </Step>

  <Step title="Add ingredients">
    Add each raw inventory item used in the recipe along with the quantity required per batch. The unit shown next to each ingredient comes from the item's configured unit. You can add as many ingredients as needed and edit quantities at any time.
  </Step>

  <Step title="Link menu items">
    Under the **Linked menu items** section, choose which menu items (and specific variations, if applicable) draw from this batch recipe when an order is placed. For each link, enter the **serving size** — the amount of batch stock consumed per sale of that item. For example, if the recipe yields litres of soup and one bowl of soup uses 0.35 litres, enter 0.35 as the serving size.

    You can link multiple menu items and variations to the same batch recipe.
  </Step>

  <Step title="Save the recipe">
    Select **Save**. The recipe appears in the batch recipes list and is now available for production runs.
  </Step>
</Steps>

***

## Running a production batch

When you are ready to produce a batch, open **Inventory > Batch Recipes**, find the recipe, and select **Produce batch**.

<Steps>
  <Step title="Confirm production details">
    The form pre-fills with the recipe's default batch size and expiry days. Adjust them if this run differs from the default. You can also add notes to record anything relevant about the production run (supplier lot, shift, preparation notes).
  </Step>

  <Step title="Review ingredient consumption">
    oFatoura shows you the exact quantities of each raw ingredient that will be deducted from stock for this batch size. Check that your current stock covers the run before proceeding.
  </Step>

  <Step title="Confirm production">
    Select **Produce**. oFatoura simultaneously:

    * Deducts each ingredient from raw inventory stock.
    * Creates a new batch stock entry with the produced quantity, calculated cost per unit, and the expiry date based on your default expiry days setting.
    * Records who produced the batch and when.
  </Step>
</Steps>

<Warning>
  Production is not reversible from the interface. If you enter the wrong quantity, record a waste adjustment on the batch stock entry or produce a corrective entry and note the reason.
</Warning>

***

## Tracking batch inventory

Go to **Inventory > Batch Inventory** to see all batch stock entries across your recipes.

Each row shows:

| Field              | What it tells you                                              |
| ------------------ | -------------------------------------------------------------- |
| Batch recipe name  | Which recipe this stock came from                              |
| Quantity produced  | The total amount made in that run                              |
| Quantity available | How much remains after menu item sales have consumed it        |
| Cost per unit      | Calculated from the ingredient costs at the time of production |
| Total cost         | Cost per unit × quantity produced                              |
| Status             | Active (stock available) or inactive (fully consumed)          |
| Expiry date        | Date the batch expires, based on production date + expiry days |
| Produced by        | The staff member who ran the batch                             |
| Production date    | When the batch was recorded                                    |

**Filtering and search.** Use the recipe filter to show stock for a single recipe only, or filter by status to focus on active batches. The search field matches recipe names.

**Producing from this view.** You can also start a new production run directly from the Batch Inventory page using the **Produce batch** button — you don't need to navigate back to Batch Recipes.

<Tip>
  Check the **expiry date** column regularly. The Inventory Dashboard highlights items expiring within seven days, but the Batch Inventory list gives you a full picture with exact dates.
</Tip>

***

## How batch stock connects to orders

When a customer orders a menu item that is linked to a batch recipe, oFatoura deducts the configured serving size from the oldest active batch stock entry for that recipe (first-in, first-out). Stock movements linked to batch consumption appear in **Inventory > Inventory Movements** with a batch production reference so you can trace which batch was used.

If batch stock runs out and no active entries remain, the system will flag a stock-out for that recipe. Ensure you schedule production runs before stock is depleted.

***

## Related

* [Inventory dashboard and items](/inventory/dashboard-and-items) — set up the raw inventory items used as ingredients
* [Stock levels, movements, and waste](/inventory/stock-and-movements) — view raw ingredient stock and record adjustments
* [Recipes and ingredient costing](/inventory/recipes) — per-order recipes for items assembled at the time of sale
* [Inventory reports and settings](/inventory/reports-and-settings) — batch production, consumption, and COGS reports
