How to migrate to the new Shopify Fulfillment Order integration workflow (App Store install method)

***Update required by 6/30/2023***

Use this walkthrough if you have initiated integration to Zenventory directly from the Shopify App Store.  If you have integrated using API keys as a private app, use this walkthrough instead to complete the update instead.  Click here for help identifying your integration method if you are not sure.

Prior to beginning the migration, you need to set your "Update Stock Mode" to be "Use Sellable Quantity" within your Shopify settings.

I. Pause the integration & re-authorize the app

  1. The first step in getting moved to the new fulfillment based workflow is to log into both your Shopify store and your Zenventory account with sufficient permissions to update settings on your integrations.
  2. Navigate to Admin > System > Integrations in Zenventory and expand your Shopify integration so that you are able to see your integration settings and manual actions.
  3. You should see a new box within your expanded integration that will help guide you through the Shopify Migration process.

  4. When you are ready to begin the update, check the box and select "begin migration". After doing so, your order imports for that specific Shopify integration will be paused. You will still be able to push stock updates and fulfill those orders as usual, but no additional orders will be imported.

    NOTE: You will still see this warning about order imports even if you have your integration set to only handle stock updates. No orders will be imported in this process and order imports will not be automatically enabled upon completion despite the warnings presented in the migration box shown in the screenshots. The migration process will create a Zenventory location, but you can still push stock updates to any location like you could previously. The integration is only limited to the Zenventory fulfillment location in Shopify. More detail can be found further down the article.

  5. The purpose for this is to aid you in clearing out/shipping those orders in preparation for the new fulfillment order workflow, as the pre-existing Shopify orders in your system that are not resolved before the end of this transition process will be unable to receive fulfillment data. We HIGHLY recommend fulfilling as many of these as possible in advance to minimize any data remediation that needs to be done after the migration process is complete.
    • If you have open orders that cannot be resolved immediately, no reason to worry. Later in the article we will guide you through the process of requesting fulfillments for any lingering orders to allow for Zenventory to re-import them in a state that allows you to send your fulfillment/shipping data as you could before.
  6. Once you have confirmed in the migration box that you have sufficiently dealt with any pre-existing Shopify orders from this integration in the system, it is time to click "Next Step" and proceed with the update process.
  7. You should now see the migration box prompting you to reauthorize the application. The reason for doing so is to allow Zenventory to interact with fulfillments and fulfillment requests on your behalf. This is necessary for Zenventory to continue to be able to import customer orders.

  8. After clicking Re-Authorize App, you will be redirected to Shopify and prompted to approve those additional permissions. Click Update App in the top right hand corner. After doing so you should be redirected back to your integrations page in Zenventory.

II. Update Zenventory's inventory location in Shopify

  1. To accommodate Shopify’s new requirements, Zenventory must now create a specific fulfillment location within your Shopify store for fulfillment orders to be handled in. Zenventory will only be able to relay stock updates and interact with orders through this location (unless Update Stock levels Only is selected). 
  2. If you only wish to use the integration for the purposes of stock level updates, you will still see this migration box, but you will be able to select your store location to push stock updates to upon the completion of the process.
  3. If you wish to change your settings to allow for the import of orders in the future, your stock location that Zenventory pushes updates to will automatically be changed to the Zenventory fulfillment location that is created as a part of this migration process.
  4. This pause in stock level updates is to allow for any needed export of inventory levels before proceeding.  Your inventory counts in your pre-existing Shopify Shop location will be left intact and any counts that are already present in Zenventory will not be deleted or overwritten in the Zenventory application.
  5. Check the box and click "next step" to pause your stock level updates.

  6. Once you are satisfied that your stock levels in Zenventory look good to send to your new Zenventory location, you should be able to check the box in the migration box and resume stock updates. Within 15 minutes (or immediately if you run the manual action), your inventory counts will be pushed up to Shopify in the new Zenventory location.

