All segments

What Is 3PL Fulfillment? An Operator's Definition

3PL fulfillment means outsourcing warehousing, picking, packing and shipping to a third-party logistics provider — what changes for a $3M–$30M operator.

  • Published
  • Reading time 14 min read
  • Author Nafiul Hasan
What Is 3PL Fulfillment? An Operator's Definition. Diagram: work crossing a boundary. RUN What Is 3PL Fulfillment? AnOperator's Definition YOURSTHEIRS pointerflow.com

Short answer

3PL fulfillment means handing outbound logistics — receiving stock, storing it, picking and packing orders, and shipping them — to a third-party logistics provider instead of doing it in your own warehouse. For a brand doing $3M–$30M, the real change isn't who touches the box. It's that inventory accuracy becomes a data-reconciliation problem instead of a labour one.

3PL fulfillment is what most Shopify brands mean when they say they have outsourced the warehouse: a third-party logistics provider receives your inventory, stores it, and picks, packs and ships every order that comes in, rather than your own team doing it from a leased unit down the road. The three letters stand for third-party logistics; the fulfilment half is the part an operator actually feels day to day — everything between a paid order landing in Shopify and a tracking number showing up in a customer’s inbox.

What’s Included in 3PL Fulfillment, and What Isn’t?

The Council of Supply Chain Management Professionals’ own glossary defines a third-party logistics provider as any company handling transportation, warehousing or fulfilment for a client — a broader label than the warehousing-and-shipping slice ecommerce operators mean specifically when they say “3PL fulfillment.”

That narrower scope is worth being precise about, because it is easy to assume a quote covers more than it does. Freight forwarding and customs brokerage are usually separate line items from the same or a different company. Returns processing is often included; last-mile delivery is almost always the carrier’s job, not the 3PL’s.

What Actually Changes on a Tuesday When You Hand Off Fulfilment?

The operator-level consequence isn’t that fewer people touch a box — it’s that inventory accuracy stops being a problem you solve by walking over and recounting a bin, and becomes a problem you solve by reconciling two systems that were never built to agree.

Under in-house fulfilment, if a pick count looks wrong, someone on the floor physically checks the shelf. Under a 3PL, there is no shelf to check. There is a number in the 3PL’s warehouse management system and a number in Shopify, and the only way to learn they disagree is to compare them on a schedule, or to wait for a customer to email about an order that never arrived. The work does not disappear; it moves — from picking stock to watching two feeds and deciding what to do when they drift.

That drift has an expensive version in a subscription stack. A recurring order created by Recharge or Stay AI does not always carry the same order tags as a storefront checkout, and a routing rule written against storefront-only fields will silently misroute or backorder every subscription reorder that hits it. Nothing errors; nobody notices until a batch of autoship customers reports a missed delivery in the same week. A 3PL such as ShipBob will hit its own service-level agreement on orders it receives correctly formatted — the exposure sits in the ones that were never formatted correctly, and in nobody being told before a customer is.

Where Do Operators Get 3PL Fulfillment Wrong?

The most common mistake is pricing the switch off the pick-and-pack fee alone. A 3PL’s headline rate rarely includes storage, monthly minimums, kitting labour, returns processing or peak-season surcharges, and the gap between quoted and invoiced is where a switch that looked like a clear margin win turns out closer to a wash.

The second is assuming subscription and one-off orders sync identically. They frequently do not, and an integration tested only against storefront checkouts will look correct for months before a subscription cohort exposes the gap.

The third is choosing on warehouse count and headline transit-time claims without checking a provider’s actual daily cutoff against a brand’s own order pattern. A 3PL with a 2pm cutoff that order volume regularly misses by an hour delivers the same speed on paper and a materially worse one in practice — and nobody at the 3PL is deciding a brand’s reorder points or safety stock for it either way; that judgement stays with the brand.

What Does 3PL Fulfillment Actually Cost, Beyond the Pick-and-Pack Fee?

