More on Fulfillments and Advanced Fulfillment Use Cases

More on Fulfillments and EasyRoutes

EasyRoutes is deeply integrated with your Shopify orders and works by either fulfilling items on your behalf to create a fulfillment on a route stop, or by using a fulfillment that exists on an order that you want to deliver.

This is done by through creating or updating Shopify order fulfillments, and this also triggers Shopify or EasyRoutes notifications based on your store and app settings.

In general, when a route stop has a status update, EasyRoutes attempts to:

  • create FulfillmentEvents on the order fulfillment that's related to the route with the appropriate status.
  • create or update a fulfillment where we add the EasyRoutes tracking page link to the fulfillment when we fulfill your order, based on your store and EasyRoutes settings

For more on the topic, also refer to:

Other notes:

  • Unless an order is Fulfilled, EasyRoutes cannot sent Out for Delivery or Delivered notifications via Shopify. Learn how fulfillment works with Shopify. If you are using Shopify's notifications, when an order is fulfilled, it generally will send the Shipping Confirmation email.
  • If you are using EasyRoutes notifications, you can optionally send the Ready for Delivery notification at this time as well. You can manually send it by clicking the button underneath the route map if you do not want to fulfill orders or if there are new stops added to the route.

Below is an explanation of how to use our advanced fulfillment features.

Fulfillment Options: How to use Existing Fulfillments or to Fulfill the Remainder of an Order in EasyRoutes

Fulfill remaining items or use the most recent fulfillment (Default)

When creating a route with orders that have fulfillments, EasyRoutes will select the remaining unfulfilled items by default and have that reflected in stop inventory, packing lists, tracking pages, etc. If no unfulfilled items are found, EasyRoutes will attempt to use the most recent fulfillment.

Selecting and using a different existing fulfillment, or switch

Once you have a stop created for an order on a route, you can select and use a different existing fulfillment on an order.


  1. Click on the list of items for an order on a route (e.g. where you see <x> items with a dropdown arrow)
  2. Click on 'more actions' for the fulfillment or the unfulfilled items that you want to use
  3. Click on "Use this fulfillment" or "Use these items"

Cancelling a fulfillfilment using EasyRoutes

If you want to unfulfill an attempted order before redelivering it, you can do this with our cancel fulfillment functionality. (Note: you can only do this if you do not have unsaved route changes)


  1. Click on the list of items for an order on a route (e.g. where you see <x> items with a dropdown arrow)
  2. Click on 'more actions' for the fulfillment that you want to cancel
  3. Click on cancel fulfillment

Advanced: Use specific fulfillments and/or items (beta)

You can further customize what unfulfilled items or fulfillments are used once you've created a route by accessing Edit stop -> Advanced Options


  1. Use the "Edit stop" action on the route page to access the desired stop and order you want to modify items for
  2. Navigate to the Advanced Options section and review your Stop items
  3. If you want customize this further, click on Select items from latest order data
  4. Select the fulfillment items that you want to use and fulfill
  5. Click Update once you've made your stop edits.

What is Update order data?

Note:  If you do make edits to an Order or its Fulfillment after a route has been created, you can use the Update Order Data feature to refresh the order information in EasyRoutes:

Always show all items on a stop

If you wish to use all items in an order regardless of fulfillment status, you can change this behaviour via the EasyRoutes Settings found in the General tab:

Showing non-shippable items

By default, EasyRoutes only works with items that require shipping. However, you can view non-shippable items in EasyRoutes for your routes if you enable "Include non-shippable items" in your EasyRoutes app Settings (located under General -> Fulfillment Items).

Adding custom items on a stop

You can also add and show additional custom items on any EasyRoutes stop. Custom items are not attached to fulfillments and this can be helpful in particular scenarios.

  1. Use the "Edit stop" action on the route page to access the desired stop and order you want to modify items for
  2. Navigate to the custom items section
  3. Add the desired custom items by entering all the appropriate item names and quantities.
  4. Click Update once you've made your stop edits.

Customizing your Fulfillment Workflow

In general, EasyRoutes creates a fulfillment and adds a tracking link to our tracking page as a route is prepared for Delivery for us to be synced to Shopify's notifications, and for us to integrate deeply with Shopify's FulfillmentEvents for each of our delivery statuses

