Production Schedule
Production Schedule plans and tracks batch production runs — schedule a recipe (or a free-text item) with a quantity and date, move it through Planned → In Progress → Done, and on completion automatically deduct the recipe's ingredients from stock based on actual quantity produced. It also surfaces a sales-based demand forecast and a same-name suggested purchase order for any shortfall.
Overview
This is the same Production Schedule feature used by the bakery variant (FnbProductionPage) — restaurant does not have its own separate production table.
A run can be linked to a Recipe (pulling its ingredient list, scaled to the quantity being produced) or entered as free text with no recipe link, in which case no stock is auto-deducted.
Moving a run from In Progress to Done opens a completion dialog where you confirm the Actual Qty Produced (vs planned), see the exact quantities that will be deducted from stock per ingredient, and set/confirm an Expiry Date (auto-suggested from the recipe's Shelf Life).
A Demand Forecast panel suggests quantities to produce for upcoming days based on recent sales history per recipe, with a one-click "Schedule" button to pre-fill a new run.
A "Today's Bake List" panel aggregates quantities needed today from other sources (e.g. cake orders, standing orders) and lets you schedule a run directly from it, or generate a suggested purchase order for any ingredient shortfall across all planned runs for the day.
Once a run is Done, you can print a product label showing item name, batch/production date, best-before date (from the expiry date set at completion), quantity and who prepared it; runs can only be deleted once Done or Cancelled.
Before You Start
- You must have the Billing feature enabled on your plan.
- Link runs to Recipes (rather than free text) to get automatic stock deduction, ingredient shortfall warnings and expiry auto-fill — free-text runs skip all of this.
Step-by-Step Guide
1 Schedule a production run
- Open Kitchen Operations → Production Schedule and click the schedule button.
- Pick a Recipe from the dropdown (or leave it as "No recipe" and type an Item / Product Name), set the Date, Start Time, Quantity to Produce and Assigned To.
- If a recipe is linked, review the scaled ingredient preview showing exactly how much of each ingredient this batch needs — unlinked ingredients are flagged with a ⚠ since their stock will not be auto-deducted.
- Click "Schedule" to add the run as Planned.
2 Move a run through its lifecycle
- Click "Start" on a Planned run to move it to In Progress.
- Click "Mark Done" on an In Progress run — if it is linked to a recipe, a Confirm Completion dialog opens.
- In the dialog, adjust Actual Qty Produced if it differs from planned (a yield variance is shown), set/confirm the Expiry Date, add Completion Notes if needed, and click "Confirm & Deduct" — this deducts every linked ingredient's quantity (scaled to the actual quantity produced) from stock.
- Any ingredient whose stock drops critically low after the deduction triggers a toast warning.
3 Use demand forecast and the bake list
- Open the Demand Forecast panel, choose a lookback window (3/7/14/30 days) and click "Generate" to see suggested quantities per recipe based on recent sales.
- Click "Schedule" next to a forecast row to pre-fill a new run with that recipe and suggested quantity.
- Check "Today's Bake List" (only shown if items are needed today) to see aggregated demand from other order sources, and "Suggest PO" to auto-generate a purchase order covering any ingredient shortfall across today's planned runs.
4 Print a label and manage finished runs
- On a Done run, click the tag icon to open and print a product label with batch date, best-before date, quantity and prepared-by.
- Cancel a Planned or In Progress run if it will not go ahead, or delete a Done/Cancelled run to remove it from the list entirely.
Every Field & Button, Explained
| Field / Button | What it does |
|---|---|
Recipe / Item Name | Link a Recipe to get ingredient scaling, stock deduction and expiry auto-fill; or leave unlinked and type a free-text item name (no stock effects). |
Scheduled Date / Time | When the run is planned to happen; used to filter the list and to compute the Demand Forecast's "next day" suggestion. |
Quantity to Produce / Actual Qty | Planned quantity set when scheduling; Actual Qty is entered at completion and drives both the ingredient deduction scaling and the yield variance shown. |
Status | PLANNED → IN_PROGRESS → DONE, or CANCELLED at any point before Done; only Done/Cancelled runs can be deleted. |
Expiry Date (at completion) | Auto-suggested as today + the recipe's Shelf Life (days) if set; otherwise left blank unless manually entered — printed on the product label. |
Assigned To / Notes | Free text for the staff member responsible and any special instructions. |
Tips & Best Practices
- Always link a run to a Recipe when one exists — the stock deduction, shortfall PO suggestions and expiry auto-fill only work when there is a recipe to scale from.
- Review the ingredient preview before scheduling — any ⚠ icon means that ingredient is not linked to a product on the recipe and its stock will not be touched when the run completes, even though the recipe itself lists it.
- Use the Demand Forecast regularly rather than scheduling purely from memory — it is based on actual recent sales, not guesswork.