STH and Delivery Consolidation

If not all of a Ship to Home or Delivery shipment's quantity is available at a fulfillment location, then transfers can be used to consolidate its items at a centralized location to be shipped together instead of splitting the shipment. Fulfillers are thus able to save on shipping costs while improving the customer experience by allowing them to receive a single shipment instead of multiple. 

In some situations, you may be able to partially fulfill shipments or consolidate items at multiple locations if necessary for your particular location network. This guide details the standard STH and Delivery consolidation cases and these additional scenarios.


Restricted Content

Consolidation is currently not supported with Future inventory.

How It Works

This is supported for both Ship to Home (STH) and Delivery shipments. In both cases, the original shipment is placed into a Waiting for Transfer step while inventory is transferred to the assigned consolidation location.

Both types of consolidation work with inventory reservations, though this may result in multiple consolidated shipments as items are evaluated individually.  For example, if the quantity of a line item reserved in the cart is increased or a new item is added, then Order Routing may make a new consolidation suggestion for the additional quantity or new item. This would result in multiple consolidated shipments at the time of shipment creation.

STH Shipments

Transfer shipments for STH Consolidation (STH-C) get created when one of the following two scenarios occur:

  • An order is placed for Ship to Home. If there is not inventory at any one location, then Order Routing automatically assigns a STH-C location and creates transfer shipments to transfer inventory to the STH-C location.
  • An order is placed for Ship to Home and assigned to a location. While fulfilling the order, the fulfiller finds that there is not enough quantity at the location and requests a transfer for the quantity that isn't available. Order Routing determines the optimal qualifying locations to transfer inventory to the parent location.

If the shipment is rejected by its parent location, then the shipment will either be cancelled or placed into Customer Care depending on the Order Routing after-actions that are configured.

Diagram of the Consolidated Ship to Home workflow

Delivery Shipments

Delivery follows a similar method as Ship-to-Home Consolidation when not enough inventory is available at the chosen delivery location. If there is inventory at transfer locations, then transfers will be created to consolidate all items at the delivery consolidation location with no inventory (either the provided location selected by the customer or the location determined to have the shortest distance from the customer).

This diagram illustrates the basic delivery process flow, with options for whether a transfer is needed to supply missing inventory or consolidate shipments (which follows a similar process as that for STH Consolidation). 

Diagram of the Delivery workflow

Enable Consolidation

Consolidation is enabled and configured separately for STH and Delivery fulfillment methods.

STH Consolidation

First, enable STH-C in your site's transfer settings.

  1. Go to System > Settings > General > Site.
  2. In the Transfers section, toggle on Ship to Home Consolidation. Transfer Shipments site settings with a callout for Ship to Home Consolidation
  3. Enable Multiple Consolidation if you want to route items through multiple consolidation locations when there no single consolidation location is appropriate for an order and you don't want to use force consolidation (Step #7) to handle that scenario. This requires additional configuration of location attributes and Order Routing logic. See the Multiple Consolidation section for more details.
  4. You can optionally set a Default shipping method for STH transfers.
  5. Toggle on Allow Partial Fulfillment if you want to ship items separately when some of the quantity in a shipment is available at the consolidation location, while the remaining quantity is pending transfer to the location. In this case, available items will be moved to a new shipment that can immediately proceed with fulfillment. The transfer items will remain in the original Waiting for Transfer shipment until they arrive. See the Partial Fulfillment section for more details.
  6. Toggle on Cancel transfer shipment/item if you want to cancel transfer shipments and items when a cancellation occurs on the parent shipment. If you enable this, you can also select which fulfillment steps to restrict cancellation on.
  7. Toggle on Force consolidation with 0 Inventory at consolidation location if you want to consolidate even when there is no inventory at any STH-C enabled location. If enabled and there is inventory at transfer locations, then transfers will be created to be consolidated at a STH-C location with no inventory (either a specified location or the location determined to have the shortest distance from the customer).
    • You can override this site setting in the Create Order API request by enabling or disabling the forceSTHConsolidationOnSplitShipments field.
  8. Click Save.

Then, STH-C must be enabled at the location level. In order for Order Routing to use consolidation, at least one other location in the group must have transfers enabled in addition to a centralized location being available.

  1. Go to Main > Orders > Locations.
  2. Select a location from the table.
  3. In the Transfer settings section, toggle on Ship to Home Consolidation if you want that location to be able to consolidate shipments.Close-up of the Transfer Enabled and Ship To Home Consolidation toggles
  4. Click Save.

