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

*Must be completed by 6/30/2023.

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 will see this message displayed regarding additional access scopes now required:

  8. To grant these additional permissions, you’ll have to do so from the Shopify interface. Make sure you are logged into your Shopify store and click the Settings button in the bottom left hand corner of your screen.
  9. In the window that opens, select Apps and sales channels in the left hand sidebar

  10. After doing so, click Develop apps towards the top of the window.

  11. You should now be able to see a list of your installed private apps. The application will most likely be called Zenventory, but these can be named anything when set up. Once you have determined the correct private app, click the Zenventory app in the list.

  12. You will be taken to a new page in the window. Towards the top of the window you should see a tab labeled Configuration. Click that tab and you should be redirected to a page that looks similar to this. 

  13. You’ll need to click the "Edit" button next to the Admin API Integration shown above. Once you’ve done so you should be taken to one last page that will allow add the additional needed permission. All previously granted permissions need to remain checked, but you’ll also need to check the box next the the permissions below. Note that these will automatically check the related read permission and that is to be expected.

    • write_assigned_fulfillment_orders
    • write_fulfillments
  14. After checking the permissions, you should now see a save button towards the top of the window in the top right. Once you click that, your permissions have successfully been updated.  Return to your Zenventory account to finish the update.

  15. Now that you have updated your permissions, you are almost finished!  Return to your Admin > Systems > Integrations tab in Zenventory, expand the Shopify integration again so that you can see the migration box and confirm that you have granted the required access scopes, and click Next Step.

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. 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.  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 on your setup.
  8. 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.
  9. 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.
  10. 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.  
  11. After selecting your items, you can click update quantities and set all quantities to zero for any selected SKU in a single action.

  12. 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.
  13. Setup a new workflow within the Shopify Flow app that will allow for the fulfillment requests to be automatically created if the item's on the order are fulfillable (have enough inventory).  The trigger will be Order Created, the Condition is "When Fulfillable is equal to True" and the Action is "Send Fulfillment Request."  See the picture below.  Make sure to turn on the workflow once you have created it. image-png-Aug-04-2023-09-05-01-9859-PM

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.