By default, orders will be fulfilled whenever a status is applied to a stop (Ready for Delivery, Out for Delivery, Delivered or Attempted Delivery). Orders will also fulfilled or have its relevant fulfillment updated when...

  • mark stops as Ready for Delivery and the order is unfulfilled.
  • ...your driver starts their delivery route by tapping the Start Route button in their mobile app. This will mark the order as Fulfilled and Out for Delivery and trigger the Out for Delivery notification.
  • manually change an order status to Out for Delivery within a route in EasyRoutes.
  • or your driver marks an order as Delivered. This will mark the order as Fulfilled and Delivered and trigger the Delivered notification.
  • ...your driver marks an order as Attempted. This will mark the order as Fulfilled and Attempted and trigger the Attempted Delivery notification

If you have EasyRoutes Premium, you can further customize when EasyRoutes fulfills your order.

  • Option 1 - all orders: You can find this setting under the "Fulfillment orders" section of Settings -> General: 


  • Option 2 - individual order: you can find modify this same setting for any individual stop by using the "Edit stop" functionality

If you'd only like to fulfill orders when they are delivered, there a few options:

1. Adjust this setting to only fulfill when the "Delivered" status is applied

2. You can deliver the route without changing stop statuses until the stop is delivered. If you'd like to send a Ready for Delivery notification, you can use the "Send Ready for Delivery notifications" button below the route map: 

How to Manually or Partially Fulfill an Order in Shopify and then use the fulfillment in EasyRoutes

You may have a unique setup where it might be helpful to deliver a particular fulfillment that needs to be created outside of EasyRoutes. Follow the steps below to fulfill an order manually. Then you may use our Select and use an existing fulfillment method above for selecting the correct fulfillment and items for delivery.


  1. From your Shopify admin, go to Orders.
  2. Navigate to the desired order.
  3. Click "Fulfill items" within the "Unfulfilled" panel for this order.

  1. Set the number of products that you want to fulfill for each line item in the Items section.

  1. Click the "Fulfill items" button. The order screen updates to display the order's Fulfilled and Unfulfilled items.

If you are using this workflow regularly, we recommend enabling "Add a tracking link to orders fulfilled outside of EasyRoutes without tracking links" in Settings -> Notifications -> Tracking link.

Shopify does not allow you to partially fulfill Shopify Local Delivery orders. If you have a Local Delivery order you want to fulfill, you will need to Duplicate the order and work with that order for your routing.

Troubleshooting Fulfillment-Related Issues

Shopify-related Errors

Occasionally Shopify is unable to create fulfillments for particular orders. You may attempt to create fulfillments by clicking on Try Again. This is usually a temporary issue with Shopify that resolves itself in a few minutes.

Other common troubleshooting scenarios and remedies

  • My driver forgot to start the route: trigger this manually by marking the stops manually as Out for Delivery to trigger the desired notification.
  • I manually modified or canceled a fulfillment outside of EasyRoutes: Use "update order data" on your route after manual unfulfillments to ensure accurate fulfillment information. Alternatively, you can unfulfill orders directly within EasyRoutes.
  • For cancelling fulfillments via Shopify and I want to deliver again: Begin a new route and add those orders to that route, treating it as a fresh one.
  • My Items or order status and information is out of sync: Currently, we sync order details on routes when they are fulfilled or when you office staff dispatches a route to a driver -- it would have the latest information at that point. It can be done manually at any time as well by using the Update order data feature.
  • I am looking to redeliver an attempted stop again:
    • You can send this stop to a desired new route. We support multiple workflows on this, depending on how you want to manage fulfillments. Examples:
      • cancel the fulfillment using EasyRoutes, then send this stop to a new route as a copy with a new status. customers will receive a new tracking link or notification as a part of your workflow.
      • move the stop to a new route, preserve the tracking link and the status will be appropriate updated on the next delivery status update
  • Where is my tracking link? If customers need the tracking link, you can also find the URL in the "View tracking link" action
  • What happened to my notification(s)? Troubleshooting Customer Notifications and Tracking Links
Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.