Order fulfillment is the process of managing and shipping customer orders from your store. It covers everything from when an order is placed to when the package arrives at the customer's door, including picking items, packing them, and preparing them for shipment.
Key takeaways
- You can fulfill orders yourself, use a third-party fulfillment service, or use a combination of both methods. (Fulfilling orders)
- When you fulfill an order, you can add a tracking number and choose to send a shipping confirmation email to the customer.
- Orders can be fulfilled in their entirety or in parts, which is useful for handling backordered or pre-order items.
- If an order is split into multiple shipments, each one is fulfilled separately and can have its own tracking number.
- You can add or edit a tracking number even after an order has been marked as fulfilled.
What are the different ways to fulfill orders?
Shopify supports several fulfillment methods to fit how your business operates. Your chosen method determines how orders are picked, packed, and shipped. (Fulfilling orders) Before you can fulfill orders, you need to configure your shipping and fulfillment settings in the Shopify admin.
Here are the main approaches:
- Fulfilling orders yourself: This is a hands-on method where you or your team personally pick and pack products, buy shipping labels, and hand the packages over to carriers. (Fulfilling orders) You can buy and print shipping labels directly from your Shopify admin.
- Using a fulfillment service: You can partner with a separate company that stores your inventory and ships orders on your behalf. This can be Shopify's own network or a third-party service connected via an app or a custom integration. When an order is assigned to a fulfillment service, they control the fulfillment status.
You can also use a mix of these methods. For example, you might fulfill most products yourself but use a service for specific items. (Fulfilling orders)
How to fulfill a complete order
When all items in an order are in stock at a single location, they are grouped together in one Unfulfilled section on the order details page. You can fulfill these orders in a single action. If you use Shopify Shipping to buy your labels, the order is automatically marked as fulfilled when you purchase the label. (Shopify Help Center)
Here are the steps to manually mark a complete order as fulfilled.
- From your Shopify admin, go to Orders. (Shopify Help Center)
- Click the number of the order you want to fulfill.
- In the
Unfulfilledsection, click Mark as fulfilled. - In the
Tracking numberfield, you can enter the tracking number provided by your shipping carrier. Shopify may recognize the format and suggest a carrier. - If the wrong shipping carrier is selected, or none is chosen, select the correct one from the Shipping carrier dropdown menu.
- If you want to notify the customer by email that their order has shipped, check the box for Send a notification to the customer. This option is only available if you have the customer's email address.
- Click Mark as fulfilled to complete the process. The order's status will change to
Fulfilled.
How to fulfill part of an order
Sometimes you may need to ship items in an order separately. This is known as a partial fulfillment. An order might arrive already split into multiple fulfillments if items are stocked in different locations or have different shipping profiles (like a pre-order item and an in-stock item). (Shopify Help Center) You can also choose to split a fulfillment yourself if an item is temporarily out of stock.
- From your Shopify admin, go to Orders and click the order you need to partially fulfill. (Shopify Help Center)
- In the
Unfulfilledsection, click Mark as fulfilled. - By default, all items are set to be fulfilled. Adjust the quantity of each item to reflect only what you are shipping in this package. Set the quantity to zero for any items you are not shipping yet.
- Optionally, add a Tracking number for the shipment.
- Ensure the correct Shipping carrier is selected.
- Check Send a notification to the customer if you want to send a shipping confirmation for these specific items.
- Click Mark as fulfilled. The order will now show which items are
Fulfilledand which remainUnfulfilled.
How to manage an existing fulfillment
After an order is fulfilled, you might still need to make changes, such as adding a tracking number you received late or canceling the fulfillment.
| Task | Steps |
|---|---|
| Add a tracking number | On the order page, find the Fulfilled section and click Add tracking. Enter the tracking number and carrier, then click Save. You can choose whether to send a notification to the customer. (Shopify Help Center) |
| Change the fulfillment location | In the Unfulfilled section of an order, click the ... menu and select Change location. Choose the items and the new location. This can't be done for local delivery or pickup orders. (Shopify Help Center) |
| Split a fulfillment | If you need to ship items from a single fulfillment group separately, click the ... menu in the Unfulfilled section and choose Split fulfillment. Select the items to move to a new fulfillment group. (Shopify Help Center) |
| Merge fulfillments | If an order has multiple unfulfilled shipments from the same location, you can combine them. In one of the Unfulfilled sections, click the ... menu and select Merge fulfillment. (Shopify Help Center) |
| Cancel a fulfillment | In the Fulfilled section, click the ... menu and select Cancel fulfillment. This changes the order's status back to Unfulfilled. If you purchased a shipping label, you must void it first. (Shopify Help Center) |
Common mistakes when fulfilling orders
Fulfilling orders is a routine task, but small errors can cause confusion for customers and your team. Here are a few common issues to watch for.
- Manually fulfilling an order handled by a service. If an order is assigned to a third-party fulfillment service, you cannot manually mark it as
in progressorfulfilled. The fulfillment service manages the order's status and updates it automatically when they accept the request. (Shopify Help Center) - Canceling a fulfillment in Shopify but not with the carrier. When you cancel a fulfillment in your admin, it does not stop a fulfillment that is already in progress with a shipping carrier or fulfillment service. If the package is already with a carrier, you need to contact them to stop the shipment. If you use a fulfillment service, you must contact them directly.
- Tracking number shows old or incorrect information. Carriers sometimes reuse tracking numbers, especially during busy periods. This can cause a tracking page to show details from a previous shipment. This issue usually resolves itself once the carrier scans your new label. If the wrong carrier is detected automatically, you can manually select the correct one from the dropdown menu during fulfillment.
- Trying to fulfill an order that is on hold. An order or fulfillment that has a
On holdstatus cannot be fulfilled. You must release any holds on the order before you can change its fulfillment status.
A worked example: Fulfilling a pre-order
Imagine a customer orders two products: a T-shirt that is in stock and a new hat that is on pre-order and won't be available to ship for a few weeks. Because the items have different availability, you decide to ship the T-shirt now and the hat later.
You would navigate to the order in your Shopify admin and click Mark as fulfilled. In the fulfillment screen, you would change the quantity of the hat to 0 and leave the T-shirt quantity at 1. You add the tracking number for the T-shirt's package and check the box to notify the customer.
After clicking Mark as fulfilled, the order status page updates. It now shows one Fulfilled section containing the T-shirt and one Unfulfilled section with the hat. (Shopify Help Center) The customer receives a shipping notification for the T-shirt. When the hat is back in stock, you can return to the same order page and fulfill the remaining item, generating a second shipment and notification.
Frequently asked questions
Can I change the fulfillment location for an order?
Yes, for unfulfilled orders, you can change the location where the fulfillment will happen. From the order page, in the Unfulfilled section, click the ... menu and select Change location. (Shopify Help Center) This is not possible for orders that are for local delivery or in-store pickup.
What happens if I fulfill an order without a tracking number?
If you ship an order without a tracking number, you can manually mark the order as delivered once the customer receives it. (Shopify Help Center) This updates the order status page for the customer. If you don't mark it as delivered, the order status will not automatically update to show that the package has arrived.
Why is an order split into multiple fulfillments?
Shopify may automatically split an order into multiple fulfillments if items need to ship from different locations, items are in different shipping profiles (like pre-orders), or if the customer chose a mix of shipping and in-store pickup for their items. (Shopify Help Center) This ensures each part of the order can be processed correctly from the right location.
How do I add a tracking number after an order is fulfilled?
If you get the tracking number after you've already marked the order as fulfilled, you can still add it. Go to the order's page, and in the Fulfilled section, click Add tracking. (Shopify Help Center) After you enter the number and save, you can choose whether to send a shipping update notification to the customer.
Can I cancel a fulfillment?
Yes, you can cancel a fulfillment that has been marked in Shopify. (Shopify Help Center) This will change its status back to Unfulfilled. However, if you already purchased a shipping label for it, you must void the label before you can cancel the fulfillment.
What does it mean to mark an order as 'in progress'?
Marking an order as in progress is a way to signal that you have started preparing it for fulfillment, such as during the picking and packing stage. (Shopify Help Center) This status also locks certain order edits to prevent errors in your workflow. Once the order is packed and ready to ship, you can then mark it as fulfilled.