Order Management System (OMS) reached end of support in October 2024.
The documentation available here is intended for historical reference only and is not maintained.
For other Commerce-related documentation, see Adobe Commerce Documentation.

Ship to Store Process

The Ship to store (STS) functionality allows clients to optimize their inventory across different sources for in store pick up (ISPU) orders. The ability to move stock from one source to another enables clients to manage orders with out-of-stock products at the collection point and request a source to ship them to the destination source for customer collection.

STS process

This diagram illustrates the basic STS process

STS process

STS process

The STS process, in which orders are imported into the system, occurs in three major steps—Processes A to C.

  • Process A:
    • Source engine define who will play the Source A role
    • Shipment request is generated to Source A
    • Complete pick, pack, ship process
  • Process B:
    • Source engine allocate items to Source B
    • Shipment request is generated to Source B with details of items “Pending Arrival”
  • Process C:
    • Receive items from Source A
    • Complete pick, pack, ship process of full order

STS fulfillment flow

STS fulfillment flow

SFS flow (ISI) *

ISPU flow (ISI) **

Inventory implications

STS stock movements are tracked at the order line level to identify if an item is in progress for a source or is in transit (see flow above). Inventory will be updated to ensure there are no synchronization issues when integrating with other systems.

This diagram shows how the stock will be updated based on the store actions on each source:

STS inventory flow

STS inventory flow

SFS flow (Source A) *

ISPU flow (Source B) **

To synchronize stock with other systems they must integrate with the shipment message (customer_shipment_done) to identify when an item has been shipped/collected from a source. The shipping method will identify if the shipment is a SHIPTOSTORE shipment, which means that the items have been transferred to another source.

The line_confirmed message will be triggered once a line has been accepted/confirmed within a source, and it will allow other systems to update stock accordingly.

Configuration

In order to have STS active you must add following configurations:

Key Config Mandatory Description Sample value
ShipToStore enabled Yes Used to activate the possibility to request items to be shipped from one source to another, with this key set as true any order including the source_id on the magento.sales.order_management create message and hard allocated to a different source will generate a STS shipment request. true/false
sfs_shipping_methods SHIPTOSTORE Yes SFS shipping methods will activate SHIPTOSTORE to be used within the STS shipment requests SHIPTOSTORE

Key values

To identify different entities and events within the STS process there are a set of key values used on different messages as follows:

Key Value Message Description Sample
Pickup Location magento.sales.order_management.create The pickup_location field indicates where the customer is expecting to collect his order. It must be defined for each line of the order. If the shipping method of the order is ISPU and the pickup_location is missing the order won’t be imported in OMS. STS sample 1
Force Source Location (optional) magento.sales.order_management.create With the order creation is possible to pre-define the source location that will be providing the stock to the final pickup location. The source engine will force the sourcing to this specific source and will ignore other available options. STS sample 1
Shipping method logistics.warehouse_management.request_shipment The shipping method identifies how the products are expected to be shipped, and in this case it will be SHIPTOSTORE to highlight that is an internal movement of products between two sources. STS sample 1
Address type logistics.warehouse_management.request_shipment The address type is used to identify that the address where the shipment will be done is another source not the customer address. STS sample 2
Method logistics.fulfillment_management.customer_shipment_done The method identifies how the products have been shipped, on this case it will be SHIPTOSTORE to highlight that it was an internal movement of products between two sources, not a shipment to the customer. STS sample 3

Orders will be sourced only to sources that have the capability defined to ship stock to another source.

To configure such capability use the following field from the magento.inventory.source_management.update spec (see the Specifications section for more details.):

"capabilities": {
        "fulfillment": {
          "can_ship_to_source": "boolean"
        }
      }
....

Or, you can accomplish this directly in the OMS Admin in the Source view:

Ship to Store Capability