Ship to Store Process


Ship to store (STS) allow clients to optimize their inventory across different sources for in store pick up (ISPU) orders. Having the capability to move stock from one source to another, clients are able to manage orders with products out of stock on the collection point, request a source to ship them to the destiny source to then be collected by the customer.

STS Process

Ship to Store Process

Ship to Store Process

Previous to STS process

  • Order is imported into the system

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

Ship to Store Fulfillment Flow Ship to Store fulfillment Flow

Note * : SFS flow (ISI)

Note ** : ISPU flow (ISI)

Inventory Implications

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

On this diagram you can see how the stock will be updated based on the store actions on each source:

Ship to Store - Inventory Flow Ship to Store Process

Note * : SFS flow (Source A)

Note ** : ISPU flow (Source B)

In order to synchronize stock with other systems they must integrate to 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 type SHIPTOSTORE which will mean that the items have been transferred to another source.

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


In order to have STS active it is required to 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 use within the STS shipment requests SHIPTOSTORE

Key values

In order to identify different entities and events within the STS process there are a set of key values used on different messages as follow:

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. Needs to be defined for each line of the order. In case 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, on this case it will be SHIPTOSTORE to highlight that is an internal movement of products between 2 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

Note that orders will be sourced only to Sources that have the Capability defined to ship stock to another source. In order to configure such capability you can 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 directly from backoffice under the Source page:

Ship to Store Capability