Hold Until Complete
From NewHaven Software Wiki
Specification discussion for a CMS customization being considered.
Contents |
Overview
When orders are placed on back order, in many situations it will make sense to hold the order until all of the items are available so it can ship complete. The current CMS behavior is designed to support a "ship asap" model which is better for cash flow and inventory movement but causes problems when trying to reduce the number of shipments for an order, be it for shipping expense or desire to deliver complete to the customer.
In CMS 9.0 we added a Back Order All function to make it easy to force an entire order onto back order but it does fall short of allocating stock to an order for the items available now. This prevents the user from being able to fulfill/allocate in a FIFO manner (allocating to the customers who requested the items first).
Proposal for Phase 1
The proposed Hold Until Complete (HUC) feature would work in conjunction both with CMS's existing Hold mechanism and Fulfillment Manager. If an order has any items on back order, CMS can place the order on hold using a new HUC hold type when the order is saved. Whether or not the order is placed on HUC will be based on:
- Order Entry option indicating if you want orders with back orders placed on HUC automatically
User can override the default behavior and manually set or remove the HUC flag after the order is saved.
HUC orders are released using the Fulfillment Manager's Back Order processing. This allows the user to have a single list of back order invoices, potentially a mix of HUC and non-HUC back orders, and can fulfill FIFO. No added filter is necessary, just click the radio button for All Orders Shown and then the button for Process Orders.
- Those orders with no HUC flag will fulfill based on settings on the options shown (partial orders can fulfill, partial items can fulfill) and fulfill onto a -2 (or later) invoice as is standard behavior now
- Those with a HUC flag (and no other hold flags) and all items available will fulfill onto the -1 invoice
- This fulfillment will set the fulfill date of the invoice to today, allocate remaining stock needed, and create a new payment if needed (the same as any other back order fulfillment) and will remove the HUC hold flag
Orders set as HUC can be reviewed in the Fulfillment Manager under the tab for Invoices on Hold where hold can be individually reviewed and edited as needed.
Additional enhancements include:
- Orders set as HUC cannot be returned/cancelled and the user will be warned if a return is attempted
- Employee permission will be added to indicate who can alter the HUC of an order
- Option in Order Entry, (location tbd, perhaps in the Holds UI) to refresh allocation on the order (so if some new stock has become available, allocations can be updated)
- Add filter to Batch Approvals to allow the limiting of processing to next X payments (display sequence should be FIFO) and should also show a total count of payments in the grid. Should the fulfillment of back orders (release of HUC) release more invoices into your fulfillment flow (printing, picking, shipping) than you want to deal with at once, you can limit how many you authorize which in turn limits how many will be printed (per CMS config.)
- If a user removes a HUC flag, we must keep CMS from resetting it on save based on the order entry default
- The HUC hold reason will be displayed on the order (location tbd, likely View Invoice)
- Refreshing allocation option - to allocate newly available inventory when editing an order.
Related Exceptions and Comments
- Orders that are a mix of future ship and back order items will not be candidates for HUC
- After fulfillment, there is no record retained to indicate that the order was previously HUC
- No reporting changes are considered for phase 1 but will be evaluated on a case by case basis as requested
- No specific option to deallocate is included although an item or order can be forced onto back order with currently available controls which does deallocate
Phase 2 possibilities
- Way to handle allocations so newly received stock can be committed to current HUC orders (those already saved but not yet fulfilled/released)
- Making the use of HUC conditional based on a global user-specified threshold of Expected Delivery dates for back ordered items (so items coming in soon may be worth holding an order for while others beyond the threshold may not be worth holding an order for.)
- Treating future ships in a similar way with allocations and fulfillments onto -1 (future shipping vs future fulfillment)