The pick-and-pack fee on a 3PL’s rate card is one line of at least six, and the other five do not show up until the first invoice. A realistic all-in cost has to add a receiving fee, charged per pallet or per carton when stock arrives; a storage fee, charged per bin, per pallet or per cubic foot every month regardless of whether that stock moved; a monthly minimum commitment, a floor the invoice cannot fall below even in a slow month; a kitting or assembly fee, charged per unit for any SKU built from components at pick time rather than received pre-kitted; a returns-processing fee, charged per unit inspected and restocked, separate from the outbound pick fee; and a peak-season surcharge, a percentage uplift on pick-and-pack during a defined window, usually the run from Black Friday to the new year. None of those six is optional to model. A quote that states only the pick-and-pack figure has not stated the cost.

Cost componentWhat drives it under a 3PLWhat drives it in-house
Handling per orderPick-and-pack fee, sometimes per line rather than per orderLoaded picker and packer wages
StoragePer bin, pallet or cubic foot, billed monthlyWarehouse lease and utilities
Volume floorMinimum monthly commitmentNone — but idle staff cost the same as busy staff
AssemblyKitting fee per unit, where any SKU is built at pick timeIn-house labour time, usually unbilled and untracked
ReturnsPer-unit inspection and restocking feeIn-house labour time, usually unbilled and untracked
SystemsUsually bundled into the 3PL’s own WMSSeparate WMS or inventory software licence
Peak seasonPercentage surcharge on a defined windowSeasonal hiring and overtime

The in-house side of that table has to be built with the same discipline or it stops being a comparison. A warehouse lease, a WMS or inventory-software licence, picker and packer wages loaded with payroll tax and benefits, shipping software and carrier account fees, workers’ compensation insurance, and the cost of the errors an internal team makes and never bills anyone for — all of it sits inside the in-house number whether or not anyone has added it up. Comparing a 3PL’s rate card against rent alone understates the in-house side by the whole labour and software line.

The maths an operator needs is a per-order comparison, not a per-fee one: total monthly 3PL cost — pick-and-pack across the month’s order volume, plus storage, minimum, kitting, returns and any surcharge — divided by that month’s order count, set against total monthly in-house cost — loaded labour, rent, software, insurance and the cost of the error rate — divided by the same order count. Whichever side is lower changes with volume. Storage and minimums make a 3PL cost more per order at low volume than the rate card implies, and loaded labour makes in-house cost more per order at low volume than a hiring plan implies. The actual per-order figure for a specific SKU mix and order volume is — metric to confirm — until an operator runs their own numbers through both sides of that formula. No published rate card substitutes for it, because kitting complexity and SKU count move the number more than the headline pick fee does.

What SLA Terms Should Actually Be in a 3PL Contract?

A 3PL contract is only worth what its service-level agreement makes enforceable, and that agreement needs four terms in writing, not in a sales deck. The first is an on-time-ship percentage, measured from the moment Shopify hands off the order rather than from whenever the 3PL’s system logs it as received. The second is a pick-accuracy or inventory-accuracy percentage, measured against the 3PL’s own cycle counts and audited on a schedule the contract names, not left as a number the 3PL simply reports. The third is a mis-ship and chargeback clause stating who pays when the 3PL’s own error causes a customer chargeback or a Shopify Plus payment dispute — the default in most rate cards is the merchant, and that default is negotiable before signature, not after. The fourth is a remedy clause: what credit or termination right exists if the on-time or accuracy percentage is missed for a defined number of consecutive months.

Two of those four are easy to accept unmeasured. A pick-accuracy figure a 3PL reports about itself, with no named audit method or frequency attached, is a vendor-reported number and should be treated as one — the same category as any other marketing figure, not an independently verified fact. The way to make it verifiable is to require the 3PL’s warehouse management system export be reconciled against Shopify’s own inventory and order records on a schedule the contract sets, which turns the accuracy claim into a mechanical check instead of a number taken on trust.

