Subject Area Concepts
Customer Order - Fulfillment - Shipment -Settlement Relationships
This subject area straddles the Customer Order and Retail Transaction subject areas. It is placed under the Retail Transaction topic because its end result is a retail transaction to settle the part of a customer order that is shipped and invoiced. It highlights the way CustomerOrderProductLineItem entities are mapped to CustomerOrderProductGroup entities through the associative CustomerOrderProductAssignment entity. The CustomerOrderProductAssignment entity by enabling a single CustomerOrderProductLineItem to be assigned to multiple CustomerOrderProductGroup entities allows a retailer to refactor customer orders down to the individual item retail unit level. This is important because it enables a retailer to choose different fulfillment pick and pack locations and times. This is the basis for ARTS support for refactoring customer orders.
The CustomerOrderProductGroup entity is classified by CustomerOrderProductGroupType. This has immediate relevance to fulfillment (as discussed here). It can also be used by the retailer for other tracking purposes unrelated to refactoring orders for picking, packing and shipping. For example, retailers can use it to designate special promotional items from regular items. Retailers have complete flexibility to create and use different CustomerOrderProductGroupType entities and associated groupings.
These product group-related entities are contained in the beige colored block of the entity diagram. The CustomerOrderProductGroup entity is referenced by a CustomerDeliveryInstruction entity. The CustomerDeliveryInstruction entity (and its dependent attributive children) tells the retailer where, when and how a customer wants their purchases delivered. The CustomerDeliveryInstruction entity also references the RetailTransactionShipment entity and the RetailTransactionShipmentLineItem entity. This is the connection point (or points) between a customer order and a shipment. Because the connection is mediated through the CustomerOrderProductGroup, retailers can refactor orders to:
•Split a single order into multiple shipments to the same or different destinations as directed by the customer;
•Pick pack and ship orders from multiple inventory locations to optimize customer service level; and
•Mix internal and external fulfillment (i.e. have a vendor ship all or part of the order directly to the customer).
The RetailTransactionShipmentItem is linked by a foreign key to a SaleReturnLineItem which is part of the RetailTransaction that is used to settle the shipped portion of a customer order. The customer order delivery entities are contained in the lime green block in the entity diagram.
Customer Order - Vendor Drop Shipment Relationships
Retailers may choose to have vendors fulfill CustomerOrderProductLineItem item orders directly by drop shipping the items to customers. This fulfillment alternative is supported through a foreign key from ICDMerchandiseLineItem to CustomerOrderProductLineItem. This relationship directly ties a customer order merchandise item to a purchase order (or analogous inventory document type) issued to a vendor supplier. Of course the ICDMerchandiseLineItem is part of an InventoryControlDocument (which represents the purchase order). In this scenario, the drop ship CustomerOrderProductLineItem entity instances are assigned to a "vendor fulfill" CustomerOrderProductGroup and that group's related CustomerDeliveryInstruction entities are shared with the vendor to enable it to complete a drop shipment delivery. The settlement of the drop ship transaction (i.e., the invoicing and settlement) is handled the same way as internally fulfilled order items. The retailer payment of the vendor supplier is handled through the invoice match and accounts payable process.