PickPack - General Processing

PickPack picking window and calculation parameters

Nicholas Christou avatar
Written by Nicholas Christou
Updated over a week ago

PickPack processing happens periodically as a background task, with only exceptions needing to be manually reviewed. The process flow is as follows:

  • Orders marked as ‘Ready to Fulfil’ filtered down to the scoped ‘Picking Window’ based on the NeedByDate, customer config, and task parameters.

  • Orders are organized based on priority, with higher priority orders scheduled to process first.

  • Orders are processed sequentially, with a stock check performed for each. Where stock is available for fulfillment, this gets allocated to the order, which is then sent for picking.

The 'Picking Window' defines a range of orders close to the required NeedByDate, which are considered during each PickPack process run. The following factors are utilized in determining whether an order is within the window:

The 'EffectiveLeadTime' defines the amount of time available before an order must be sent for picking to be fulfilled by the NeedByDate. When the 'EffectiveLeadTime' is 0 days, the order must be sent for picking today. The EffectiveLeadTime is calculated by finding the difference between the current date and the NeedByDate, whilst also factoring in the time required for the order to get picked, packed and then subsequently shipped. An example of this calculation is shown below:

The 'EffectiveLeadTime' is also dependent on customer config since the PickTime and ShipTime can be overridden.

By default, any order with an 'EffectiveLeadTime' of 0 is considered to be within the 'Picking Window'. Orders with a C1 or C2 priority level specified with lead time greater than 0 will also be considered based on the scheduled 'Picking Window Parameters'.

An example picking window calculation is shown below:

A visual representation of the picking window can be reviewed using the 'PickPack Queue Dashboard'.

Opening the dashboard prompts you to select a scheduled task (does not need to be active). From the scheduled task parameters, the picking window will be derived and presented from the warehouse, pick/ship times, as well as the C1 & C2 picking window values. All orders within the calculated window are presented in the sequence in which these will be allocated during the next process run. (Please note: orders on hold, customer credit hold, etc. will be visible but highlighted in red and not processed.) This screen also allows for urgent orders to be manually selected and 'Emergency Processed', or for an immediate run request of the PickPack process.

As each order is processed, a stock check is performed for all corresponding order lines to ensure that all have available quantity. If any of the lines are 'out of stock', the order is not allocated or sent for picking, and instead remains in the 'picking queue' highlighted in yellow and ready to be rechecked on the next process run. Each time this occurs, a record of this is written to the changelog for the order stating which order line is out of stock.

When an order is processed and passes stock check, the following occurs:

  • Stock allocation for all order lines (debits the quantity available for picking)

  • Sets the orders 'SendToWarehouse' checkbox (transmission of data to warehouse)

  • Removes the order from the 'PickPack Queue' dashboard and moves to the 'Orders Sent to Warehouse' dashboard

Orders which have already had stock allocated and have been transmitted to the warehouse for picking can be viewed from the 'Orders Sent to Warehouse Dashboard' while the orders are still open.

This screen allows for orders to be manually selected and 'Emergency UnAllocated', in the case that stock must be freed up for use with the Emergency Process.


Working Example:

Consider the following scenario is demonstrated:

  • There are 4 Orders set as Ready to Fulfill, C1, C2, C3 and blank priority respectively

  • Each order contains 1 line for the same part with quantity 10

  • There is 20 stock available for the part (visible using the 'Stock Review Dashboard')

  • The C3 priority order falls outside Picking Window (the NeedByDate is set too far into future)

The outcome after the PickPack process run would be:

  • The C3 order is not seen in the PickPack queue screen and is therefore not processed

  • The C1 and C2 Order receive the stock allocation, sent to warehouse ticked, and orders are moved from the ‘PickPack Queue Dashboard’ to the ‘Sent to Warehouse Review Dashboard’

  • The Blank priority order is processed but not allocated due to lack of stock. The row in the queue would be highlighted in yellow and a changelog is written to the order. This remains in the ‘PickPack Queue Dashboard’ ready to be rechecked on the next process run.

Did this answer your question?