Split Fulfillment Order With New Fulfillment Order Ids

Hi all,

I can split fulfillment orders (FO) via Shopify admin panel or graphql fulfillmentOrderSplit mutation.

Let’s say we have a FO with ID 1234 and 3 products A,B,C.

When i split the FO via admin panel or graphql fulfillmentOrderSplit mutation as A+B in one FO and C in one FO this happens:

1st FO: FO ID → 1234, Products: A,B
2nd FO: FO ID → 4354, Products: C

It successfully splits into 2 FOs. First one has the same FO ID as the original FO and second one gets a new FO ID.

I’d like my splits to be generated with 2 new FO IDs for various reasons.

Is the possible?

Hi @erginkeles - the current behaviour is by design in Shopify’s fulfillment system. The original FO is always retained for one of the splits to preserve fulfillment history and traceability. What would be the use case for this?

One of our customer is processing orders in an external software that we provide. They have almost 100 physical stores as fulfillment warehouses and 1 e-commerce warehouse.

When the order created, it’s in the e-commerce warehouse. Then our OMS takes action and if e-commerce warehouse inventory covers the order, the order stays there. If not, we look for another warehouse (with some rules) which covers the order alone. If still not, we explode the order to combinations (which can cover the most quantity of products) and OMS process restarts.

For example; an order with A,B,C products is crawled by this software with order id (for example 1111) and the original fullfillment order (FO) id (for example 2222). Let’s say no single warehouse can cover this order alone, so the OMS explodes the order.

For example:

Original FO
FO ID → 2222, Products A,B,C, we get the order.

First OMS decision
1st FO: FO ID → 2222, Products: A,B
2nd FO: FO ID → 3333, Products: C

We download these FO as 2 different orders, but since the order with 1111 FO ID is already exists in our system, we need to delete the original order with 3 items and re-write the 2-product FO as a new order.

If there is an error in the OMS process or the assigned warehouse marks one of the items in the 1st FO as out of stock, then the OMS explodes the 1st FO again.

So we need to delete the order with 2 products and and re-write 1-product orders as 2 new orders.

This deletion process makes our system more complex to manage.

In every marketplace, there is an order (as shopify order) and a package (as shopify fulfillment order). If we explode the order or the package, the order number stays the same, but the packages get new package numbers. We thought shopify system would act the same.

Could you use a metafield value to act as a pseduo-order number so that each split fulfilment order has a separate unique number you can reference?