purchasing:ordering_from_suppliers

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
purchasing:ordering_from_suppliers [2020/01/14 11:37] – link revised for stock tab loupurchasing:ordering_from_suppliers [2024/02/16 11:07] (current) – [Expiry consideration] Ujwal Khatry
Line 1: Line 1:
 {{indexmenu_n>10}} {{indexmenu_n>10}}
-====== 6.01. Ordering items from suppliers======+====== 6.01. Ordering stock from suppliers====== 
 + 
 +<WRAP center round important 60%> 
 +The discussion here is focused on ordering stock from suppliers //outside// of your mSupply system, though the same principles apply when [[purchasing:ordering_from_one_store_to_another#internal_orders_aka_request_requisitions|Ordering from one store to another]]. 
 +</WRAP>
  
  
Line 6: Line 10:
 mSupply provides ways for you to generate a Purchase Order with manually or automatically calculated quantities. Each organisation tends to have different requirements for their ordering process, so we have tried to strike a balance between providing different methods and making the ordering module so complex that it is of little use to anyone.  mSupply has two general methods for generating a purchase order: mSupply provides ways for you to generate a Purchase Order with manually or automatically calculated quantities. Each organisation tends to have different requirements for their ordering process, so we have tried to strike a balance between providing different methods and making the ordering module so complex that it is of little use to anyone.  mSupply has two general methods for generating a purchase order:
   * [[purchasing:ordering_from_suppliers#creating_a_new_calculated_purchase_order|Creating a new calculated purchase order]].  We recommend that you use this method since it will save you time and avoid mistakes.   * [[purchasing:ordering_from_suppliers#creating_a_new_calculated_purchase_order|Creating a new calculated purchase order]].  We recommend that you use this method since it will save you time and avoid mistakes.
-  * [[purchasing:ordering_from_suppliers#creating_a_blank_purchase_order|Creating a blank Purchase Order]].  This method allows you to create a purchase order based on manual calculations of quantities.+  * [[purchasing:ordering_from_suppliers#creating_a_blank_purchase_order|Creating a blank Purchase Order]].  This method allows you to create a purchase order manually, based on calculations of quantities you have made yourself or using other tools.
  
-However you create a purchase order, the purchase order window looks like this:+Whichever way you create a purchase order, the purchase order window looks like this:
  
-{{ :purchasing:new_po_rev.png?650 }}+{{ :purchasing:new_blank_po.png?600 |New Blank Purchase Order}}
  
 There is some read-only information at the top of the window which cannot be edited: There is some read-only information at the top of the window which cannot be edited:
Line 49: Line 53:
 ^  Dec  |   750 |   900 |   800 |   ^  Dec  |   750 |   900 |   800 |  
  
-From this data, the following AMC (Average Monthly Consumption) calculations can be made.+From this data, the following historic AMC (Average Monthly Consumption) calculations can be made.
  
 |< 300px 80% - >| |< 300px 80% - >|
Line 66: Line 70:
  
 <WRAP center round info 90%> <WRAP center round info 90%>
-mSupply does not use set "minimum"maximumstock levels as its primary means of determining order quantities.  Conventional minimum and maximum stock levels are calculated using the methods described here, but it is problematic to try and fix these values, because:+mSupply does not use set 'minimum'maximumstock levels as its primary means of determining order quantities.  Conventional minimum and maximum stock levels are calculated using the methods described here, but it is problematic to try and fix these values, because:
   * The parameters will keep on changing,   * The parameters will keep on changing,
   * It takes a lot of manual work to calculate,   * It takes a lot of manual work to calculate,
   * The assumptions made in calculating them are often lost.   * The assumptions made in calculating them are often lost.
-Be assured that the system that mSupply uses will give you much better inventory control!+The ‘good’ reason to use ‘minimum’ & ‘maximum’ stock levels is if you don’t have a calculator like mSupply that can quickly and easily calculate the right amount of stock to order.  Be assured that the system that mSupply uses will give you much better inventory control!
  
 Having said that, mSupply does allow for minimum stock levels so as to allow you to ensure a minimum quantity of rarely used items. e.g. essential emergency supplies - refer [[items:item_basics:tab_stock|Other information on the stock details page]].  These minimum stock levels should **not** be used for most items. Having said that, mSupply does allow for minimum stock levels so as to allow you to ensure a minimum quantity of rarely used items. e.g. essential emergency supplies - refer [[items:item_basics:tab_stock|Other information on the stock details page]].  These minimum stock levels should **not** be used for most items.
Line 78: Line 82:
  
   * The **Lead time**:  The time delay between carrying out the quantification analysis and when the stock is delivered to the store.   * The **Lead time**:  The time delay between carrying out the quantification analysis and when the stock is delivered to the store.
-  * The **Ordering cycle**:  How often you order from this supplier +  * The **Ordering cycle**:  How often you plan to order this item 
-  * How many months of **"buffer" stock** you want on hand just before your next order arrives.+  * The **Buffer stock**:  How much of this item you plan to have on hand just before your next order arrives.
  
 All of these are measured in months. All of these are measured in months.
  
 <WRAP center round tip 90%> <WRAP center round tip 90%>
-Some agencies recommend the buffer stock to be double the Ordering cycle.  However, if your ordering cycle is long (say 12 months) then this means keeping two years worth of stock as a buffer.  This could become a problem with expiry dates.+Some agencies recommend that <wrap em>Buffer stock (months) = 2 x Ordering cycle</wrap>.  If you have a central store with an annual order cyclethis means keeping two years worth of stock as a buffer.  Expiry dates should not generally be problem, as a central store should definitely not be ordering stock with < 3 years expiry.  However, central stores may have limited storage capacity...
 </WRAP> </WRAP>
  
Line 113: Line 117:
 Purchase Order quantities are based on the amount of stock required, normally expressed as a number of months of AMC, modified by factors including: Purchase Order quantities are based on the amount of stock required, normally expressed as a number of months of AMC, modified by factors including:
  
-  * The current stock level. +  * The current stock level (note: stock with no expiry date is counted as current stock for this calculation!)
-  * The amount of stock on backorder to customers ((if you are running the backorder feature).+  * The amount of stock on backorder to customers (if you are running the backorder feature).
   * The amount of stock already on order from Suppliers, but that has not yet arrived in your store.   * The amount of stock already on order from Suppliers, but that has not yet arrived in your store.
-  * The months of anticipated stock-out before the order arrives (more on this below). 
  
-<wrap em>Purchase order quantity = stock required - current stock level + stock on backorder to customers - stock on order from suppliers - months of anticipated stock-out</wrap>+Purchase order quantity = stock required - current stock level + stock on backorder to customers - stock on order from suppliers
 + 
 +If the current stock levels and / or stock on backorder from suppliers is high enough, the above equation produces a negative number.  This means that this item does not need to be procured during this ordering cycle.  So, for the purposes of this mSupply calculation, Purchase order quantity = //maximum// of //zero// and //the above expression// This is expressed mathematically as: 
 + 
 +<wrap em>Purchase order quantity = MAX(0,stock required current stock level + stock on backorder to customers - stock on backorder from suppliers)</wrap>
  
 <WRAP center round important 90%> <WRAP center round important 90%>
-mSupply makes an important assumption as to how to handle **anticipated stock-out**.  That is, the situation of running out of stock before the order arrives.  mSupply assumes that the consumption that you forecast to happen between you running out of stock, and the purchase order stock arriving **should not** be provided under this purchase order.  The basis for this are two further assumptions: +It could be important to consider the **months of anticipated stock-out (MOASO)** - that is, the situation of running out of stock before the order arrives.  There are (at leasttwo ways of dealing with MOASO:
-  * You will either obtain the shortfall through another purchase order (an emergency order, or from another supplier), or you will simply run out of stock. +
-  * Your customers will **not** increase their demand in the time immediately after you receive the stock //from this purchase order// to compensate for the stock being unavailable prior to the new order arriving.  /*Note that if you did manage to obtain stock as an an emergency order, or from another supplier, then your customers will have received that stock, and they will still not increase their demand in the time immediately after you receive the stock //from this purchase order//.*/+
  
-**ThereforemSupply reduces the purchase order quantity by the anticipated stock-out amount.** +  * **Consider it**:  Reduce your order quantity by the MOASO because: 
-</WRAP>+    * You will either obtain the shortfall through another purchase order (an emergency orderor from another supplier), or you will simply run out of stock. 
 +    * Your customers will **not** increase their demand in the time immediately after you receive the stock //from this purchase order// to compensate for the stock being unavailable prior to the new order arriving /*Note that if you did manage to obtain stock as an an emergency order, or from another supplier, then your customers will have received that stock, and they will still not increase their demand in the time immediately after you receive the stock //from this purchase order//.*/ 
 +  * **Ignore it** because: 
 +    * Your customers will be using up their buffer stocks while you were out of stock, and so they **will** increase their demand in the time immediately after you receive the stock //from this purchase order// to re-build their buffers. 
 +    * MOASO is too complicated to consider and explain!
  
 It can be seen that It can be seen that
  
-  * Anticipated Stockout = the Lead time - Current stock level + stock on backorder to customers - stock on backorder from suppliers+  * MOASO = the Lead time - Current stock level + stock on backorder to customers - stock on order from suppliers
  
-If the above equation produces a negative number, this means that there will be no stock-out, and the anticipated stock-out will have no impact on the Purchase order quantity.  So, for the purposes of this mSupply calculation, Anticipated Stockout = //maximum// of //zero// and //the above expression// This is expressed mathematically as:+If the above equation produces a negative number, this means that there will be no stock-out, and the anticipated stock-out will have no impact on the Purchase order quantity.  So, for the purposes of this mSupply calculation, MOASO = //maximum// of //zero// and //the above expression// This is expressed mathematically as:
  
-<wrap em>Anticipated Stockout max(0,Lead time - Current stock level + stock on backorder to customers - stock on backorder from suppliers)</wrap>+<wrap em>MOASO MAX(0,Lead time - Current stock level + stock on backorder to customers - stock on order from suppliers)</wrap
 + 
 +The automatic calculation of stock to order in mSupply does not include MOASO: it is described here so that you can manually compensate for it in your choice of months of stock to order if required.  
 +</WRAP>
  
 <WRAP center round box 90%> <WRAP center round box 90%>
Line 143: Line 155:
   * Stock already on order from Suppliers = 2 months   * Stock already on order from Suppliers = 2 months
  
-Then, Anticipated stock-out is calculated as: +Then, MOASO is calculated as: 
-  * = max(0,Lead time - Current stock levels + stock on backorder to customers - stock on backorder from suppliers) +  * = MAX(0,Lead time - Current stock levels + stock on backorder to customers - stock on backorder from suppliers) 
-  * = max(0,3-5+3-2) +  * = MAX(0,3-5+3-2) 
-  * = max(0,-1)+  * = MAX(0,-1)
   * = 0   * = 0
  
 and Purchase order quantity is calculated as: and Purchase order quantity is calculated as:
-  * = stock required - current stock level + stock on backorder to customers - stock on backorder from suppliers - months of anticipated stock-out +  * = MAX(0,stock required - current stock level + stock on backorder to customers - stock on backorder from suppliers - MOASO) 
-  * = 21-5+3-2-0 +  * = MAX(0,21-5+3-2-0
-  * = 17 +  * = MAX(0,17) 
 +  * = 17
  
 So **17** months worth of stock //to be ordered// Compare this with the **21** months worth of //stock required// calculated in the previous section! So **17** months worth of stock //to be ordered// Compare this with the **21** months worth of //stock required// calculated in the previous section!
Line 166: Line 179:
   * Stock already on order from Suppliers = 2 months   * Stock already on order from Suppliers = 2 months
  
-Then, Anticipated stock-out is calculated as: +Then, MOASO is calculated as: 
-  * = max(0,Lead time - Current stock levels + stock on backorder to customers - stock on backorder from suppliers) +  * = MAX(0,Lead time - Current stock levels + stock on backorder to customers - stock on backorder from suppliers) 
-  * = max(0,3-**1**+3-2) +  * = MAX(0,3-**1**+3-2) 
-  * = max(0,**3**)+  * = MAX(0,**3**)
   * = **3**   * = **3**
  
 and Purchase order quantity is calculated as: and Purchase order quantity is calculated as:
-  * = stock required - current stock level + stock on backorder to customers - stock on backorder from suppliers - months of anticipated stock-out +  * = MAX(0,stock required - current stock level + stock on backorder to customers - stock on backorder from suppliers - MOASO) 
-  * = 21-5+3-2-3+  * = MAX(0,21-5+3-2-3
 +  * = MAX(0,14)
   * = **14**   * = **14**
  
Line 180: Line 194:
  
 </WRAP> </WRAP>
- 
 ==== Create a purchase order ==== ==== Create a purchase order ====
-Choose // Supplier > New Purchase Order.// +Choose **Supplier > New Purchase Order** from the menus. The following window will be displayed:
- +
-In most instances the following window will be displayed:+
  
-{{ :purchasing:new_po_rev.png?350 }}+{{ :purchasing:po_new_order-calculate-2024-02-16.png?350 }}
  
 This window allows for a number of factors to be entered. This window allows for a number of factors to be entered.
Line 205: Line 216:
 == Order for some items only == == Order for some items only ==
  
-{{ :purchasing:new_ord_items.png?350 }}+{{ :purchasing:po-order_some-items-only-2024-02-16-t14-07.png?350 |}}
  
-  * Either click on the //Query items// box, to bring up the //Query Editor// window, and enter the required parameters, or select one or more criteria by placing check marks as appropriate in the three boxes; use of the //Query Editor// is described in detail in the Reports chapter. See [[reports:custom_reports#Using the Query Search modifier]]+  * Either click on the //Query items// box, to bring up the //Query Editor// window, and enter the required parameters, or select one or more criteria by placing check marks as appropriate in the three boxes; use of the //Query Editor// is described in detail in the Reports chapter. See [[reports:custom_reports#Using the Query Search editor]]
  
 == Order for one supplier == == Order for one supplier ==
Line 232: Line 243:
 </WRAP> </WRAP>
  
-=== Calculate quantity required === +=== Calculate months of stock required === 
- +The months of stock required can be entered directly into the **Months of stock required** field.  However, as demonstrated in the [[purchasing:ordering_from_suppliers#calculate_purchase_order_quantity|Calculate Purchase Order quantities]] section above, a more reliable way of getting to this figure is to use the Lead time, order cycle and buffer stock parameters.  Clicking on the //Calculate// button brings up a window allowing you to enter these values, from which mSupply will calculate the quantity required and the //Expected delivery date//.
-The quantity of stock required can be entered directly into the **Months of stock required** field.  However, as demonstrated in the [[purchasing:ordering_from_suppliers#calculate_purchase_order_quantity|Calculate Purchase Order quantities]] section above, a more reliable way of getting to this figure is to use the Lead time, order cycle and buffer stock parameters.  Clicking on the //Calculate// button brings up a window allowing you to enter these values, from which mSupply will calculate the quantity required. +
  
 Using the same figures as in our worked example above: Using the same figures as in our worked example above:
Line 242: Line 251:
  
 <WRAP center round box 90%> <WRAP center round box 90%>
-  * Orders take three months to arrive from your supplier (Lead time = 3 months) +  * Orders take three months to arrive from your supplier (Lead time = 3 months). 
-  * You order every six months(Ordering cycle = 6 months) +  * You order every six months (Ordering cycle = 6 months). 
-  * We want a buffer stock of at least 12 months when a Purchase Order arrives.+  * We want a buffer stock of at least 12 months when a Purchase Order arrives (Buffer stock = 12 months).
 </WRAP> </WRAP>
  
 +When you click on the //OK// button, mSupply will automatically calculate the Expected delivery date as the current date + the lead time (so, if the current date is 12th April and the lead time is 3 months, the Requested delivery date will be set to 12th July). **This is important because mSupply assumes that your current stock will last until the end of the lead time and will not order stock for that period.** So, even if the //Months stock required// is 9 months, if the lead time is 3 months (and so the //Requested delivery date// is set to 3 months in the future), then only 6 months of stock will be ordered. Of course, you can manually edit the //Requested delivery date// to alter the months of stock that are ordered.
  
-<WRAP center round alert 90%> +The //Requested delivery date// field is set to the current day by default. If you manually enter a figure in the //Months stock required// field without using the //Calculate// button the //Requested delivery date// will not be automatically updated. So the order will be for the full number of months you enter in the //Months stock required// field. 
-  * The **Lead time** figure will generate an **Expected delivery** date, and the **Lead time** / **Expected delivery** date can have a significant impact on actual Purchase order quantities - refer [[purchasing:ordering_from_suppliers#calculate_purchase_order_quantity|Calculating Purchase order quantity]] above. + 
-  * **BEWARE** of manually entering in a date that is unrealistically far into the future - this will **REDUCE** the quantity ordered!+<WRAP center round important 90%> 
 +  * The **Requested delivery** date affects the amount of stock that is ordered because mSupply assumes that your current stock covers that period and therefore does not order for the period up to the //Requested delivery date//.
 </WRAP> </WRAP>
  
Line 294: Line 305:
  
 If mSupply calculates that any of the lines from the supplier are not required, when this box is checked such lines will appear on the Purchase Order, the order quantity being 0. If mSupply calculates that any of the lines from the supplier are not required, when this box is checked such lines will appear on the Purchase Order, the order quantity being 0.
 +
 +== Expiry consideration ==
 +The checkbox to //Exclude stock that will expire within 3 months of projected consumption date// is a new updated feature to accurately predict amount of stock that is likely to be wasted due to expiry and current consumption rate. In this current example, mSupply will only aim to distribute stock if the expiry is more than 3 months away. This updated feature is only available in mSupply v7.12 or later.  
 +
 +This topic is huge so it may be worth reading this topic [[faq:wastage_prediction_due_to_expiry_v7-12|Stock wastage prediction for ordering]]
 +
  
 == Create order button == == Create order button ==
Line 310: Line 327:
 Choose // Supplier > New blank Purchase Order// . You are presented with a blank order form, to which you can add items. This form only allows the choice of one supplier. Choose // Supplier > New blank Purchase Order// . You are presented with a blank order form, to which you can add items. This form only allows the choice of one supplier.
  
-{{ :purchasing:new_blank_po.png |New Blank Purchase Order}}+{{ :purchasing:new_blank_po.png?600 |New Blank Purchase Order}} 
 + 
 +==== Name ====
  
 The **name** field is where you choose the supplier you are ordering from (type in the first few characters of the supplier's name and press the Tab key on the keyboard, then select the right supplier from a list of those beginning with what you typed - if there's only one that matches, it will be automatically chosen for you). The **name** field is where you choose the supplier you are ordering from (type in the first few characters of the supplier's name and press the Tab key on the keyboard, then select the right supplier from a list of those beginning with what you typed - if there's only one that matches, it will be automatically chosen for you).
 +
 +==== Donor ====
  
 If it has been set in //Preferences//, the **Donor** field will appear, and the donor details may be entered here (in the same way as entering the supplier name - type the first few characters of the donor's name and press the Tab key to select from a list of donors starting with what you typed).  Setting this preference is described in [[preferences:invoices#Supplier Invoices]]. If it has been set in //Preferences//, the **Donor** field will appear, and the donor details may be entered here (in the same way as entering the supplier name - type the first few characters of the donor's name and press the Tab key to select from a list of donors starting with what you typed).  Setting this preference is described in [[preferences:invoices#Supplier Invoices]].
  
-The **Reference** field allows you to enter any relevant information.+==== Reference ==== 
 + 
 +The **Reference** field allows you to enter any relevant information. Anything you type in here will be carried through to the **Their ref** field on the Goods Received note and Supplier Invoices created from the Purchase order (but can be overridden if required). This is true whether the purchase order is created manually or calculated for you by mSupply (as described above). 
 + 
 +==== Requested delivery date ==== 
 + 
 +The **Requested delivery date** (RDD = contract delivery date ;-) ) field is for the date you have requested the supplier to deliver the items.  Anything entered in this field becomes a default for all lines added to the purchase order. Such a requested delivery date can still be manually edited for each line if required. 
 + 
 +By default the Requested delivery date will be today's date but you may edit this to request deliveries at the times you require. 
 + 
 +This is optional unless you have turned on the preference to make it mandatory (see [[preferences:purchase_orders#purchase_order_2_tab|Purchase order preferences]] for details).  
  
-The **Requested delivery date** field is for the date you have requested the supplier to deliver the items. Anything entered in this field becomes a default and is automatically set for all lines added to the purchase order. Such a requested delivery date can still be manually edited for each line if required. There is a preference to make this field mandatory (see [[preferences:purchase_orders#purchase_order_2_tab|Purchase order preferences]] for details).+==== Colour ====
  
 In the top right hand corner, there is a box where you may select a particular colour from a range of colours - in the window shown below, //blue// has been selected. In the top right hand corner, there is a box where you may select a particular colour from a range of colours - in the window shown below, //blue// has been selected.
Line 328: Line 359:
 {{ :purchasing:po_list_col.png?500 }} {{ :purchasing:po_list_col.png?500 }}
  
-Once a supplier(**Name**) has been chosen you may enter the item you are ordering by clicking the **New Line** button.+===== Adding Items to the PO ===== 
 + 
 + 
 +Once a supplier(**Name**) has been chosen you may add the item(s) you are ordering by clicking the **New Line** button.
  
 {{ :purchasing:newpurchaseorderline.png?650 |}} {{ :purchasing:newpurchaseorderline.png?650 |}}
 +
 +==== Item ====
  
 In the **Item** field type the beginning letter of the item you want and hit the //Tab// button. You may then choose the item from the displayed list. If you want to see the entire list of items available type @ and then //Tab//. In the **Item** field type the beginning letter of the item you want and hit the //Tab// button. You may then choose the item from the displayed list. If you want to see the entire list of items available type @ and then //Tab//.
  
-In the Requested delivery date field put the date you are requesting the supplier to deliver this item. This is optional unless you have turned on the preference ot make it mandatory (see [[preferences:purchase_orders#purchase_order_2_tab|Purchase order preferences]] for details).  +For more information on the other tabs in this window see [[purchasing:ordering_from_suppliers#Editing Purchase Order lines|Editing Purchase Order lines]]
  
-From more information on the other tabs in this window see [[purchasing:ordering_from_suppliers#Editing Purchase Order lines|Editing Purchase Order lines]]+===== Saving a suggested Purchase Order =====
  
-Once you have chosen the Item and entered the appropriate details clicking OK will return you to the Edit Purchase Order screen where you will see the line you have created. Below have ordered 300 Packs of Chlopromazine.+Once you have chosen Items and entered the appropriate details clicking **OK** will return you to the **Edit Purchase Order** screen where you will see the line you have created. Below we have ordered 300 Packs of Chlopromazine.
  
 {{ :purchasing:new_blankpo.png?650 |}} {{ :purchasing:new_blankpo.png?650 |}}
Line 344: Line 380:
 The Original and Adjusted Quantities columns show the number of packs you ordered multiplied by the number of units in the pack. The Original and Adjusted Quantities columns show the number of packs you ordered multiplied by the number of units in the pack.
  
 +Clicking **OK** here will save the PO with a status of 'suggested' (''sg'').  It can be edited later and then confirmed for issue to the supplier.
  
-===== Viewing a purchase order ===== 
  
-To view a recently created order choose // Show Purchase Order...// from the // Supplier// menu.+===== Finding a purchase order ===== 
 + 
 +To find a recently created order choose // Show Purchase Order...// from the // Supplier// menu.
  
 Choosing this menu item shows a window where you can enter either the number of recent orders to display or the order number (this is printed on an order if you have printed it out). If you click OK without changing any information you will be shown a list of the 15 most recent orders. Choosing this menu item shows a window where you can enter either the number of recent orders to display or the order number (this is printed on an order if you have printed it out). If you click OK without changing any information you will be shown a list of the 15 most recent orders.
Line 358: Line 396:
 ==== Buttons in the purchase order list window ==== ==== Buttons in the purchase order list window ====
  
-{{ :purchasing:po_list_buttons.png?450 }}+{{ :purchasing:po_list_buttons.png?550 }}
  
-== New PO (purchase order) ==+=== New PO (purchase order) ===
  
 When you click the // New PO// button, a Purchase Order details window is displayed . See "New Purchase Order" below. When you click the // New PO// button, a Purchase Order details window is displayed . See "New Purchase Order" below.
  
-== Delete == +=== Delete === 
-Any highlighted orders will be deleted by clicking this button. You can delete multiple Purchase Orders by highlighting more than one line. To do so, control-click (command-click on Mac) the lines you wish to highlight. If your orders are finalisedthose can not be deletedIf you attempt to delete a finalised order, you will receive an alert message:+Clicking the **Delete** button will delete any highlighted POs, with some exceptions - see below<WRAP center round tip 60%> 
 +You can delete multiple Purchase Orders by highlighting more than one line. To do so, control-click (command-click on Mac) the lines you wish to highlight, and then click this button. 
 +</WRAP>
  
-{{ :purchasing:alert_no_delete.png?350 }}+  * Confirmed POs need to have each line deleted on the PO before the PO itself can be deleted.  If you try to delete a confirmed PO and it is not empty, you will get an alert message like this:\\ {{  :purchasing:pasted:20210916-190100.png  }} 
 +  * Finalised POs can not be deleted.  If you try to delete a finalised PO,  you will get an alert message like this:\\ {{  :purchasing:pasted:20210916-191129.png  }}
  
-== Report ==+=== Report ===
 Clicking on the **Report** button presents you with the quick report modifier window, from which a simple report can be constructed. This report can be viewed, saved to disk or printed. Clicking on the **Report** button presents you with the quick report modifier window, from which a simple report can be constructed. This report can be viewed, saved to disk or printed.
  
-== Find ==+=== Find ===
  
 This button is very useful for quickly finding a group of Purchase Orders. when you click on the // Find// button, you will be presented with a window with the same functionality as if you chose the Menu item Supplier > Show Purchase Orders (above). This button is very useful for quickly finding a group of Purchase Orders. when you click on the // Find// button, you will be presented with a window with the same functionality as if you chose the Menu item Supplier > Show Purchase Orders (above).
Line 378: Line 419:
 {{ :purchasing:find_ord_supp.png?350 }} {{ :purchasing:find_ord_supp.png?350 }}
  
-== Order by ==+=== Order by ===
  
 The // Order by// button allows you to sort the orders by multiple fields. Otherwise simply clicking on an individual column will also sort the order list by that column. The // Order by// button allows you to sort the orders by multiple fields. Otherwise simply clicking on an individual column will also sort the order list by that column.
  
-== Print ==+=== Print ===
 This allows you to print the displayed list of purchase orders. When you click on the **Print** button, it shows two windows. The first is the page setup for your printer, the second allows you to specify how many copies to print. The column sizes set in the list window are reflected in the printed output. This allows you to print the displayed list of purchase orders. When you click on the **Print** button, it shows two windows. The first is the page setup for your printer, the second allows you to specify how many copies to print. The column sizes set in the list window are reflected in the printed output.
  
-== Email == 
- 
-Any highlighted orders will be converted to queued emails. 
  
-== Customise ==+=== Customise ===
 This button allows you to change the columns that are displayed in the list and what order they are displayed in: This button allows you to change the columns that are displayed in the list and what order they are displayed in:
  
Line 396: Line 434:
 See [[tutorial:working_with_lists|Working with lists]] for more details. See [[tutorial:working_with_lists|Working with lists]] for more details.
  
-== Duplicate ==+=== Duplicate ===
  
 If you wish to duplicate any orders, highlight desired orders from list and click the "Duplicate" button. If you wish to duplicate any orders, highlight desired orders from list and click the "Duplicate" button.
  
-== Split ==+=== Split ===
  
-This button allows you to split the selected order between two or more suppliers, and may be used only on orders with a status of //sg//+This button allows you to split the selected order between two or more suppliers, and may be used only on orders with a status of //sg//.
  
-==== Editing a purchase order ==== +=== Finalise === 
-Double-click the order in the list you want to modify.+This button allows you to finalise multiple purchase orders at once. Simply highlight a selection of purchase orders in the list and click on the button.
  
-You will be presented with the Edit Purchase Order window:+Only Confirmed status purchase orders will be finalised; purchase orders of any other status will be ignored. After finalisation has been carried out you will be told how many were successfully finalised and how many couldn't be updated because they weren't confirmed or because they were in use by someone else. 
 + 
 +===== Editing a purchase order ===== 
 + 
 +After searching for a Purchase Order, double-click the order in the list you want to modify. 
 + 
 +You will be presented with the [[purchasing:ordering_from_suppliers#the_general_tab|General tab]] of the Edit Purchase Order window:
  
 {{ :purchasing:modify_po_rev.jpeg?700 |}} {{ :purchasing:modify_po_rev.jpeg?700 |}}
  
-<WRAP center round info 90%> +<WRAP center round tip 60%> 
-If the entire order qualifies for a discounteither the discount percentage should be entered at 1or the cash value of the discount should be entered at 2.+ 
 +You can resize the order modifying window to show more linesor to show more of the item name. To do sodrag the handle in the lower right corner to a new position.
 </WRAP> </WRAP>
  
-=== Split deliveries === 
  
-There may be occasions when you want to arrange for split deliveries - for instance if you are placing a single order for a year's supplybut you want certain items to be delivered in, say, four consignments, at three monthly intervals. The order as generated lists the total quantity to be ordered, and you need to modify this; what you are actually doing is modifying a Purchase Order line The procedure is described in //Split deliveries// in [[purchasing:ordering_from_suppliers#The order menu]]+<WRAP center round info 90%> 
 +If the entire order qualifies for a discounteither the discount percentage OR the cash value of the discount should be entered. 
 +</WRAP>
  
 +=== Split deliveries ===
  
 +There may be occasions when you want to arrange for split deliveries - for instance if you are placing a single order for a year's supply, but you want certain items to be delivered in, say, four consignments, at three monthly intervals. The order as generated lists the total quantity to be ordered, and you need to modify this; what you are actually doing is modifying a Purchase Order line.  The procedure is described in //Split deliveries// in the [[purchasing:ordering_from_suppliers#order menu]]
 ===== Editing purchase order lines ===== ===== Editing purchase order lines =====
  
 To modify an order line, double click on the line you wish to modify. To modify an order line, double click on the line you wish to modify.
- 
-Note: you can resize the order modifying window to show more lines, or to show more of the item name. To do so, drag the handle in the lower right corner to a new position. 
  
 When you double-click an order line (or when you click on the //New line// button) you will be presented with a window allowing you to modify the item, quantity and pack size: When you double-click an order line (or when you click on the //New line// button) you will be presented with a window allowing you to modify the item, quantity and pack size:
Line 436: Line 482:
 Here you can modify the item that is being supplied. To change the item, type as much of the item name as you know, then press the tab key. If only one item matches your entry, it will be filled in automatically, otherwise you will be presented with a list where you can double-click the item you wish to enter. Here you can modify the item that is being supplied. To change the item, type as much of the item name as you know, then press the tab key. If only one item matches your entry, it will be filled in automatically, otherwise you will be presented with a list where you can double-click the item you wish to enter.
  
-== Comment == 
  
-You can enter any information you wish to record about this order line here. Comments will be added to order lines when you email an order to a supplier. 
  
-== Original quantity ==+== Number of packs ==
  
 The original quantity ordered from the supplier. This information is not modifiable once you have confirmed an order. The original quantity ordered from the supplier. This information is not modifiable once you have confirmed an order.
  
 == Pack size == == Pack size ==
-This is the pack size you are requesting the supplier to provide (or the pack size the supplier has said they can provide).+This is the pack size you are requesting the supplier to provideor the pack size the supplier has said they can provide.  Normally you will want the supplier to supply the item in your preferred pack size, which is what will appear here by default.
  
 == Units == == Units ==
  
 The units that the pack is measured in. The units that the pack is measured in.
 +
 +== Supplier item code ==
 +
 +The Supplier's item code for this item can be entered here.  This field is optional.
  
 == Price before discount == == Price before discount ==
-The price quoted by the supplier for one pack (of the pack size shown in the **Pack size** field) of this item. If you enter it here, it will be carried through onto the goods received note and then the supplier invoice. Of course it can be edited on the supplier invoice if the delivered price turns out to be different to what is entered here). Entry of this field can be made mandatory if the preference is turned on (see [[preferences:purchase_orders#purchase_order_2_tab|Purchase order preferences]] for details).+The price quoted by the supplier for one pack (of the pack size shown in the **Pack size** field) of this item. If you enter it here, it will be carried through onto the goods received note and then the supplier invoice. Of course it can be edited on the supplier invoice if the delivered price turns out to be different to what is entered here). Entry of this field can be made mandatory if the preference is turned on (see [[preferences:purchase_orders#unit_cost_price_before_discount_must_be_entered|Purchase order preferences - unit cost (price before discount)]] for details)
 +== Discount == 
 +Enter any percentage discount that applies to this order.
  
 == Extension == == Extension ==
Line 468: Line 518:
 == Adjusted quantity == == Adjusted quantity ==
  
-The total quantity you now expect to receive from the supplier in all consignments. You can adjust this figure so that the amount received is reduced or increased due to changes in what the supplier actually sends.+The total quantity you now expect to receive from the supplier in all consignments. You can adjust this figure so that the amount received is reduced or increased due to changes agreed with the supplier.
  
 == Refresh buttons == == Refresh buttons ==
Line 474: Line 524:
  
 The refresh button in the "Pricing for this item" frame reloads the price data from a preferred quotation. The price from the most recent quote is used if there are no preferred quotations. If you have received an updated quotation after generating the original price, use this button to apply the updated details to this line. The refresh button in the "Pricing for this item" frame reloads the price data from a preferred quotation. The price from the most recent quote is used if there are no preferred quotations. If you have received an updated quotation after generating the original price, use this button to apply the updated details to this line.
 +
 +== Requested delivery date ==
 +The Requested delivery date for each PO line is inherited from the PO.  It can be manually overwritten for each PO line.  For example, you may have a PO with a Requested delivery date of 30 June, but you have agreed with the supplier to deliver one of the lines a month earlier, on the 31 May.
 +
 +== Expected delivery date ==
 +The Expected delivery date can be entered manually at the time of originally populating the PO line, but it would normally be entered once a response from the supplier has been received.
  
 == Comment == == Comment ==
Line 538: Line 594:
   * If you double-click a ledger line, the associated invoice will be opened in a new window   * If you double-click a ledger line, the associated invoice will be opened in a new window
  
-===== Buttons in the Edit purchase order line window =====+==== Buttons in the Edit purchase order line window ====
  
 == OK & Next == == OK & Next ==
Line 561: Line 617:
     * Once a PO is confirmed, it has status "cn" (for "confirmed") and an appropriate log entry is created.     * Once a PO is confirmed, it has status "cn" (for "confirmed") and an appropriate log entry is created.
     * Confirmed POs have the order amount added to the "on order" field for each item, so that if another PO is created for the same item, this quantity already on order will be taken into account.     * Confirmed POs have the order amount added to the "on order" field for each item, so that if another PO is created for the same item, this quantity already on order will be taken into account.
-    * Confirmed POs can not have new lines added to them.  Howeverdetails of existing PO lines can be amended.+    * Confirmed POs can have new lines added to them but only with an adjusted quantitynot an original quantity. This is to allow for amendments made by the supplier after they have received the order. 
 +    * Details of existing confirmed PO lines can be amended. Their adjusted quantity can be amended (to reflect changes made by the supplier) original quantity cannot be amended. 
 +    * Lines can be deleted form a confirmed purchase order as long as nothing has been received against them on a goods received note. If any part of a line has been received on a goods received note then mSupply will show an alert and will not allow you to delete the line.
   * Once no more stock is to be received against a PO, it can be finalised.  An order becomes finalised by clicking on the //Finalise order// tick-box at the bottom left of the PO window.   * Once no more stock is to be received against a PO, it can be finalised.  An order becomes finalised by clicking on the //Finalise order// tick-box at the bottom left of the PO window.
     * POs that have been finalised have status "fn" (for "finalised") and an appropriate log entry is created.     * POs that have been finalised have status "fn" (for "finalised") and an appropriate log entry is created.
Line 573: Line 631:
  
  
-==== Buttons on the General tab ====+===== Tabs on the Edit Purchase Order window ===== 
 +==== The General tab ==== 
 +{{ :purchasing:modify_po_rev.jpeg?700 |}} 
 +Refer [[purchasing:ordering_from_suppliers#editing_a_purchase_order|Editing a purchase order]] above for details on adding lines to this. 
 +=== Buttons on the General tab ===
  
-=== New line ===+== New line ==
  
 Click this button to add a new line to the Purchase Order. You will be shown this window: Click this button to add a new line to the Purchase Order. You will be shown this window:
Line 582: Line 644:
  
 You may enter the quantity of the item either by number of packs or by total quantity. mSupply will automatically fill in the other fields for you. You may enter the quantity of the item either by number of packs or by total quantity. mSupply will automatically fill in the other fields for you.
- +== Delete lines ==
-By default the Requested delivery date will be today's date but you may edit this to request deliveries at the times you require. The expected delivery date can be entered manually now but it would normally be entered once a response from the supplier has been received. +
-=== Delete lines ===+
  
 Select one or more lines in the Purchase Order and then click this button to delete the lines from the Purchase Order. Select one or more lines in the Purchase Order and then click this button to delete the lines from the Purchase Order.
  
-=== Update EDD ===+== Update EDD ==
  
 Select one or more lines in the Purchase Order and then click on the Update EDD (Estimated Date of Delivery) button to enter a new date when delivery is expected. Select one or more lines in the Purchase Order and then click on the Update EDD (Estimated Date of Delivery) button to enter a new date when delivery is expected.
  
-=== Info ===+== Info ==
  
 Click the Info button to display information about the Purchase Order including the name of the initials of the Purchase Order creator and modifier - refer figure below.  Click the Info button to display information about the Purchase Order including the name of the initials of the Purchase Order creator and modifier - refer figure below. 
Line 603: Line 663:
   * If there is no name against the Created by and Modified by entries, then this Purchase Order was created / modified on the Primary Server in a synchronised mSupply system.   * If there is no name against the Created by and Modified by entries, then this Purchase Order was created / modified on the Primary Server in a synchronised mSupply system.
 </WRAP> </WRAP>
-=== Print ===+== Print ==
 Clicking the **Print** button will print the complete Purchase Order form for sending to a supplier. Note that you should fill in relevant details on the //Details// tab before printing the order. Clicking the **Print** button will print the complete Purchase Order form for sending to a supplier. Note that you should fill in relevant details on the //Details// tab before printing the order.
-=== Confirm ===+== Confirm ==
  
 See the section above on "order status" for an explanation. Orders should be confirmed once the order has been placed with the supplier. See the section above on "order status" for an explanation. Orders should be confirmed once the order has been placed with the supplier.
  
-==== Check boxes on the General tab ====+=== Check boxes on the General tab ===
  
-=== Locked ===+== Locked ==
  
 When the locked check box is checked, the Purchase Order cannot be processed to the next status (confirmed or finalized) - refer [[purchasing:ordering_from_suppliers#order_status_explained|Order Status explained]]. When the locked check box is checked, the Purchase Order cannot be processed to the next status (confirmed or finalized) - refer [[purchasing:ordering_from_suppliers#order_status_explained|Order Status explained]].
-=== Auto calc usage ===+== Auto calc usage ==
  
 When the Auto calc usage check box is checked, each time you modify an item line, the usage for that line will be calculated. This is slower, but gives useful information upon which to base your ordering . Note that this option can also be turned on within the order line modifying window. When the Auto calc usage check box is checked, each time you modify an item line, the usage for that line will be calculated. This is slower, but gives useful information upon which to base your ordering . Note that this option can also be turned on within the order line modifying window.
  
-=== Print my signature ===+== Print my signature ==
 When the Print my signature check-box is checked, the user's signature will be printed on the Purchase Order if it has been loaded - refer [[admin:managing_users|Managing users]]. When the Print my signature check-box is checked, the user's signature will be printed on the Purchase Order if it has been loaded - refer [[admin:managing_users|Managing users]].
  
Line 625: Line 685:
 This tab allows you to record a range of information that will be entered on the Purchase Order when it is sent to the supplier. This tab allows you to record a range of information that will be entered on the Purchase Order when it is sent to the supplier.
  
-{{ :purchasing:modify_po_3.jpeg |}}+{{ :purchasing:modify_po_3.png?600 |}}
  
 === PO sent date === === PO sent date ===
Line 722: Line 782:
  
 ==== Location tab ==== ==== Location tab ====
- 
 This tab displays the locations of the items received, if this feature is used. Where details of the volume of available space in any location has been entered, and where details of the area/volume of item pack has also been entered, the remaining available space will be displayed. This tab displays the locations of the items received, if this feature is used. Where details of the volume of available space in any location has been entered, and where details of the area/volume of item pack has also been entered, the remaining available space will be displayed.
  
Line 728: Line 787:
  
 {{ :purchasing:loc_tab.png?650 }} {{ :purchasing:loc_tab.png?650 }}
 +
 +
 +==== Custom data tab ====
 +{{ :purchasing:screenshot_2021-05-10_at_15.42.17.png?650 |}}
 +
 +This tab contains all the custom fields created for the purchase order table in the preferences. See the [[preferences:custom_fields|]] page for details on how they are set up.
 +
 +You can enter any data in the fields as appropriate. When you click on the **OK** or **OK & Next** button the information in the fields is saved.
 +
 +==== Documents tab ====
 +{{ :purchasing:screenshot_2021-05-10_at_15.39.21.png?650 |}}
 +
 +This tab allows you to upload any documents you wish to the purchase order. The table shows you the documents already uploaded.
 +
 +To add a document, click on the **Add** button. A new window will open for you to select the file from your computer. Double-click on the file or click on it and click on the **Open** button to add it to the purchase order.
 +
 +To delete a document from the purchase order, click on the file in the table to select it and click on the **Remove** button.
 +
 +To view a file or download it, double-click on it in the list.
 +
  
 ==== Order menu ==== ==== Order menu ====
Line 733: Line 812:
 When the order modifying window is being shown, an extra menu is added to the menu bar: When the order modifying window is being shown, an extra menu is added to the menu bar:
  
-{{ :purchasing:extra_menu.png?200 }}+{{ :purchasing:extra_menu.png?300 }}
  
 == Copy order to clipboard == == Copy order to clipboard ==
Line 831: Line 910:
 |  //  Previous:  **[[purchasing: |6. Purchasing]]** | | Next: **[[purchasing:managing_purchase_orders|6.02. Managing purchase orders]]** //  | |  //  Previous:  **[[purchasing: |6. Purchasing]]** | | Next: **[[purchasing:managing_purchase_orders|6.02. Managing purchase orders]]** //  |
 ---- struct data ---- ---- struct data ----
 +pagestatus.status    : 
 ---- ----
  
  • Last modified: 2020/01/14 11:37
  • by lou