Summary of Requirement
ACME Co. is using GP with multi-bins enabled, and SOP Order Numbers are set up to allocate by document/batch. Sales transactions are saved in a batch, and any given batch may contain Orders, Fulfillment Orders, or both.
The Batch Allocate/Fulfill routine available in GP does not work well when inventory is located in multiple bins. If a default Sales Fulfillment Bin is specified, it will allocate/fulfill out of that bin, but then if the quantity is required greater than what is available in default bin it will allocate at the Site-level, but require manual user intervention on each sales line to complete the bin-level allocations.
ACME needs a SOP Batch Allocation utility that can automatically allocate/fulfill from multiple bins, and apply business-specific rules for selection the order in which documents should be fulfilled.
Documents should be processed oldest first, based on the ORIGINAL order. So if an order has been transferred from Order to Backorder and back to Order, the Document Date on the originating order should be used.
When several documents have the same Document Date, orders should be processed by oldest Customer first. Oldest Customer will be determined by the DEX_ROW_ID in the Customer Master table (lower DEX_ROW_ID equals older Customer). With one exception: ACME has two Customer Numbering sequences, one is all numeric, and the other is alphanumeric. Alphanumeric Customer Numbers should be processed after Numeric-only Customers. Within the Alphanumeric Customers, those should still be processed oldest first.
Bin numbers will have the format: 006-00-00-AR. Allocate from bins in the following manner:
• Use bins where the first segment is 006. 006- are Floor Stock bins, and orders will be allocated/fulfilled from the floor first. If more than 1 such 006-bin exists, allocate from the 006-bin with the smallest quantity first. Within a bin, for Lot-controlled items, allocate smaller quantities of the lot first.
• After allocating all inventory from 006-bins, allocate from all other bins (rack inventory) by smallest bin quantity to largest bin quantity. If all bin quantities are the same for an item:
o For Lot Controlled inventory, allocate on a FIFO basis using the Lot Number. The Lot Number mask will be YYMMDD-0000-000001, where the last 6-digits increment (this represents the production date and sequence).
o For non-tracked inventory, allocate from bin in alpha-numeric order.
If a sales line cannot be completely fulfilled, it should be partially fulfilled and the remaining quantity should be put into Quantity To Backorder. The fulfilled quantities are transferred to invoice, and the remaining backordered quantities are left on the open Order.
The allocation routine needs to handle both new sales lines with no allocations and no quantity backordered, and previously allocated lines with a quantity backordered. It should be possible to run the utility again on an order that has quantities allocated/fulfilled, and if new inventory becomes available, it should take quantities off backorder and allocate/fulfill them. In other words, until the order is transferred to invoice, running the utility again should be able to re-process documents and allocate MORE inventory to the document if more has become available.
There is NO serial numbered inventory.
Kits are being used. Kit components need to be allocated.
For regular Orders that are set to allocate by document/batch, the allocation routine should allocate and fulfill the order.
For fulfillment Orders that are set to allocate by document/batch, the allocation routine should allocate and fulfill the order, and set the Fulfillment Workflow Document Status to “Confirm Pick/Ready To Pack”. It should record the “Unconfirmed Pick” status as-if the user Confirmed the Pick, which set the status to Confirm Pick/Ready To Pack.
View design specification DS0523