How Do You Switch to a 3PL Without a Stockout or a Lost Order?

A 3PL migration goes wrong at the cutover, not at the contract, and the fix is a parallel run: keep the existing fulfilment method live and correct while the new 3PL proves itself on real orders, and close the old method only once a defined trial period has passed with clean numbers.

The sequence that avoids a stockout has five parts. First, send buffer stock to the new 3PL ahead of the go-live date — not the full inventory, enough to cover the trial period’s expected order volume plus a safety margin, so a receiving delay on the 3PL’s end does not itself cause a stockout. Second, migrate the SKU master completely: every SKU, its dimensions, weight, barcode and any kitting bill of materials, because a 3PL that receives stock against an incomplete SKU record holds it as unsellable until someone catches the gap by hand. Third, run a genuine parallel period — routing a defined slice of orders, by region, by SKU or by a percentage split, to the new 3PL while the rest continue through the old method, so a routing or WMS error shows up against a fraction of orders instead of all of them. Fourth, test the order types that behave differently before trusting the split across all of them. A subscription order from Recharge or Stay AI carries different order tags than a storefront checkout, and a routing rule written against storefront-only fields will silently misroute or backorder every autoship order that hits it — exactly the failure a parallel run exists to catch before it reaches every customer rather than a sample. Fifth, reconcile on-hand quantities between the old and new systems immediately before decommissioning the old method; the two records will disagree by some amount after any physical stock transfer, and that disagreement has to be resolved and explained, not assumed to net to zero.

A migration that skips the parallel run and cuts over on a single date is betting the launch week’s orders on a system nobody has watched process a real order yet. The trial period is what turns that bet into a measurement, and it is also the window in which a returns address, packing-slip branding and any custom insert that shipped from the old warehouse get carried across — a detail easy to miss because it never appears on either party’s rate card.

What Does the Shopify-to-3PL Integration Actually Do, Order by Order?

The integration is a two-way data path, not a single connection: an order created in Shopify has to reach the 3PL’s warehouse management system as a pick ticket, and a shipped order has to write a tracking number and an inventory decrement back into Shopify — and each direction can fail independently of the other.

DirectionWhat triggers itWhat it should updateWhere it silently breaks
Shopify → 3PLA paid order webhook, or a scheduled API pullA pick ticket in the 3PL’s WMSOrder tags the routing rule was never built to read — subscription orders being the recurring case
3PL → ShopifyA ship-confirmation event once the carrier has the packageTracking number, fulfilment status, customer email triggerA delay between the WMS event and the API call, leaving the order looking unshipped
3PL → ShopifyA stock-movement event, or a polling intervalShopify’s on-hand inventory count per SKUThe lag between a physical pick and the count updating, which is the window a SKU can oversell in

Outbound, a paid order in Shopify fires that webhook or is picked up on the next scheduled pull, and the order is handed to the 3PL’s system either directly through the 3PL’s own API or through a middle layer that translates Shopify’s order format into the fields the 3PL’s WMS expects. The 3PL turns that order into a pick ticket, and once it is packed and handed to a carrier, it calls back with a tracking number, which Shopify’s own Fulfillment API attaches to the order, marks it fulfilled and triggers the shipping-confirmation email.

Inventory moves the other way on its own schedule, either near real time through a webhook the 3PL fires on every stock movement, or on a polling interval the integration checks every few minutes — and the gap between those two choices is the lag that lets a SKU oversell between an in-warehouse pick and Shopify still showing it available. This is also where the subscription failure mode does its damage in production, not just during a migration: a routing rule that only checks storefront-standard fields does not recognise a Recharge or Stay AI order’s different tag set, so the order lands in the wrong warehouse queue or waits for a manual fix nobody is watching for, while the tracking-number handoff and inventory sync both work correctly for every order the rule does recognise. Ask a 3PL or a middle-layer provider what triggers each direction and how often — a vague answer is itself the finding.

