Shopify Incoming Inventory API Issues

Hey @Horse,

Thank you so much for sharing this! I’m going to dive it to make sure I fully understand.

Can I ask a few more questions to make sure I’m not missing anything here?

  • You seem to have a grasp of the current limitations. Is your post here primarily to report a bug, or is this more of a feature request/product gap that you’d like us to address?
  • Does this happen with incoming inventory to merchant managed locations or app managed locations?
  • Does our upcoming inventory transfers API’s resolve any of this? New GraphQL APIs for Inventory Transfers Management - Shopify developer changelog
  1. I need a solution. Users are complaining because Horse can’t zero itself out.
  2. Both
  3. If used exclusively then it might. I haven’t tested it yet. But I am hopeful that if an app did use it exclusively then it could resolve the issues. However, it doesn’t help everyone else that still uses the existing API. As long as the existing API exists, then apps will still get into trouble with no way out.

I’ve added your questions 2 and 3 to the website.

If you found this helpful, please contact Natalie (manager), Paul (Shopify Technical Merchant Support), Matt (Plus Technical Merchant Support), and Chloe M (Shopify Technical Merchant Support) who continue to misunderstand the issue. They keep misunderstanding the issue and providing unhelpful solutions to different unrelated problems. They are VERY confused and could really benefit from speaking with someone that understands the issue.

Thanks Marc,

I’ve been replicating this on my end to be sure I understand. This is what I’ve done and what I’ve found. Please let me know what I’m missing because it seems to work for me as expected and doesn’t get stuck, even after app uninstallation.

  1. Spun up a custom app and used the adjustInventoryQuantities mutation to add incoming inventory to a newly created product

  2. Uninstalled the app and checked the inventory.

  3. Used a separate custom app that has full permissions and the inventoryMoveQuantities mutation to move from incoming to available and the inventory looks to have moved.


There is absolutely a limitation on what merchants can do here though. The only places in the admin to adjust incoming inventory are through purchase orders and inventory transfers, but app managed inventory can only be managed by an app.

  1. Right good work. So you needed to create a second app to remove that incoming inventory. Not possible for regular store owners. That’s issue 1. Store owners are left holding the bag after uninstalling an app. They are stuck because they can’t do this themselves.

  2. You missed the part where issue 2 involves having separate incoming inventory. That separate incoming inventory can be from a Shopify Purchase Order (confirmed by me) or another app (unconfirmed but likely). When there is also incoming inventory from something else, then the app is “blind” when it just wants to zero out incoming. Re-read issue 2 to learn about the key concepts of “Net Total vs. App-Specific Inventory” and " Lack of Visibility"

NOTE: For issue 2, make sure not to use the knowledge that YOU have about how much inventory is incoming from a Shopify PO. YOU can see that but apps don’t. It’s kind of cheating to use that knowledge that an app is unable to know.

A work-around exists where a store owner could communicate with an app dev about how much is already incoming from Shopify. BUT, consider the case where we’re talking about hundreds of variants. So in that case it’s going to be A LOT of work for an app owner to communicate about ALL of those incoming quantities to an app dev. Not realistic, even as a work-around.

Finally note that this has already happened to me with 3 different store owners. So it’s a common issue. I, as a developer, can’t spend hours manually fixing everyone’s incoming inventory.

  1. Question related to issue 3: Did you use the same ledgerDocumentUri for both apps? The ultimate test of this would be to try to delete the location that you used for testing