Merchants Answered
Operations answers for working Shopify merchants

Shopify Fulfillment Services: The Three Ways an Order Leaves the Building

There are three ways an order leaves a Shopify store: you fulfill it yourself, a third-party logistics provider fulfills it, or a custom fulfillment service handles it. Shopify's own fulfillment network was sold to Flexport in June 2023 and now operates as an app, available only in the US, with partners including Amazon Multi-Channel Fulfillment, DHL, Flexport, GoBolt, and ShipBob. The right choice depends on volume, and the costs are receiving, storage, and pick and pack, not just shipping.

A new merchant asks how to get orders out the door, and the answer they get is usually a list of app names. That is the wrong starting point. The starting point is the three ways an order can leave a store, because the apps and services are just implementations of those three ways, and the costs, the control, and the failure modes are different for each. Pick the model first, then pick the provider.

Shopify's own fulfillment network used to be the fourth option. In June 2023 Shopify sold it to Flexport, and it now operates as an app, available only in the US, with a network of partners. That sale is the reason the fulfillment landscape looks the way it does now: a set of competing providers, each with its own pricing, rather than a single Shopify service.

Self-fulfillment: you are the warehouse

Self-fulfillment means you pack and ship every order yourself, from your home, your office, or a small storage space. It is the cheapest option at low volume, because there are no receiving fees, no storage fees, and no pick and pack fees, only the cost of packaging and the shipping label. It is also the option that does not scale, because every order costs your time, and the time cost grows linearly with volume. A store doing ten orders a day can self-fulfill. A store doing a hundred cannot, unless the owner wants a second job.

The control is the advantage. You see every product before it ships, you catch the wrong variant before it leaves, and you can add a handwritten note or a sample without asking anyone's permission. The disadvantage is that you are the single point of failure. You go on holiday, orders stop. You get sick, orders stop. The decision to move off self-fulfillment is usually made the week that happens, and it is better made before.

Third-party logistics: someone else is the warehouse

A third-party logistics provider, a 3PL, stores your inventory in their warehouse, picks and packs orders as they come in, and ships them. The costs are threefold: receiving, typically $0.25 to $0.50 per item when inventory arrives; storage, typically $20 to $50 per pallet per month; and pick and pack, typically $2 to $5 per order. Those numbers vary by provider and by volume, and they are the numbers to compare, not the shipping rate, because shipping is usually passed through at cost.

The trade is control for scale. A 3PL can ship a hundred orders a day without you touching a box, and it can ship from multiple warehouses, which cuts delivery times. The cost is that you do not see the product before it ships, and a quality problem in the warehouse becomes a quality problem in the customer's hands. Choose a 3PL by asking for references from stores at your volume, by checking their error rate, and by testing them with a small inventory batch before sending everything. The Shopify Fulfillment Network app is one route into this model, with partners including Amazon Multi-Channel Fulfillment, DHL, Flexport, GoBolt, and ShipBob.

Custom fulfillment: the manual option

A custom fulfillment service is a provider you set up manually in Shopify, and it works by email. When an order comes in, Shopify sends the fulfillment request to the service by email, and the service fulfills it. There is no automatic tracking, no automatic inventory sync, and no integration beyond the email. It is the option for providers that do not have a Shopify app, usually a small local warehouse, a print-on-demand printer, or a dropshipper with a manual process.

The limitation is the point. Custom fulfillment is flexible, because it works with any provider that can receive an email, but it is manual, because the tracking and the inventory have to be updated by hand. It is the right choice when the provider is small, local, or specialized, and the wrong choice when volume is high enough that manual updates become a full-time job. Shopify allows up to 10 active locations, which is the practical ceiling on how many fulfillment setups a store can run at once.

Related reading

Readers working through “Shopify Fulfillment Services: The Three Ways an Order Leaves the Building” often find these earlier guides useful as well: Shopify Markets explained: selling abroad without a second store, Shopify discount codes explained: the stacking rules that eat your margin, and Shopify POS explained: what point of sale adds to your online store.

Frequently asked questions

What happened to Shopify Fulfillment Network?

Shopify sold its fulfillment network to Flexport in June 2023. It now operates as an app, available only in the US, with partners including Amazon Multi-Channel Fulfillment, DHL, Flexport, GoBolt, and ShipBob. It is no longer a Shopify service.

How much does a 3PL cost?

Three costs: receiving, typically $0.25 to $0.50 per item; storage, typically $20 to $50 per pallet per month; and pick and pack, typically $2 to $5 per order. Shipping is usually passed through at cost. Compare all three, not just the shipping rate.

Should I self-fulfill or use a 3PL?

Self-fulfill at low volume, when the time cost is small and the control matters. Move to a 3PL when order volume makes packing a full-time job, or when you need multiple warehouse locations to cut delivery times. The decision is usually made the week self-fulfillment breaks, and it is better made before.

What is custom fulfillment in Shopify?

A fulfillment service you set up manually, where Shopify sends the fulfillment request to the provider by email. There is no automatic tracking or inventory sync. It works for small, local, or specialized providers that do not have a Shopify app, and it is the wrong choice at high volume.