How Is 3PL Fulfillment Different From Dropshipping and In-House Warehousing?

The distinction is who owns the inventory and who owns the building, and both answers change what breaks.

In dropshipping, a brand never buys or holds stock — a supplier ships directly to the customer on order, so there is no warehousing cost or inventory risk, but also no control over pack quality or delivery speed. In-house fulfilment means the brand owns both the inventory and the building — its own lease, staff and warehouse management system — with full control at the cost of running a second business inside the first. 3PL fulfillment sits between the two: the brand still owns the inventory and still makes the purchasing decisions, but contracts out the building, labour and shipping execution against an SLA rather than a headcount.

Owning the inventory while renting out the building is why 3PL fulfillment carries a reconciliation problem that dropshipping and in-house fulfilment do not. A dropshipper has no warehouse feed to reconcile because it holds no stock; an in-house operation has one system, not two. A brand running 3PL fulfillment is the only one of the three with two independent records of the same inventory that both have to be watched.

None of this is a warehouse problem once a 3PL is chosen — it is a systems problem. A capable 3PL will hit its own SLA on most orders; the money is lost in the exceptions and in nobody being told until a support ticket arrives. That is the class of problem we build reconciliation jobs for as part of ops automation — a scheduled process that reads both the 3PL’s warehouse management system and Shopify and raises the rows where they disagree, instead of waiting for a customer to raise them first. It is also usually one of the first systems worth building for brands scaling past their first ops hire, the point at which nobody has spare attention to watch two feeds by hand.

Sources

The general definition of third-party logistics is drawn from the Council of Supply Chain Management Professionals’ published glossary of supply chain terms, an independent industry body rather than a vendor. The note on Amazon FBA is drawn from Amazon’s own description of the programme and is labelled vendor-reported accordingly. The cost-modelling method, the SLA framework, the migration sequence, the subscription-routing failure mode and the reconciliation approach are written from first-hand ops-automation builds across Shopify, Recharge, Stay AI and 3PL warehouse management systems; no specific per-order cost, accuracy or on-time figure is quoted because each varies too much by SKU mix, provider and contract to state as a single number, and each is marked as an item to model or negotiate rather than a fact already established.

Frequently asked

Does a 3PL require a minimum contract term?

Contract terms vary by provider — some offer month-to-month agreements after an initial trial period, others require a one- or two-year commitment with automatic renewal. What matters most is the renewal-notice clause: a narrow notice window is easy to miss, and missing it can renew the contract for another full term regardless of service quality. Read that clause before signing, not when trying to leave.

What happens to a brand's inventory if a 3PL goes out of business or loses its warehouse lease?

The inventory stays the brand's property regardless of what happens to the 3PL — a contract should state this explicitly, since some 3PLs claim a lien on stock for unpaid invoices. In practice, a shutdown gives a brand days rather than weeks to arrange collection or transfer, which is why having a second potential provider identified in advance turns a scramble into a plan.

Is Amazon FBA a 3PL?

Functionally, yes — Amazon receives, stores, picks, packs and ships inventory on a seller's behalf, which is the definition of 3PL fulfillment (Amazon's own FBA programme description). Operators usually mean an independent, multi-channel provider when they say '3PL', because FBA inventory is built to serve Amazon orders first.

When should a brand move from in-house fulfilment to a 3PL?

When the warehouse team's time is going to firefighting instead of throughput — same-day cutoffs missed, seasonal hiring eating margin, a second location needed for delivery speed. There's no universal order-volume threshold; it's a function of pick complexity, SKU count and how much kitting the catalogue needs, which is why the honest answer is to model your own numbers rather than borrow someone else's.

Can a 3PL fulfil wholesale or retail orders alongside direct-to-consumer ecommerce orders?

