Migrating EZ Fulfill To Shopify's New Fulfillment Workflow

NOTE: We're launching these changes on October 5, 2022, at 10:00 am EDT.  We will notify existing customers via email once the changes are live.

Over the past year, Shopify has migrated its fulfillment process to a more modern workflow.  They will deprecate the old fulfillment process at the end of this year, and we've been working hard to update EZ Fulfill to use this new modern workflow. 

We'll walk you through what to expect with this change, as there are features that Shopify no longer supports.  You can read Shopify's blog post about the changes here.

New Workflow

Shopify's new workflow focuses on what's called a fulfillment order.  A fulfillment order groups your order's line items by location.

Shopify now uses the fulfillment order to fill an order.  The previous workflow allowed us to look at the line items on the order, decide which line items we want to fulfill, and assign them to a location.

With the new workflow, we decide which line items we want to fulfill on which fulfillment order.  You can change a fulfillment orders location; however, we can not move line items to different fulfillment orders.  Line items associated with a fulfillment order can not be altered or edited.

Backward Incompatibility

With this workflow change, there are a few features we can no longer support.

  1. Shopify no longer supports adding multiple tracking numbers to a single fulfillment.  The Shopify API allows us to associate a single tracking number to each fulfillment.  There is no way around this.  If you need to add multiple tracking numbers to a fulfillment, you will have to create multiple fulfillment orders.  To ensure there are no unexpected mistakes, we're going to display an error if you try and add multiple tracking numbers in a single column by using a comma-separated list. 
  2. You can no longer "cherry-pick" line items (as we mentioned above), which means you can't move line items to different fulfillment orders or fulfillments.  You can not move line items associated with a fulfillment order.  However, you can move the location (more on this later) of a fulfillment order before you fulfill it. You can also associate line items with different tracking numbers, however, you can't move the location of individual line items in that fulfillment order.  It's an all-or-nothing move.

These are the two most significant changes to the workflow.  If you are concerned about the above modifications interrupting your workflow, please feel free to reach out and let us know.

Changes To EZ Fulfill

We had to make some pretty drastic changes to support the new workflow.  Overall the changes were positive, and we believe this builds a better fulfillment process.  We work hard to ensure there is as little impact on your workflow as possible, as we know these changes can cause disruptions.  Below are a few changes we made to accommodate the new workflow.

  1. You no longer have to provide a location when fulfilling orders - We believe this is the most significant improvement with the new workflow.  Previously, you had to select the location of your fulfillment.  If you're working with multiple locations, this could be a pain as you would have to specify, in your file, which location to use for your fulfillment. 
    1. When creating new data feeds, EZ Fulfill will now use the location on the fulfillment order when fulfilling orders.  We also allow you to select a location of a fulfillment order to fulfill.  This works differently than the previous workflow, as we can no longer set the location.  EZ Fulfill will use the location to look for fulfillment orders fulfilled at the provided location and ignore any fulfillment orders not associated with the selected location. 
    2. During our migration, we had to decide how to handle setting locations for already existing customers.  If you're already using EZ Fulfill, the app will use the location field to find Fulfillment Orders at that location to fulfill.  You'll need to update your data feed if you want EZ Fulfill to fulfill all fulfillment orders and use the location on the order.  Remember that EZ Fulfill will ignore fulfillment orders not assigned to your specified location when a location is selected.
  2. Moving Fulfillment Orders - Since we can no longer build fullfillments, we allow you to move the location of a fulfillment order.   Since moving a fulfillment order without your knowledge may cause unexpected behavior, we set this new field blank, so all fulfillment orders will not move until you log into EZ Fulfill and make the change.  You can also provide a move location in your upload file, similar to how the location field works.
  3. Fulfilling Orders With Multiple Tracking Numbers - Even though you can't cherry-pick line items on a Fulfillment Order, you can group line times by tracking number.  When fulfilling orders with multiple tracking numbers, you can associate the tracking number with the SKU and quantity.  When fulfilling the order, Shopify will create the fulfillment at the location with the tracking number and tracking company.  Remember, you can't edit the fulfillment orders, so you're not able to split the line items and change the location.  You can only group the line items by tracking number (and tracking company if provided).
  4. Run Time - One of the negative impacts of the workflow change is the run time.  We don't foresee this being a big issue; however, we now need to make multiple calls to Shopify to fulfill your orders.  We previously needed to make a single call to Shopify with the line items and fulfillment location.  Now we need to make multiple calls to get the fulfillment orders associated with your order, move your fulfillment order, and fulfill them.  Each action will mean another call to Shopify, which can add up, depending on your process's complexity.  We don't foresee a huge impact here, but we believe it's best to make you aware.

These are the significant changes to be made to the app.  We believe most merchants will want to use the location on the fulfillment order, but we understand that more complex processes need flexibility.  We think this will handle most use cases; if you feel we've missed something, please don't hesitate to contact us.

We still support the remaining features needed to auto-fulfill orders in Shopify.  You can still fulfill by order or SKU and quantity; you're able to update partially fulfilled orders; override tracking numbers; mark orders paid, etc.

We know these changes may impact your process, and we take this seriously.  Unfortunately, some things are out of our control, and we had to deprecate some features.  If you have further questions about this update, please don't hesitate to let us know.

Tags: new features, fulfillment, ez fulfill