Back to All Product Updates
Update to Recipes and Recipe Transfers
Product Updates
Published January 20th 2023
Peter Hubbard, Head of Product
As part of our ongoing platform improvements, we're pleased to announce changes to our Recipes and our Recipe Transfers features. This will result in a fantastic improvement to Recipe functionality, enabling you to more precisely control the creation of new Stock Items in your Inventory when decrementing your Recipe Ingredients via a Recipe Transfer.

Let's start with some background information.

What is a Recipe?
A Recipe is a list of ingredients. Each ingredient is a product that can be purchased from your Suppliers on PurchasePlus. The ingredient can be held as a Stock Item in your Inventory module in PurchasePlus. When the Recipe is 'cooked' or 'sold', the ingredients are decremented from the Stock Location where they are held. A Recipe can actually contain another Recipe as an ingredient (let's call these Sub-Recipes). The ingredients in a Sub-Recipe will also be decremented, but only when the parent Recipe is used in a Recipe Transfer action. Only Recipes that are intended for use in a Recipe Transfer can contain Sub-Recipes, a Recipe intended to be used as a POS Item cannot contain Sub-Recipes.

What is a Recipe Transfer?
A Recipe Transfer is the act of 'cooking' the Recipe in PurchasePlus. When the transfer is actioned, the ingredients (Stock Items) are decremented (in the correct proportions) from the Stock Location where they are held, and a new Stock Item is born in the Stock Location. The name of the Stock Item is the name of the Recipe.

What is a POS Item?
A POS Item is a Recipe that can be 'sold' at a Point-Of-Sale. The sale is similar to the act of 'cooking' the Recipe, except in a POS Sale the ingredients (Stock Items) are decremented (in the correct proportions) from the Stock Location where they are held, and transferred to a Sales Location. Note that unlike a Recipe Transfer, a POS Sale does not result in a new Stock Item being born in the Stock Location. The POS Sale is simply a way of decrementing (selling) a bundle of Stock Items. As discussed below, a Recipe intended to be used as a POS Item cannot contain Sub-Recipes.
Overview of Changes
There are 6 changes being introduced to Recipes and Recipe Transfers.
1. When I create a Recipe that is intended to become a Sub-Recipe of another Recipe, I must set the Pre-Make property to TRUE on the Sub-Recipe.
2. When I intend to use a Recipe in a Recipe Transfer, I must set the Pre-Make property to TRUE on the Recipe. This rule also applies to any Sub-Recipes you wish to add as ingredients to a Recipe.
3. When I intend to use a Recipe in a Recipe Transfer, all Ingredients I add to the Recipe must only be of the type Stock Level and the Stock Levels must exist in the Origin and Destination Stock Location where I plan to perform the Recipe Transfer (in a Recipe Transfer, the Origin and Destination Stock Locations are the same). I can add an ingredient of the type Sub-Recipe, however any Ingredients of that Sub-Recipe must also follow this rule. The Recipe Transfer will fail if this is not adhered to.
4. When I am performing a Recipe Transfer, all Ingredients of the Recipe I am transferring and any Sub-Recipes must exist in the Origin and Destination Stock Location where I am performing the Recipe Transfer in sufficient quantities to satisfy the amount required by the Recipe Transfer. The Recipe Transfer will fail if this is not adhered to.
5. A Recipe will now include a new Yield Quantity field, and this field can be used to define the Output Unit Quantity that the Recipe will produce if the Recipe is used in a Recipe Transfer (see below). It is important to note that the Recipe Ingredients must be declared in quantities sufficient to produce the Output Quantity (we will discuss this further below).
6. A Recipe Transfer will now include a new Output Multiplier field, and this field can be used to multiply the Output Quantity of the Recipe by a factor of a whole number. For example, I could have a Recipe for 1 Cake, and the Yield Quantity in the Recipe is 1, but I could make a Recipe Transfer and set the Output Multiplier to 10, which is a way of creating 10 Cakes in the Destination Stock Location. Effectively this performs a 10x of the Recipe Transfer (we will discuss this further below).
The New Yield Quantity Field Explained
Voyages require the Recipe Transfer functionality to be modified so that when a Recipe Transfer is actioned, the output quantity is calculated based on a Yield Quantity, (as well as an Output Multiplier), and they wish to see a Cost per Unit, in addition to the Total Cost.

A Recipe Transfer allows a user to take the ingredients of a Recipe (given these ingredients exist in the origin Stock Location), and combine these ingredients to create new quantities of a Stock Item in a destination Stock Location.

Here we will use the example Voyages gave where they have a recipe that makes 200 Small Dinner Rolls (they bake in batches of 200). The user creating the Recipe (and the Recipe Transfer) wishes to clearly understand, and have precise control over the Yield Quantity of the Recipe. Hence we have introduced a new Yield Quantity field on a recipe, that will allow the user (who creates the Recipe) to define how many individual Units the Recipe will yield when it is used in a Recipe Transfer. We will use this Yield Quantity to calculate everything we need to calculate when performing the Recipe Transfer. Note that this feature is separate to the Output Multiplier feature discussed further below.

Let’s create the Recipe now according to the example scenario described above
Recipe Name we will type Small Dinner Roll
Recipe Size we will type 50
Recipe Measure we will choose grams.
By doing the above, we are defining that the output Unit of this Recipe is a 50g Dinner Roll. Now here comes the important (and new) part. We can now decide on the Yield Quantity of the recipe, and it is here where we will type 200.

By doing this, we are saying that this Recipe is for 200 x 50g Small Dinner Rolls. This means that we need to declare enough Ingredient quantities to make the entire 200 batch. This also means that when this Recipe is used in a Recipe Transfer, the result will be that 200 x 50g Small Dinner Rolls will be added to the target Stock Location.Note: If we wanted the Recipe to simply be for 1 x 50g Small Dinner Roll, we would leave the Yield Quantity at the default value of 1, and only declare enough ingredient quantities to make 1 Roll.
Above, the GR Note is not yet linked to an Invoice, therefore PO Unit Price is used.
If the PO has already been linked to an Invoice when the Goods Receipt Note is created, then the GR Note will show the Invoice Unit Price. If the GR Note is then “Received to Inventory” it will be this Invoice Unit Price that is used to calculate the Stock Level “Unit Value”, (using the Average Weighted Cost” formula).
Above, the GR Note is linked to an Invoice, therefore Invoice Unit Price is used.
The Goods Receiving Note shows the PO unit price (prior to an invoice being linked), however if an Invoice is linked to the PO, even after the GR Note has been created (but GR Note is not yet submitted), then the Unit Price for each item in question will change to reflect the Invoice Unit Price, if a difference in price exists. Then, if the GR Note is “Received to Inventory” it will be the Invoice Unit Price that is used to calculate the Stock Level “Unit Value”, (using the Average Weighted Cost” formula).
For any questions, please contact us please contact us via email on help@marketboomer.com or phone us on +61 2 8215 7133.