Some can, but it is a different capability from parcel fulfilment. Wholesale and big-box retail orders often need case-pack or pallet-level picking, advance shipping notice generation, and EDI compliance with a retailer's own systems, none of which a DTC-focused 3PL necessarily supports. Ask specifically about EDI and retail-compliance experience before assuming a provider that ships single-item parcels well can also service a wholesale account.

Does a brand need its own insurance for inventory stored at a 3PL, separate from the 3PL's coverage?

Usually, yes. A 3PL's own liability coverage typically caps reimbursement per unit or per incident at a level well below a brand's actual product cost, and that cap is written into the contract rather than disclosed upfront. Brands carrying meaningful inventory value at a single warehouse often take out separate cargo or stock-throughput insurance instead of relying on the 3PL's baseline liability limit alone.

Can a brand split fulfilment across more than one 3PL?

Yes. Splitting volume across two 3PLs — usually by region, to cut transit time, or by SKU category, to separate bulky items from small-parcel stock — is common once a single warehouse can no longer reach every customer quickly enough. It doubles the reconciliation problem rather than solving it: a brand now has two warehouse management system feeds to watch against Shopify instead of one, not zero.

What happens to branded packaging or custom inserts when a 3PL packs the order?

A 3PL only includes branded packaging, custom inserts or gift notes if the brand supplies the physical stock and writes the instruction into the pick-and-pack profile for that SKU or order type — it is not automatic. Providers charge per unit for the extra handling step, and a migration that drops this instruction loses it on the first order shipped from the new warehouse.

Does a 3PL's on-time-ship percentage cover the carrier's delivery time too?

No. An on-time-ship percentage in a 3PL's service-level agreement measures only the interval from order receipt to the package leaving the warehouse — it stops at the carrier handoff. Delivery time after that is the carrier's own service commitment, not the 3PL's, which is why a shipment can hit its 3PL SLA and still arrive late. The two need separate metrics and, usually, separate remedies.

Is a 3PL liable for a chargeback caused by a carrier's delay rather than its own picking error?

Not under a typical contract. A chargeback clause assigns liability for the 3PL's own errors — mis-picks, mis-ships, wrong-item packing — not for carrier delays or lost-in-transit packages, which fall under the carrier's own claims process instead. A brand chasing a 3PL for a carrier's failure is chasing the wrong party; the remedy sits in a shipping-insurance or carrier-claim process, negotiated separately from the 3PL's own SLA.

Can a brand pull a subset of SKUs back in-house while keeping the rest with a 3PL?

Yes, and it is common for oversized, hazardous or very low-velocity SKUs that cost more to store at a 3PL's per-cube rate than to hold in-house. The trade-off is a third inventory record to reconcile — Shopify, the 3PL's warehouse management system and whatever tracks the in-house stock — so the split only pays off when the excluded SKUs are few enough that a manual check stays realistic.

Does a 3PL use its own carrier accounts, or the brand's negotiated shipping rates?

Most 3PLs ship on their own carrier accounts and pass through their negotiated rate, marked up or bundled into the pick-and-pack fee — a brand rarely keeps its own UPS or FedEx account once fulfilment moves. The rate a 3PL quotes is worth comparing against a brand's actual current shipping cost per order, not just the pick-and-pack fee, because the carrier line is where a 'cheaper' 3PL sometimes loses the comparison.

Does a 3PL handle international or cross-border orders, or does that need a separate provider?

Some 3PLs fulfil international orders directly from a domestic warehouse; others only ship domestically and hand cross-border orders to a separate international fulfilment or freight partner. This is a scope question to ask before signing, not after: customs paperwork, duties handling and which country's returns address applies are usually excluded from a standard domestic pick-and-pack quote unless the contract names them.

Next step

Is this your ops automation problem, or a symptom of another one?

Bring your numbers — the churn split, the decline rate, whatever your flows are earning — and we will tell you which of them is the expensive one.

Book a call →