Split shipments

How to fulfill your orders shipping from the available stock locations


You have an order containing several SKUs, whose stock is available in different locations and — possibily — belongs to multiple shipping categories. You want to optimize the fulfillment of the order's line items by checking all the stock locations (based on their priority) and creating, if necessary, more than one shipment.


You need to use the split shipments strategy. To do that, check the related option in the admin UI or send a PATCH request to the inventory_models/:id endpoint, setting the strategy attribute accordingly.


The following request explicitly updates the strategy for the inventory model identified by the "BwAezhyOQw" ID:

curl -g -X PATCH \
  'http://yourdomain.commercelayer.io/api/inventory_models/BwAezhyOQw' \
  -H 'Accept: application/vnd.api+json' \
  -H 'Authorization: Bearer your-access-token' \
  -H 'Content-Type: application/vnd.api+json' \
  -d '{
  "data": {
    "type": "inventory_modeld",
    "id": "BwAezhyOQw",
    "attributes": {
      "strategy": "split_shipments"

How it works

This inventory strategy affects the creation of the resources involved in the process by the following logic.


All the stock locations are checked in order of priority. If the primary stock location can fulfill all SKUs associated with the order, just one shipment is created from that stock location. Otherwise, one or more shipments are created from the secondary locations.

Stock line items

Each SKU associated with the order generates a stock line item that is also linked to the stock location from which its quantity will be fulfilled.

Shipping categories

In case the order contains SKUs belonging to different shipping categories, a shipment is created for each shipping category. As for the rest, the shipment splitting logic still works as described above.

Additional notes

Do not ship SKU

If an SKU is marked with the do_not_ship flag, no shipment is generated for it. The necessary stock line items are created anyway.

This option still tracks inventory.

Do not track SKU

If an SKU is marked with the do_not_track flag, stock line items are still created but they aren't associated with any stock item so that the stock isn't decremented/incremented on order placement/cancellation.

This option still generates shipments.

More to read

Last updated