Fulfillment Orders Always Assigned to Default Location

@RobZone I can confirm the behavior @jonathanmterry is describing. It’s in production and I would consider it a critical bug.

I will walk through some screenshots. I’ve redacted some information for the client’s privacy.

Consider an order with two items.

The first item is stocked at a regular Shopify location:

The second item is stocked at our app location, which participates in fulfillment orders:

In Settings > Locations > View fulfillment priority, the app location is listed first:

Now, I’ve placed an order through the regular checkout containing the two items.

The expected result is that the order is placed, with one fulfillment order set to the app location, and with one fulfillment order to the Shopify location. In other words, the order should be split into two fulfillments.

Instead, the entire order is placed for the app location, even though we know it didn’t have stock for one of the items:

It gets even better! Not only is the app location’s inventory completely hosed:

But because we participate in fetch_stock.json and send a zero on the next hourly sync (because we have zero), Shopify magically moves the -1 Available to 1 On Hand, because I guess you don’t want On Hand to go negative:

Thereby causing the client to blame us for sending a “1” even though we did no such thing.

It’s all shockingly incorrect behavior from Shopify.

Won’t you fix the issue?