Inventory and stock

Production recipes

Hotel editions. On Reservation ERP (Gold) this module is called Precision Cooking and this screen is Recipes. Everything below works the same way.

A recipe is your standard batch written down: which raw materials go in, what comes out, and in what proportion. Once it exists you can run it over and over without re-entering the details, and the system works out what each finished product cost.

A recipe on its own changes nothing. No stock moves and nothing is posted until a production run uses it.

Not the same as a Composite Item. A recipe converts raw-material stock into finished-product stock. A composite item is a choice the cashier makes at the till — it contains inventory but is never inventory itself, and nothing is converted. If you are setting up a meal deal or a "pick any two", you want Composite Items instead.

Before you start

  • Your raw materials must be Inventory items whose Inventory Type is Raw Material or Raw Material & Product.
  • Your finished products must be Inventory items whose Inventory Type is Product or Raw Material & Product.
  • If either list looks empty or is missing something, open the item and check its Inventory Type — that is almost always the reason.
  • Decide your batch size first. Everything in the recipe is "per one batch", so it is easier to write 50kg flour → 60 loaves than to work in single loaves.

Steps

  1. Open Manufacturing → Production Recipes and click New recipe.
  2. Leave the type on Simple unless you are combining other recipes (see Composite recipes below).
  3. Give it a name you will recognise on a busy list — "White bread — 60 loaf batch" beats "Bread".
  4. Optionally set Composed by, the date, and the item category the recipe belongs to.
  5. Decide whether operators may change quantities when they run it. Leave Adjustable off if the recipe is the standard and should be followed.
  6. Under Finished products, click Add product and choose the item, then enter how many one batch yields.
  7. Under Raw materials, click Add raw material for each input and enter the quantity one batch consumes.
  8. For each raw material choose how it scales:
    • Scales with output — a double batch uses double. This is the usual one.
    • Fixed per batch — the same amount however much you make. Use it for things like a cleaning agent or a fixed additive.
  9. Click Save recipe.

Sharing cost between several products

If a batch yields more than one product, the Cost share column decides how the batch's cost is split between them. The numbers are relative, not percentages — two products at 10 and 10 split the cost evenly; 30 and 10 gives the first three quarters of it.

Leave every share at the same number if you want an even split. If you leave them all at zero the system falls back to splitting by quantity produced, so the cost is never lost.

Recording waste and scrap

Real batches lose something, and if you ignore it the whole cost lands on the good output and makes it look more expensive than it is.

Click Add cost-only for anything that is not sellable stock — waste, trimmings, abnormal loss. A cost-only line takes a share of the cost but never reaches stock, so you must tell it which expense account to charge. Pick the Output type that describes it and the account fills in for you where there is a sensible default.

Use Expected waste % to record what you normally lose on this output — 5% of loaves that come out misshapen, say. A run compares what it actually yielded against the recipe and splits the shortfall in two: anything up to your expected figure is normal and its cost is absorbed by the good units, and anything beyond it is called out on the run as above-normal loss.

Leave it at zero and every shortfall reads as above-normal, which is the right default until you know what your usual loss is.

Batch-tracked products

If a finished product is batch-tracked — it carries expiry dates — set its Shelf life (days) on the output line. A production run works out the expiry as the production date plus that number.

This matters more here than anywhere else in the system. Everywhere else an expiry is copied off a supplier's document; a factory has no document to copy from, so the recipe is the only place the date can come from. A run will refuse to complete if a batch-tracked output has no shelf life, and the editor warns you as soon as you pick such an item.

Composite recipes

Switch the type to Composite when one production process makes several things that each have their own recipe — a mixing run that becomes both bread and rolls, say.

The outputs then become sub-recipes rather than products, and the raw materials you list are the general ones shared across all of them. Each sub-recipe still carries its own materials and yields.

Build the simple recipes first; you can only nest a recipe that already exists.

Tips

  • Duplicate is your friend. Use the copy button on the list to base a new recipe on an existing one, then change what differs. It copies every line.
  • Name recipes so they sort together — "Bread — white", "Bread — wholemeal".
  • Your typing is saved as a draft, so you can leave a half-built recipe and come back to it.
  • A recipe marked In use has been used by a production run. You can still edit it, and doing so does not change what past runs cost.

Common problems

  • The item list is empty or missing an item → check the item's Inventory Type. Raw materials need Raw Material or Raw Material & Product; finished products need Product or Raw Material & Product. Service and Non-Inventory items never appear.
  • "Another recipe is already called…" → recipe names must be unique. Add the batch size or variant to tell them apart.
  • "A cost-only output needs an expense account" → a cost-only line has no item to hold its value, so without an account its share of the cost would be calculated and then lost. Pick the account to charge it to.
  • "Sub-recipes are only allowed on a composite recipe" → switch the type to Composite at the top, or remove the sub-recipe line.
  • "These sub-recipes would create a loop" → one of the recipes you nested already uses this one, directly or further down the chain. A recipe cannot contain itself.
  • "Some lines cannot be removed because past production runs used them" → deleting the line would break the cost history of runs that used it. Set its quantity to zero instead, or duplicate the recipe and edit the copy.
  • Delete is greyed out → the recipe has been used by a production run. Copy it and retire it from use instead.
  • The recipe name will not take what you typed → names are limited to 50 characters.

See it working on your own business

Start a 45-day free trial — no card needed — and follow this guide in your own practice company.