[BUG] - Restock not working for split fulfillment orders when removing line items — committed inventory gets permanently stuck

Hey everyone,

Been building an order management app for a while now and hit a pretty nasty inventory bug. Reproduced it consistently across multiple stores, so fairly confident this isn’t something on my end.

The bug specifically happens with orders that are split across multiple warehouses. Here’s the exact scenario that triggers it every time:

Starting inventory:

  • California Warehouse — 3 available
  • Texas Warehouse — 4 available

I create an order for 4 units. Based on routing rules, it gets assigned entirely to Texas (can fulfill the whole order from one location, minimizing splits). All good.

I then edit the order and add 1 more unit. Now Texas can’t cover 5 alone, so Shopify splits it — Texas gets 4, California gets 1. Still makes sense.

Now here’s where the workflow comes in. Our app’s approach to changing warehouses on an order is to remove the existing line items and re-add them with the new quantity. This is the cleanest way to let Shopify re-run its routing logic and assign the right warehouses fresh. Simple, straightforward.

So I go into Edit Order, remove the items with Restock checked. Here’s what happens:

  • California (1 unit) — removed and restocked correctly
  • Texas (4 units) — removed, no errors, but inventory never restocked

Texas committed stays at +4. Available stays at 0. The “Restock 4 units” checkbox was checked. The edit committed without any errors or userErrors. But the inventory just didn’t come back.

This is consistent every time — the first fulfillment group restocks fine, the second one doesn’t. Tested through both the Shopify Admin UI (Edit Order → adjust quantity → Restock checked → Update Order) and the GraphQL API (orderEditSetQuantity with restock: true). Both fail the same way.

The downstream effect is that Texas now shows 0 available even though nothing was ever shipped. The product looks out of stock, future orders get routed incorrectly, and the only fix is manually adjusting inventory at the location level — which isn’t sustainable.

Would really appreciate the Shopify team looking into this. Happy to share store details, order IDs, and inventory adjustment history privately.

Thanks

Hey @Liam-Shopify - would really appreciate your eyes on this if you get a chance. This is affecting merchants actively and we’ve been able to reproduce it consistently across multiple stores. Any guidance or escalation would mean a lot. Thanks so much!