A space to discuss GraphQL queries, mutations, troubleshooting, throttling, and best practices.
Hello Shopify Support,
Context
We have multiple locations in a shopify store and have configured these in the location priorities section of the settings page. We have noticed shopify will increment "committed" inventory for a SKU against specific locations in order of location priority. Example:
1. Lets say priority order is locations: A, B, and C
2. Lets say A and B have 0 of SKU X and C has 10 of SKU X
3. We noticed when an order comes in for 10 of SKU X shopify will automatically assign the order to the location C as expected
However, there are some edge cases where lets say A, B and C all have sufficient inventory to fulfill order for SKU X, but the order is closer (distance from location to shipping address) to C then it is to A, in which case shopify does not account for distance allocating "committed" inventory and instead commits against un-optimal location A instead of C.
There is another edge case where location B or C may be able to ship the order in less packages than location A in which case we would want to choose B or C over A when "committed" inventory is calculated.
Problem
Currently, we are solving these edge cases above by having our shopify app create fulfillments against the locations we deem more optimal (due to distance or minimizing packages), so that we can correct shopify's "committed" value. These fulfillments are created as soon as we see the order in shopify to ensure there is no sizeable time window in which "committed" inventory is incorrect.
This is a problem because now, customers are not able to cancel their orders. Shopify will not let customers cancel orders if fulfillments are created against an order.
We have considered waiting to create the fulfillment until we print the shipping label for the packages, however this causes issues with 3rd party shopify apps and OMS's not being able to see what our shopify app is fulfilling which case can lead to double physical fulfillments from different FC's.
Question
From what I have seen on shopify's public documentation: https://shopify.dev/api/admin-rest/2022-04/resources/location
I could not see any other way to introduce changes to shopify's logic for "committing" inventory against locations.
Can someone from shopify support advise on if there are any other mechanisms available in the locations API or the shopify admin console settings which can alter the behavior of the "committed" inventory allocation.
Best,
Krishnan
Hi @Krishnan, this is a highly customized advance order routing logic that Shopify will not be able to assist you with right out of the box. Duoplane is an app that can achieve it by using liquid logic to put multiple rules in place to route your orders even for those edge cases you've mentioned.
On top of advance order routing, Duoplane is able to automate inventory syncing and shipment feed too. You can check out the Duoplane website here, or the app store listing here. You can get a free trial before any commitment too. Highly recommend you read the amazing reviews on the app listing or website :). All the best and hope this helps!