III. Set the new fulfillment location priority

  1. Now that the migration process has been completed, there are just a few more steps that need to be taken on the Shopify side of things to get this fully set up to be as hands free as possible. 
  2. The first step we need to take is to change your location priority in Shopify. This can be found in your Shopify account under Settings > Locations > Edit Location Priority. NOTE: If you have additional order routing logic setup in your account already, you will not see this location priority section and instead will be navigated to the Settings>Shipping and Delivery Page(if that is the case, move to step 4 below).     

  3. If Zenventory is your primary order fulfillment system, you’ll just need to drag Zenventory to the top of the list and click "Save". This will make it so all incoming orders will look to prioritize your Zenventory stock keeping location so that they can be used to request fulfillments. This is what allows Zenventory to continue to import your order data.

  4. If you were navigated to the Shipping and Delivery page from the Locations Page, then click "Manage" in the order routing section.orderrouting
  5. Now click on "Manage" in the used ranked location box.  managerankedlocations
  6. Adjust the location routing hierarchy so the "Zenventory" app is the first priority.  It should look like the below screenshot.rankedlocationsZenattop
  7. After saving the location rank priority, navigate to the Checkout section in the settings window in the left hand navigation panel.

  8. Scroll down until you see the section below and click Automatically fulfill the order’s line items. This configures your Shopify store to automatically generate fulfillment requests in Zenventory upon payment. Make sure to save your changes after doing so.

  9. If you have shipping rates set up, then you need to assign the new Zenventory location for use with those shipping rates in order for orders to be processed properly.  If you don't have any shipping rate profiles setup, then you can skip this step 9 & 10 and move to step 11 below.  Go to the Settings>Shipping and Delivery page and click "Manage" in your shipping rates.  You might have more than one shipping rate profile depending in your setup.
  10. After clicking "manage" scroll down to the bottom of the page and notice the Unassigned Locations section.  Assign Zenventory to the shipping rate profile from there.
  11. The only task remaining is to remove stock from your old Shop location in Shopify. Zenventory is pushing up inventory counts to the new Zenventory Location, and that location is now the main priority to be used for fulfillment. Depending on how your Shopify storefront is configured, it may still be accounting for the Shop Location counts in your displayed inventory counts.
  12. This is done by navigating to Products > Inventory in Shopify. Make sure to select the correct location to clear using the dropdown at the top of the page. ***IT IS HIGHLY RECOMMENDED TO EXPORT YOUR INVENTORY COUNTS FOR THIS LOCATION PRIOR TO PROCEEDING IN THE EVENT THAT YOU NEED TO REVERT***. The button to do so can be found in the top right hand corner of the screen on the inventory page.
  13. After selecting your items, you can click update quantities and set all quantities to zero for any selected SKU in a single action.

  14. Your inventory counts should now be displayed correctly in your Shopify storefront and any new incoming orders should automatically create a fulfillment order request to be imported into Zenventory for shipping and fulfillment.

IV. Remediating open orders imported into Zenventory prior to the migration

  • We understand that not all orders can be remediated within this time frame and have implemented an approach to allow you to continue to use Zenventory to fulfill them.
  • These orders will need to be canceled in Zenventory if they were imported prior to the migration, but getting them back into Zenventory as a fulfillment request is a quick one-time process.
  1. Make note of any orders needing to be recreated and open your Orders page in Shopify.
  2. Select any orders that need to be converted to have a fulfillment request and click the ellipsis (...) at the bottom of the page to expand the actions. After doing so, click Change Fulfillment Location.
  3. After doing so, you should see a new popup where you’ll want to select Zenventory from the dropdown and click change location.
  4. Your final step will be to keep those same orders checked and click the ellipsis button one more time at the bottom of the order grid. This time you’ll want to click Request Fulfillment.
  5. This will generate fulfillment requests for Zenventory to import. They will be imported into your system with a numerical suffix, but they will be pickable/shippable and properly relay that information back to Shopify just like the integration always has.
  6. If you followed the migration process, you won’t have to do this again for future orders. It is only applicable to orders that were imported into Zenventory and not remediated prior to the deadline.