Delivery Consolidation

First, enable Delivery Consolidation in your site's transfer settings:

  1. Go to System > Settings > General > Site.
  2. In the Transfers section, toggle on Delivery Shipment Consolidation. The Delivery Consolidation site setting configurations
  3. You can optionally set a Default shipping method for the transfer shipments.
  4. Toggle on Allow Partial Fulfillment if you want to ship items separately when some of the quantity in a shipment is available at the consolidation location, while the remaining quantity is pending transfer to the location. In this case, available items will be moved to a new shipment that can immediately proceed with fulfillment. The transfer items will remain in the original Waiting for Transfer shipment until they arrive.  See the Partial Fulfillment section for more details.
  5. Toggle on Cancel transfer shipment/item if you want to cancel transfer shipments and items when a cancellation occurs on the parent shipment. If you enable this, you can also select which fulfillment steps to restrict cancellation on.
  6. Toggle on Force Consolidation with 0 inventory if you want to consolidate even when there is no inventory at any consolidation location. If enabled and there is inventory at transfer locations, then transfers will be created to be consolidated at a delivery location with no inventory (either a specified location or the location determined to have the shortest distance from the customer) If the system cannot identify a valid delivery consolidation location, it will follow the after-actions defined in your Delivery routing strategy.

Then, consolidation must be enabled at the location level. In order for Order Routing to use consolidation, the consolidation location must also be enabled for Delivery fulfillment and at least one other location in the group must have transfers enabled.

  1. Go to Main > Orders > Locations.
  2. Select a location from the table.
  3. In the Transfer settings section, toggle on Delivery Consolidation if you want that location to be able to consolidate shipments.The location transfer settings enabled for Delivery Consolidation
  4. Click Save.

Fulfillment Process

Transfers can be requested during the Validate Stock step of the fulfillment process. The process will be similar to the non-Consolidation BOPIS example shown here. When an STH or Delivery Consolidation shipment requires transfers, then the shipment will be moved into the Waiting for Transfer step as long as some quantity in the shipment is still pending transfer to the location. 

Transfers are listed with their shipment number, assigned location, and current status as well as a table detailing the items included in that transfer. The Review This Transfer button will redirect you to its shipment details listing at the assigned location, allowing you to view and fulfill that transfer if you have access to the location.

Example of the Waiting For Transfer step with a single item

The below example shows a case where one item is already in stock and multiple transfer shipments have been created for the remaining items. Each transfer shipment is listed as its own separate table.

Example of the Waiting For Transfer step with multiple items

Partial Fulfillment

By default, you must wait until all inventory is received before continuing with fulfillment of any quantity. But if the Allow Partial Fulfillment site setting is enabled, then you can move any available items to a new shipment for immediate fulfillment instead. This new shipment retains the original shipping info and will be displayed in the Admin order details. The transfer items will remain in the original Waiting for Transfer shipment until they arrive at the location and can continue with fulfillment. 

This can be done by calling the POST .../api/commerce/shipments//itemsReadyForPack API endpoint with a list of line item quantities, such as in the below example. This will move those items to a new shipment that can immediately continue with fulfillment. 

{
  "items": [
    {
      "lineId": 1,
      "quantity": 2
    }, 
    {
      "lineId": 2,
      "quantity": 1
    }
  ]
}

Multiple Location Consolidation

Order Routing will prioritize consolidating STH shipments at one location when possible, but if a single location cannot be identified due to location network restrictions then multiple consolidation locations can be used instead. This reduces manual intervention and exceptions when needed, and lets you design more efficient routes between locations in a complex network. 

This is particularly useful in cases such as transfer hubs that can only transfer inventory to a specific set of shipping locations, thus requiring multiple consolidation locations when inventory is available at different hubs. For example:

  • Transfer Hub A has 50 quantity of Item A and can transfer to Location 1, Location 2, and Location 3.
  • Transfer Hub B has 50 quantity of Item B and can transfer to Location 4, Location 5, and Location 6.
  • An order is placed for 5 quantities each of Item A and Item B, and requires consolidation as no inventory is available at shipping locations. 
  • With multiple consolidation enabled, 5 quantities of Item A would be routed to Transfer Hub A and then to its transferable location nearest to the customer. Meanwhile, 5 units of Item B would be routed to Transfer Hub B and then to its transferable location nearest to the customer.

Configure Multiple Location Consolidation

