Automatic Allocation

This article discusses automatic stock allocation mode "First come, first served".

 

When this mode is selected stock is generally allocated according to when the line was first entered. Same as for the other allocation mode (according to Estimated Date) we are working within the lead time set for the item. 

 

This automatic allocation must be run for a specific warehouse, it cannot be run for all warehouses at the same time.

 

It can be run selectively for items recently received in if you run it from the UI or it can be run for all items currently outstanding on sales events. The scheduled job available runs it for all items.

 

Holding Orders

Brand holding orders are speical. If you use these, please see section at the end for more information in addition to the section below.

 

Calculation Phase

The following rules apply to sales event line selection:

  • Items must be stock controlled.
  • Allocation rule must be “Automatic”.
  • Item must not be of type “Generic”
  • No hard back-to-back lines are included.
  • Cut-Off Date – This defines the time window the allocation is looking at. It is calculated as the first business day after today + lead time.
    • New system rule – “Ignore Lead Time when calculating ‘Next Available Date?’”. When this flag is enabled, the time window is extended by one year.
  • Lead Time Date – This is calculated as the day after the normal Cut-Off Date calculated above and is used as the date when stock will be available; in other words, it is used to set the ‘Date Estimated’ on the sales line if no other coverage is found. It will also cause the flag ‘No purchase cover’ on the event line to be set to true.
    • New system rule – If the new rule above is enabled, this date will be pushed to the day after the expected receipt of the furthest away purchase order found within the extended time window. If none is found, it stays as it is now (today + lead time).
  • All event lines with a required date less or equal to the cut-off date are included.
  • Any quantity linked to a sales line from a purchase order line via a soft back-to-back reduces the allocation requirement for the sales line and the available stock that could possibly be used for other lines.

 

Stock available for use/redistribution:

  • Just Received and Free stock currently in the warehouse is available today.
  • Any stock currently allocated to sales lines (but see exceptions below) is also added to today’s stock.
  • Stock due in in the future from purchase orders, reduced by any back-to-backs already earmarked for certain events. Overdue purchase orders are dated today or tomorrow, according to the setting for system rule “Treat Overdue Purchase Orders as…” or will be excluded completely if the rule is set to "Overdue (exclude from calculations)". 
  • Stock due in on transfers from other stock locations.

 

A ‘virtual’ allocation is done according to these rules:

  • The lines are dealt with in the following order. If you are not using Holding Orders only points 5 and 6 applies:
    1. Normal sales event lines already allocated to from a forecast holding order, where the “Priority Allocation?” rule is set to true.
    2. Forecast Holding order lines where the “Priority Allocation?” is set to true.
    3. Normal sales event lines already allocated from a customer holding event, according to the priority set for the customer.
    4. Customer holding order lines according to the priority set for the customer.
    5. Buffer Stock event lines.
    6. The remaining normal event lines.
  • The lines are then sorted within the above rules by their Date Created.
  • The lines are gone through and the stock reserved from what is currently available in stock. Once that has run out the stock is taken from expected purchase orders coming in. Finally, if no more stock is available the line is deemed to be fulfilled as at the Lead Time Date calculated above.

 

At the end of the virtual allocation round we know for each line how much stock we could allocate to it today (i.e. what we currently have in free and just receivecd stock) or how much should be de-allocated. We also know the final fulfilment date, i.e. the new “Despatch Estimated” date.

 

There are exceptions to the de-allocate/re-allocate rule:

  • If the option “Manually Release Shipments into Picking” is in use and the event line is on a shipment that has been released for picking, the stock will not be de-allocated. No additional stock will be allocated to the event line, even if it is available.
  • For pro-forma events, if the pro-forma status is “Sent” or “Paid”, the allocated stock is not changed in any way, i.e. neither allocated nor de-allocated.
  • Any event line that has been manually allocated will not have the stock de-allocated. 
  • Any event line where the stock has been allocated from a customer holding order will not have any stock de-allocated.
  • If the trading partner on the event is set to ‘Never automatically de-allocate stock’, it will not be.
  • A trading partner holding stock event will not have any stock automatically de-allocated unless the system rule “Auto-Allocation can De-allocate Stock from Holding Orders” is set to true.
  • A buffer stock event will not have any stock automatically de-allocated.
  • Any sales lines on events with excluded “Hold” statuses are neither allocated nor de-allocated. Statuses that can be set as excluded from allocation are Credit Hold, Payment Hold, Customer Hold, Margin Hold and Internal Hold. Likewise, there are options to exclude events where the customer is on stop or where the payment type on the event is ‘pay before shipment’ and no credit card details have been obtained from the customer yet. For sorting purposes, the Date Created for these lines is replaced with today's date.

Unless specifically stated above that stock will not be allocated, event lines can have more stock allocated if available.

 

Update Phase

  • All lines where the new calculated allocated stock differs from the current allocated stock are updated with the new allocated figure, as applicable. This means that any stock that should/could be de-allocated is de-allocated. However, where stock is available to allocate to a line this is only done if the required date is within the allocation window for the item. 
  • For users with multi-bin warehouses – you need to be aware that if you have stock in a bin that cannot be allocated from, the stock will not be allocated. It is however still ‘protected’ and as soon as the stock is moved to a bin that allows allocation, it will be allocated the next time the auto-allocation is run.
  • If changed, all lines have their “Despatch Estimated” date updated with the newly calculated fulfilment date.
  • The “No Purchase Cover” flag is updated – if the line is covered by a purchase order it is cleared but if it will not be fulfilled until lead time, it is set.
  • If there is any stock left in “Just Received” for the item this is moved to “Free Stock”.


