Access a community of over 900,000 Shopify Merchants and Partners and engage in meaningful conversations with your peers.
UPDATE JAN 2:
UPDATE SEP 14
Hey Devs!
We've recently shipped a new change to help with identifying calls that we consider deprecated. We've added a new header to return on these calls:
X-Shopify-API-Deprecated-Reason
If you receive one of these headers in your response, this means Shopify considers that a deprecated call. This is an effort to allow these calls to be machine readable, and loggable, in order to assist developers in identifying the areas that need to be updated.
Examples of calls that will return this header:
- Creating a fulfillment without a location
- Creating a product with variants that have "inventory_quantity"
- Creating a new variant on a product that has "inventory_quantity"
- Updating a variant with "inventory_quantity_adjustment"
- Updating a variant with "inventory_quantity"
Happy Coding!
UPDATE JUNE 28:
Hey Devs,
Just want to let you know that we are extending the deprecation deadline from July 1st to August 1st. There will be a new post tomorrow with more details, but we just wanted to get it out there to maybe relieve some of the stress you are feeling headed into the weekend.
Most, if not all of your questions will be answered in the post tomorrow so try to save any queries for that!
Cheers All!
Ryan
Hey Devs,
Shopify is preparing to release multi-location inventory features to all merchants this summer. All apps that create fulfillments or manage inventory will need to be updated by July 1st, 2018, to remain functional on shops that track inventory across multiple locations.
Key dates
July 1st, 2018
Migrating to support multi-location fulfillments
Shopify fulfillments are currently ālocation unawareā, meaning that when an app creates a fulfillment and fulfills an order, Shopify decrements the inventory with no concept of which location that inventory should be decremented from. In order to support merchants with inventory allocated across multiple locations, apps will need to include a location_id when creating fulfillments.
For details on how to migrate your apps to support multi-location, see our Multi-Location Fulfillment Migration Guide.
Migrating to support multi-location inventory
Currently inventory is set and adjusted on the product variant and is not tracked by any particular location. In anticipation of multi-location inventory, Shopify has released a new Inventory API, which includes two new endpoints: Inventory Item and Inventory Level. The Inventory API will allows apps to effectively manage inventory quantities across multiple locations.
For details on how to migrate your apps to support multi-location inventory, see our Multi-Location Inventory Migration Guide.
Weāll keep you up to date as we continue to make improvements to our platformās multi-location fulfillment and inventory management capabilities, so you can continue to build the best apps to help extend these new features.
If you have any questions about this change, please read our detailed FAQ or contact deprecations@shopify.com.
Thanks,
Shopify Apps Team
Ryan | Shopify
- Was my reply helpful? Click Like to let me know!
- Was your question answered? Mark it as an Accepted Solution
- To learn more visit the Shopify Help Center or the Shopify Blog
Hi Jurgen,
There is a daily automated to check to see if the app has made any deprecated calls within the past week. Once there are no calls in the last week, the banner is removed.
Cheers,
Ryan | Shopify
- Was my reply helpful? Click Like to let me know!
- Was your question answered? Mark it as an Accepted Solution
- To learn more visit the Shopify Help Center or the Shopify Blog
haha so I must wait a week š Coolio haha thanks for the information. That should be added to the Locations Private Apps documentation.
Cheers!
Hey Ryan,
We have one customer of our app who had recently switched to a multi-location inventory setup and their inventory items are currently connected to a "Custom fulfillment service" location.
Following the API docs, when we POST to `/inventory_levels/set.json`, we specify `disconnect_if_necessary:true` in the request.
However, only one of their inventory items was able to get a successful response and the rest are giving a 422 error with the message: "Could not deactivate item at its location"
Any ideas what could be causing this?
Hi Jonathan, generally that is because the item has open pending commitments (needs to be fulfilled on an order). In order to force relocate these commitments to the new location you should use an /admin/inventory_levels/connect.json call with relocate_if_necessary: true.
Ryan | Shopify
- Was my reply helpful? Click Like to let me know!
- Was your question answered? Mark it as an Accepted Solution
- To learn more visit the Shopify Help Center or the Shopify Blog
Hey Ryan,
Thanks for the explanation!
I was checking with the customer over the weekend and had him send me over a screenshot of the variant detail page and noticed a field called "Inventory managed by" and it was set to this 3rd Party Fuliifillment Service.
I asked him if it's possible for him to change that to "Shopify" but apparently they can't do that as it would affect their process.
So I just want to confirm: for them to be able to use Shopify's multi-location inventory feature, the "Inventory managed by" field has to be set to "Shopify" correct? And there's no other way around it?
So I just want to confirm: for them to be able to use Shopify's multi-location inventory feature, the "Inventory managed by" field has to be set to "Shopify" correct? And there's no other way around it?
It really depends on what you mean by this. Having variants controlled by a fulfillment service just means that that variant is managed by the fulfillment service. A variant can not be stocked at a fulfillment service ("legacy" location), and a standard location simultaneously. That is the only restriction on it, which is on a per variant level.
Ryan | Shopify
- Was my reply helpful? Click Like to let me know!
- Was your question answered? Mark it as an Accepted Solution
- To learn more visit the Shopify Help Center or the Shopify Blog
Hey Ryan,
I think I understand.
So if they want to use Shopify's multi-location inventory feature, the "Inventory managed by" setting on the variant page will have to be set to "Shopify" right, since these are all Standard locations?
And if they change their mind later and want to go back to the Legacy location, they can change that setting back to that 3rd party fulfillment service but then they can't use the multi-location feature as you can't set the inventory on both the Legacy location and one of the Standard locations?
So if they want to use Shopify's multi-location inventory feature, the "Inventory managed by" setting on the variant page will have to be set to "Shopify"
I still don't know what you mean by this. What part of the feature?
An inventory item can be stocked at any amount of locations where legacy = false, but only one if legacy = true. That is the restriction to inventory when using a fulfillment service to manage the item. Setting an inventory item to managed by a fulfillment service, stocks that item at the location tied to that fulfillment service.
Hopefully that clears up the question?
Ryan | Shopify
- Was my reply helpful? Click Like to let me know!
- Was your question answered? Mark it as an Accepted Solution
- To learn more visit the Shopify Help Center or the Shopify Blog
Hey Ryan,
Sorry for all these questions.
The main thing I want to confirm is what the "Inventory managed by" setting should be for the merchant to be able to use multiple Standard locations. (for whatever reason, the UI also seems a little different in his store also, on our test store with multi-location enabled, it simply says "Fulfillment Service" instead of "Inventory managed by").
My assumption is this would need to be set to "Shopify" to be able to set inventory in the Standard locations, correct?
Just realized I was basically going in circles. What you said makes sense and I confirmed in the Shopify admin that you can only set inventory levels in multiple locations per variant if the "Inventory managed by" setting is set to "Shopify" (as the Location options disappear if you select something else).
Thanks and sorry again for all the comments!