Order Fulfillment Utility

Summary of Requirement

ACME Co. is a white label manufacturer supplying nutritional products to a large, national retail supplement chain. The retailer places orders for a large amount of inventory to be fulfilled out of dedicated distribution centers. There are multiple Customer IDs (stores) for the Retailer associated with each DC. The same item can be on multiple orders, for multiple Customer IDs (stores), with different Requested Ship Dates.

As ACME Co. produces inventory some portion is allocated to each DC so that all DCs get some inventory from each production run. The quantity to allocate is based on a ratio of the original Quantity Ordered for each DC. So if the POs for the three DCs ordered 20, 10 and 5 of the same item, the available quantity would be allocated to each DC as follows:

  • (20 / 35) * Qty Available
  • (10 / 35) * Qty Available
  • (5 / 35) * Qty Available

The Quantity Allocated is then assigned a Ship Number. A Ship Number is assigned per truck, so if the allocated inventory is more than one truckload the allocated quantity will be split, and assigned to multiple Ship Numbers.

This process is currently done manually, with the user finding Orders for the available inventory, figuring out how much to allocate to each one, then manually adjusting down the Quantity Ordered on the original Orders by the quantity of inventory allocated to the DC, then putting the quantity allocated onto new sales orders that can be fulfilled and shipped. Because creating the “split” orders is a manual process, it induces errors in pricing and quantities, and it is time-consuming.

ACME Co. would like a utility that:

  • Identifies the open orders that need the available inventory
  • Figures out how to distribute the available inventory across the DCs
  • Provides the ability to assign the allocated quantities to one or more Ship Numbers
  • Creates new sales orders per Ship Number, showing the inventory assigned to that Ship Number
  • Update the original Sales Orders to show the “remaining quantity” ordered after the allocated quantities are put onto the new sales orders
  • Changes the Batch ID on the new orders to the “Released” Batch so that they are picked up by the SOAP Module (see DS0304).

Design Specification

View design specification CR0460