Skip to main content
The Mixed Orders feature splits a single basket into separate SFCC orders based on the hub (warehouse) that fulfils each product. When a basket contains products from more than one hub, Global-e and SFCC create one main order plus one or more sub-orders — one per hub. For example, if a basket contains products tied to two hubs, two orders are created, each containing the products for its hub. Sub-orders can be created in different currencies, depending on how the merchant account and hubs are configured on the Global-e side.
This is an optional feature. It requires Business Manager configuration and project code. See Required customization.

Limitations

Mixed Orders is not compatible with Pay By Link, which works only with single orders.

Required customization

The cartridges provide the necessary building blocks but leave the hub-specific logic to the project, because hub assignment is merchant-specific.

1. Custom product inventory lists

By default SFCC uses one inventory list per site. Mixed Orders allows a different inventory list per product, so stock can be managed per hub. To enable it:
  1. Set the site preference Use Custom Product Inventory Lists (geUseCustomProductInventoryLists) to Yes under Merchant Tools → Site Preferences → Custom Site Preference Groups → Global-e Settings.
  2. Implement the globale.getProductInventoryListId hook by overriding its handler onGlobaleGetProductInventoryListId.js (which returns null out of the box) to return the correct inventory list ID for a given product.
    The hook is only invoked when geUseCustomProductInventoryLists is enabled; otherwise the cartridge returns null without calling it.

2. Hub code on the SendCart product

The SendCart request (sent before the checkout page is shown) carries a HubCode property per product. It is null by default; for Mixed Orders it must contain the hub ID configured on the Global-e side. Override the globale.getPliHubCode hook handler onGlobaleGetPliHubCode.js (which returns null out of the box) to return the correct hub ID per product line item.

3. My Account / Order History / Order Details templates

On the storefront, mixed orders appear to shoppers as a single order: My Account shows the main order number, while the order page shows products and prices combined from the main and sub-orders. Shoppers are unaware of the split and see one order in the currency they used. The cartridge logic is based on the base SFCC My Account layout. When you enable Mixed Orders, review every template and script used by the My Account section and adapt any that you have customized away from the base SFRA/SiteGenesis implementation.

Order-update hooks

Mixed Orders has dedicated hooks for the multi-order lifecycle — for example globale.onAfterCreateMixedOrder, globale.onAfterUpdateMixedOrders, globale.onAfterPaymentUpdateMixedOrders, and globale.onAfterStatusUpdateMixedOrders. See the Hooks reference for arguments and return values.

See also