Shopify Fulfillment Orders API

The FulfillmentOrder resource represents either an item or a group of items in an order that are to be fulfilled from the same location. There can be more than one fulfillment order for an order at a given location.

Fulfillment orders are created automatically when an order is created.

We can retrieve all fulfillment orders related to a given “order_id” using the fullfillmentorders GET endpoint.

Fulfillment orders are fulfilled by creating fulfillments, which represent the work that has been completed as part of a fulfillment order. We can use the fulfillment resource to manage fulfillments for fulfillment orders.

Each fulfillment supports a single tracking number. If we need to use multiple tracking numbers, then we should create separate fulfillments.

Benefits

Fulfillment orders workflow provides the following benefits:

  • We can fetch the assigned location of a given group of unfulfilled line items to determine where fulfillment should occur.
  • We no longer need to match SKUs or filter out the items on an order that don’t apply to you before you can determine which items you need to fulfill.
  • Merchants and apps can add notes to requests to improve communication throughout the fulfillment process.
  • The process of making fulfillment and cancellation requests is formalized.

Changes

The Fulfillment Orders API models the end-to-end fulfillment process into detailed sub-pieces, so fulfillment data can sync more accurately between Shopify and NetSuite. The Fulfillment Order API tracks the lifecycle of fulfillment work, including open, in-progress, closed, canceled or incomplete, so user have a more granular and complete view of their order data in Shopify. 

Fulfillment orders also include location data, which Shopify would usually only display to users in the Admin. This location information is crucial and details which location should ideally fulfill an order.

There are four main reasons for migrating with the Fulfillment Orders API.

1. Provides a better API architecture to build on

The Fulfillment Orders API offers a better architecture to build on. As mentioned above, it breaks the entire fulfillment process down into its sub-pieces, allowing workflows to be better represented, and information to flow more accurately between Shopify and Netsuite.

For order management apps, you can more easily identify the inventory level and location of the order items using this API. You can also sync the following fulfillment actions between your app and Shopify more accurately:

  • Move: When a fulfillment order moves between any location.
  • Create fulfillment: When a fulfillment is created based on line items, destination and origin. If successful, this request transitions the fulfillment order to a closed status. For partial fulfillments, the fulfillment order would move to an In Progress status.

For 3PLs, information can be sent more seamlessly between the merchant via Shopify and your fulfillment system. Fulfillment requests also better represent the fact that 3PL fulfillment flows have rules, alternating control over the fulfillment order between the merchant and the 3PL at the right time. 

2. Handles merchant complexity more easily

Shopify merchants are diverse—from who they are to what, where, and how they sell their products. These things impact how a merchant fulfills and delivers orders to their customers. Our fulfillment platform needs to be flexible enough to handle this diversity and complexity. The Fulfillment Orders API represents the future of our platform and will be a fundamental part of creating this flexibility for our merchants in the future.

Provides clearer ownership of fulfillment work.

The Fulfilment Orders API also provides clearer ownership of fulfilment work. The old APIs did not make clear who should fulfill an order and when, often leading to duplicate fulfillments or unnecessary and time-consuming communication back and forth between merchants and fulfilment centers. 

With the Fulfillment Orders API, fulfillment work can clearly be assigned to a merchant location or a fulfillment location, so that fulfillment services are no longer confused on who is fulfilling which order. This also carries through to specific fulfillments. 

Fulfillment requests model when the merchant can safely make changes during the fulfillment process. Before making a request, a merchant can edit an order, change the address, or cancel some items. 

Once the fulfillment request is accepted by the 3PL, these changes can no longer be made by the merchant. If the merchant does want to make further changes, they must request a cancellation first. These steps help keep communication between the merchant and 3PL clear and helps avoid any mistakes during fulfillment. 

4. Creates a better merchant experience in the long run

The Fulfillment Orders API represents the future of fulfillment with Shopify. We have and will continue to build new capabilities with it, so we can provide the best possible fulfillment experience for merchants in partnership with you.

We envision this future being one that:

  1. Gives merchants a clear and accurate understanding of their orders and fulfillment work across all of their locations within Shopify and your app or fulfillment service.
  2. Better handles a merchant’s diverse fulfillment needs more easily by providing opportunities for partners to extend and personalize the fulfillment experience. 
  3. Helps merchants scale and grow more effectively as their order volume increases.

Leave a comment

Your email address will not be published. Required fields are marked *