third-party logistics provider (3PL)

An outsourced logistics company. In ecommerce it usually means the outside warehouse that stores your stock and picks, packs, and ships your orders.

3PL3PL providerthird party logistics3rd party logisticssomeone else ships my boxeswarehouse companyoutsourced fulfillmentfulfillment centerpick and pack service

See it

Live demo coming soon

What it is

A 3PL is a company you outsource logistics to. The full category is wide: warehousing, transportation and freight, customs and forwarding, distribution, and returns processing, and plenty of 3PLs never store a thing you own. In ecommerce the word has narrowed, and when a merchant says '3PL' they almost always mean an outsourced fulfillment provider: a company that holds your inventory and does the picking, packing, and shipping when orders come in. You send them pallets, they send your customers parcels. Well-known names: ShipBob, ShipMonk, Amazon FBA (a 3PL wearing a marketplace hat), and a long tail of regional warehouses that will happily take your stock.

Reach for one when packing orders on your kitchen table stops scaling, usually somewhere past a few dozen orders a day, or when you want stock in two countries so delivery is fast and duties are sane. The integration is the real product: your store pushes orders to them over API, they push back tracking numbers and stock counts, and a good 3PL keeps inventory synchronized so you never sell a phantom unit.

Gotcha: the quoted pick-and-pack rate is never the bill. Storage per bin per month, receiving fees, per-extra-item fees, long-term storage penalties, returns processing, and custom packaging surcharges all pile on. Ask for a sample invoice from a real client-sized account, not a rate card, and check how they handle a mis-pick before you sign.

Ask AI for it

Wire my store to a 3PL behind a typed FulfillmentProvider adapter with four methods: createFulfillment (line items, SKUs, quantities, shipping address, returns a provider fulfillment ID), cancelFulfillment, handleShipmentWebhook (writes carrier, tracking number, and tracking URL back onto the order and fires the shipping confirmation email), and fetchInventory (stock per SKU per warehouse, on a schedule, marking variants unavailable when the provider reports zero). Make every write idempotent on a provider event ID so a retried webhook never ships twice. If credentials and API docs for the named provider are available in this project, implement against their documented endpoints; if not, ship a sandbox adapter with realistic fixtures plus a clearly marked integration boundary listing exactly what a real provider must supply. Do not invent endpoint shapes.

You might have meant

fulfillmentinventoryinventory synchronizationdropshippingoms