Please Note: If an event line cannot have its allocated stock changed because of one of the exceptions listed above, the stock is still 'reserved' for that line. This means that there could be stock sitting in free stock at the end of the automatic allocation run. For this reason it is recommended that you turn off "Auto Allocate" in 'Brand Has Channels' in system desk and let the automatic allocation alone deal with the stock. Turning off this option means that no free stock will be allocated when an order is entered in demand desk or is received in via the Web Gateway/api.


Any allocation tweaks necessary can still be done via the manual allocation routines. Access to these can be limited via user authorisations.

 

Reasons for Allocation Not Taking Place

  • The item or an event is already locked - When the allocation is run for an item not only is the item and warehouse locked, every event with a line that may be changed is locked as well. This means that this routine is best run over-night. If an item has to be abandoned because of locking issues it will be re-tried two more times before it is left until the next time the automatic allocation is run. The locking issue is reported in the allocation audit log and can be seen when you enquire on it in Item Profile; F5-Current Stock View, then F12-Allocation Audit.

 

Points of Interest

  • Since the “Despatch Estimated” is calculated and updated in here the DEU queue routine should not be run as well.
  • Since hard back-to-back lines, non-stock controlled items and manually allocated items are not included in this type of allocation they currently do not have their “Due” flag updated.
  • The shipments for events are not recalculated where the “Despatch Estimated” dates have changed. For clients using the option “Manually Release Shipments into Picking”, this has no adverse impact.

 

Brand and Customer Holding Order Allocation (Sales Forecast)

Brand and customer holding orders, together with their associated outstanding sales events, are allocated before any other events via a separate process. This is the sequence of events for a specific resource and warehouse:

  • Find forecast holding events needing more stock to be allocated. All event lines are considered, irrespective of date required. 
    • Exception – There is a new flag on the forecast table, “Priority Allocation?”. This flag must be ticked for the holding event to be included here. Do not turn this flag off if you do not auto-allocate stock at event entry/edit. If this flag is turned off, the only time a normal event line will have the stock allocated from the holding order is when the stock is allocated at order entry and/or editing of the line. 
  • Find all normal sales events with lines still needing stock allocated where a forecast holding order exists. Again, all lines are considered irrespective of date required.
  • Now we have a list of events, pick up all outstanding event lines needing stock. This excludes pro-forma events ‘in progress’ and event lines with hard back-to-backs but includes events on hold or where the customer is on stop. 
  • The stock is allocated in the following order:
    1. Brand holding events, by date required
    2. Customer holding events, by date required
    3. Normal events, by date required.
  • The holding event lines will be allocated any stock available until it runs out. Required date on the event lines is not considered for the allocation, if the stock is there it will be allocated.
  • The normal event lines will then be allocated.
    1. Stock is taken from the holding order if it is available on the line dated the 1st of the current month. The ‘quantity despatched’ on the holding order line is updated by the same quantity, to show how much has been used so far. If stock is allocated from the holding event the allocation flag is set to ‘manual’, to stop it from being de-allocated in the usual automatic allocation routine.
    2. If not enough stock exists on the holding order, it reverts to the standard allocation routine where it will be allocated according to date required.
  • De-allocation of stock – any stock no longer needed on a normal event line (i.e. the line quantity has been changed down or it has been cancelled) is returned to the holding order line for the current month.


Brand and Customer Holding Order – Stock Allocation

Rules of engagement as follows when allocation from a holding order to a normal event line takes place at order entry/Gateway import or in the holding order part of the  automatic allocation.


Check if Holding Order exists:

  • If customer is set to allow holding order, we look for a customer forecast holding order. If none is found we look for a Stocking Profile holding order instead. 
    1. If a forecast holding order is found, we look for a line dated the first of the current month.
    2. For a Stocking Profile forecast order, we look for a line dated the same month and year as the required date of the event line we are trying to allocate.
  • If no customer holding order is allowed, we look for a brand holding order and an event line dated the first of the current month.
  • If none of the above finds anything, we revert to the standard allocation routine.

A valid holding order line has been found:

  • Forecast Holding Order
    1. If there is stock allocated on the holding order, use it to allocate stock on the normal event line. The ‘Qty Despatched’ on the holding event is updated with whatever quantity is used from quantity allocated on the line.
    2. If more stock is needed, the standard allocation routine is called.
    3. If the stock was being deallocated, it is returned to the holding order line, i.e. the ‘Qty Despatched’ is reduced and ‘Qty Allocated’ increased but only up to the required quantity on the holding order event line.
    4. For a customer forecast holding order, the EventLineDetailHOLD table is updated with any allocation quantity changes. The ‘quantity taken’ (i.e. used) is updated but will always be the same as the allocated quantity.
  • Customer Holding Order by Stocking Profile
    1. If there is stock allocated on the holding order, use it to allocate stock on the normal event line.
    2. If more stock is needed, the standard allocation routine is called.
    3. If stock is deallocated from the normal event line, it just goes back into general available stock.
    4. The holding order event line has the ‘Qty Allocated’ adjusted down for any allocated quantity used.
    5. The holding order event line has the ‘Qty Despatched’ adjusted for any change in demand, i.e. the original requested allocation quantity (can be + or -).
    6. The EventLineDetailHOLD table is updated with any changes to allocated and taken stock.


To explain, the EventLineDetailHOLD table is an audit trail. It is used by the automatic allocation to detect if a normal sales event line has been allocated from a customer holding event in the past. If that is the case it gets the priority from the priority set for the customer.