In addition to enabling Multiple Consolidation in the Ship to Home site settings, you must configure an extensible attribute to define location relationships and Order Routing filters to handle them. 

  1. Go to System > Schema > Location Attributes.
  2. Click Create New Location Attribute.
  3. Enter the general attribute information and toggle on  Available as Order Routing Filter.
  4. Set the Input Type to "List" with a Data Type of "Text."
  5. Enter label:value pairs in the Add Value or Label Value text field to define the Location Code of all potential consolidation locations.Attribute configurations showing a list of location options
  6. Go to  Main > Orders Locations.
  7. For each transfer location, set the attribute to that location's associated consolidation location(s).The attribute on an example location
  8. In the Order Routing UI, go to the Filters page and create a data point filter that compares location codes with your attribute. In this example, the "pickup location code" refers to a potential consolidation location and so the filter will determine whether transfers to it are valid from a given transfer location. An order routing filter for comparing locations
  9. Go to the Scenarios page and apply this filter to your Transfer scenario(s).A transfer scenario with the filter applied


Restricted Content

Internal-Only Notes

There are some additional multiple location consolidation and general Order Routing consolidation logic notes that internal users should be aware of.

Multiple Location Consolidation Attribute

A new tenant attribute definition for the extensible location attribute should have been created automatically. This is used to trigger multiple consolidation, so if it was not set up then you will need to create it via the Tenant Attributes API as shown below (where the tenant attribute is MultipleConsolidationFilterFQN).

A sample Tenant Attributes API call

Once defined, update the tenant to specify this value and map it to the attribute:

  1. Go to the location attributes page for the attribute and copy the FQN from the URL.Callout of the FQN in a URL
  2. Add a new tenant attribute to the existing tenant that maps to this value.An API call mapping the attribute to the FQN
  3. Multiple consolidation logic should now trigger after the cache refreshes.

Order Routing Logic

This section provides details about how both STH and Delivery Consolidation are handled by Order Routing for internal reference.  First, there are some prerequisites to be aware of:

  • There must be at least one location that is direct ship or delivery enabled.
  • There must be at least one transfer-enabled location.
  • Consolidation must be enabled in the site settings.

When an order is placed that has more than one item, Order Routing logic runs in the following order to determine the optimal fulfillment location(s):

  1. If any of the locations is enabled for STH/Delivery and has all requested inventory available, no consolidation is needed. The items will fulfill directly from the single location.
  2. If consolidation- and transfer-enabled locations have inventory but there is not enough inventory in any single location, then one of the consolidation-enabled locations with inventory will be selected as the parent location. Transfers will be created from locations with inventory and shipped to the parent location for consolidation.
  3. If there is no inventory at any of the consolidation-enabled locations but there is inventory at the transfer locations, the system will look at the Force consolidation with 0 Inventory at consolidation location flag.
    • If enabled, transfers will be created for consolidation at a consolidation location with no inventory (either a specified location or the location determined to have the shortest distance from the customer).
    • If disabled and no locations are STH or Delivery enabled (even if they have inventory), then the requested items will go into Customer Care or Cancelled depending on the configured after-actions.
    • Even if multiple location consolidation is enabled, Order Routing will always try to find a single consolidation location first. Logic to assigns items to more than one consolidation location will only be used if there are constraints to a single consolidation location. 

Be aware of the following behavior:

  • Order Routing will always attempt steps #1 and #2 first. Even if you specify a location and enable Force consolidation with 0 Inventory at consolidation location, another location may be assigned if it fulfills the requirements of those previous steps.

  • Order Routing configurations for full match, partial match and no match behavior are followed when determining the locations to ship or deliver from and the after-actions.

  • Since location is specified at an item level and not at an order level, you must ensure that the location is the same across all items when specifying a location where you want to force consolidation.

  • If you want to overallocate at a specific location for the item, you can specify the location in the Create Order request and make sure Force consolidation with 0 Inventory at consolidation location is disabled. See more details about overallocation below.

Overallocation

If you specify a location with the force consolidation flag disabled, it means that you want to ship or deliver from only the specified location even if that means overallocating at that location. Since a location is already determined, Order Routing will not be invoked. In this case:

  • If the specified location is enabled for STH/Delivery and has enough inventory, items are shipped from the location.
  • If the specified location is enabled for STH/Delivery and does not have enough inventory, overallocation will happen at the location.
  • If the specified location is enabled for STH/Delivery and consolidation but doesn't have enough inventory, overallocation will happen at the location. Even if other transfer locations have inventory, Order Routing will not be called. No consolidation will take place.