At Shopify, we constantly work to improve our platform so we can give merchants the best possible experience alongside our partners.
Order management and fulfillment represents a huge portion of a merchant’s business. Managing inventory, orders, and delivery takes a lot of work behind the scenes to get products to customers. The customer is often oblivious to this work, yet still expects to receive their order efficiently and transparently. As merchants grow, this work only becomes harder and more complex.
Merchants go from managing inventory and fulfilling orders from their home, at the start of their entrepreneurial journey, to having inventory managed and fulfilled across multiple third-party logistics or fulfillment service providers (3PLs), warehouses, and retail locations all over the world. And each of these locations often fulfills orders in a different way.
Whether a merchant is fulfilling orders on their own with Shopify, with an app, outsourcing to a third-party fulfillment service, or a combination of these things, there is one truth that remains consistent: merchants want visibility and control of their inventory and fulfillment, no matter where it's stored.
“Merchants want visibility and control of their inventory and fulfillment, no matter where it's stored.”
In this article, we’ll explore how you can use this API to create a better fulfilment experience for your merchant clients, no matter how or where they fulfill orders.
Register now for the Shopify App Challenge 2021
Build something extraordinary. Reimagine commerce.
Join our app challenge and build in public with us! Solve interesting problems through creativity and innovation and help merchants win BFCM.
What is the Fulfillment Orders API?
The Fulfillment Orders API models the end-to-end fulfilment process into its sub-pieces, so fulfillment data can sync more accurately between Shopify and an order management app or a 3PL. The Fulfillment Order API tracks the lifecycle of fulfillment work, including open, in-progress, closed, cancelled or incomplete, so merchants have a more granular and complete view of their order data in Shopify. It also represents the exact items that need to be fulfilled in a location for a given order, improving the accuracy of order fulfillment.
We recommend migrating to the Fulfillment Orders API as soon as possible if you use any of the following APIs:
- Fulfillment API
- Fulfilment Services API
- Inventory API
- Orders API
If you are building a new order management app or are a new 3PL partner, you can learn more about the Fulfillment Orders API in our docs.
You might also like: Important Product Updates for Shopify Developers.
Why you should adopt the Fulfillment Orders API
There are four main reasons why you would want to migrate or build your app 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 your app or your 3PL.
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.
With this API, your fulfillment service can:
- Clearly understand and perform fulfilment work that is assigned to your 3PL
- Accept or reject fulfillment requests from merchants, to clearly indicate whether you will perform fulfilment or not
- Accept or reject fulfillment cancellation requests sent by merchants
- Notify merchants via the Shopify mobile app when fulfillment requests are rejected
- Include messages to the merchant anytime you accept, reject, or create a fulfillment for merchant, as way to communicate more context
- Create a fulfilment at any time once you have accepted a fulfillment request
- Create multiple fulfillments for a given fulfillment order to represent multiple packages
- Close a fulfilment order after performing only some of the requested work, notifying the merchant via the Shopify mobile app that the rest couldn’t be completed
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.
Early last year we built local pickup and local delivery with the Fulfillment Orders API. These features represented a new way for merchants to fulfill orders to their customers, while still offering a centralized and seamless admin experience.
With the new fulfillment orders APIs we were able to build services that enabled merchants of any size to offer local pickup and delivery options to their customers. The new APIs allow us to keep inventory assigned to locations properly and allow for a better order management experience.
We also announced subscriptions in October 2020. We partnered with a number of subscription apps to give merchants the best possible experience with selling and fulfilling pre-paid subscription orders. With the Fulfillment Orders API, these apps were able to integrate seamlessly with Shopify, so merchants can clearly see and fulfill subscription orders at the right time
You might also like: How to Make App Blocks Responsive in Online Store 2.0.
3. Provides clearer ownership of fulfillment work
The Fulfilment Orders API also provides clearer ownership of fulfilment work. Our 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:
- 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
- Better handles a merchant’s diverse fulfillment needs more easily by providing opportunities for partners to extend and personalize the fulfillment experience
- Helps merchants scale and grow more effectively as their order volume increases
The Fulfillment Orders API creates a better fulfillment experience
The Fulfillment Orders API provides merchants with a better fulfillment experience today in the future. Now you know this API:
- Provides a better architecture to build on, so that we can provide merchants with more visibility and control of their fulfillment work, no matter how they fulfill orders.
- Offers new flexibility and can handle a merchant’s complex and diverse fulfillment needs more easily.
- Improves fulfillment accuracy by making it more clear to merchants and fulfillment services who is fulfilling an order and where.
- Represents the future of fulfillment with Shopify and will provide merchants with a better fulfillment experience in the long run.
Build apps for Shopify merchants
Whether you want to build apps for the Shopify App Store, offer custom app development services, or are looking for ways to grow your user base, the Shopify Partner Program will set you up for success. Join for free and access educational resources, developer preview environments, and recurring revenue share opportunities.