3PL vs FBA vs Self-Fulfillment: Total Cost Compared

3PL vs FBA vs Self-Fulfillment: Total Cost Compared

You're not choosing between three prices. You're choosing between three cost structures — and the right one depends on where your orders come from, not which fee looks smallest.


You've got the spreadsheet open right now, or you had it open last week. Three columns: FBA's per-unit fulfillment fee, a 3PL's quoted pick-and-pack rate, and $0 for doing it yourself. One of those numbers is smaller than the others, and some part of your brain has already declared it the winner.

That spreadsheet has misled a lot of store owners. The founder who moved everything into FBA on the strength of the per-unit fee, then watched storage charges climb all Q4 while a slow-moving SKU aged into surcharge territory. The one who stayed in the garage a year past the point it made sense, because "free" fulfillment was costing thirty hours a month that never appeared in any column. The one who signed with a 3PL on a $3 pick fee and got an invoice with eight fee classes on it.

The 3PL vs FBA vs self-fulfillment decision keeps going wrong for the same structural reason: the three models don't compete on price. They have different cost shapes — different lines that dominate, different fees that escalate, different constraints on where you can sell. Comparing their headline rates is comparing the visible corner of three different icebergs.

This post walks the shape of each model, gives you a decision matrix built on the three things that determine fit — channel mix, product profile, and stage — and runs one fictional store through all three. One rule up front: no number in this post is a current rate. Amazon revises its fee schedule multiple times a year, and 3PL pricing is quote-based by design. Every figure here is an illustrative round number. Check current fee schedules before you decide anything.

The Lie: "The Cheapest Per-Order Fee Wins"

Here's the belief the spreadsheet encodes: fulfillment models compete on a per-order rate, and the lowest rate is the cheapest model.

It feels rigorous because it's numeric. It fails because each model hides its real cost in a different place. FBA's per-unit fee is genuinely efficient — the model's true cost lives in storage escalation, prep requirements, and what it does to your non-Amazon channels. A 3PL's pick fee is only 20–35% of a typical fulfillment invoice. Self-fulfillment's cash cost really is the lowest at small volume — its true cost is denominated in your evenings, which the spreadsheet prices at zero.

So instead of comparing rates, compare structures. Here's each model's actual shape.

Self-Fulfillment: Cheapest in Cash, Priced in Founder Hours

At low volume, packing your own orders is legitimately the cheapest option — and not by a little. No minimums, no account fees, no receiving charges, no storage bill for the spare room. You buy postage through your platform's discounted labels, you buy mailers in bulk, and your marginal cost per order is postage plus about a dollar of materials.

Self-fulfillment also has a real non-cost advantage early on: you see every order. You catch the mispicks, the fraud-smelling addresses, the product that keeps coming back for the same reason — a feedback loop no warehouse will replicate.

The cost that doesn't appear on any invoice is time. Picking, packing, label runs, post-office trips, inventory counts — at a few hundred orders a month, that's routinely 25–40 hours of founder time. Price those hours at whatever your time is actually worth to the business, and "free" fulfillment is often the most expensive line in your month. It also scales linearly: double the orders, double the hours, until fulfillment quietly becomes your job title.

The exit thresholds — the volume, space, and sanity signals that say it's time — are their own decision, and we've covered them in when to leave self-fulfillment for a 3PL.

FBA: Unbeatable on Amazon, Awkward Everywhere Else

If a meaningful share of your revenue comes from Amazon, FBA isn't really optional, and it's worth being plain about why: the Prime badge. Prime eligibility changes conversion and search placement on Amazon in a way no fulfillment economics offset. Seller-fulfilled alternatives exist, but the qualification bar is high and the margin for error is thin. For the Amazon channel, FBA's network is the best fulfillment operation you can rent at any price — that part of the decision is usually already made for you.

The total-cost picture is where discipline matters. FBA's fee structure has several layers beyond the per-unit fulfillment fee:

  • Storage that escalates. Monthly storage is billed by volume and steps up sharply in Q4 — exactly when you've stocked deepest. Inventory that sits too long triggers aged-inventory surcharges that compound the longer it sits. FBA is priced to be a flow-through pipeline, not a warehouse; slow movers get punished for treating it like one.
  • Prep and inbound requirements. Labeling, poly-bagging, packaging standards, and inbound placement rules are on you — you do the prep, pay Amazon to do it, or pay a prep center in between. It's a real recurring cost and a real operational dependency that the per-unit fee doesn't show.
  • Commingling considerations. Stickerless, commingled inventory pools your units with other sellers' identical units. It simplifies inbound, but it means the unit your customer receives may not be the unit you shipped in — a trade-off you should make deliberately, especially for brand-sensitive or counterfeit-prone products.
  • It's built for Amazon-channel sales. You can fulfill your Shopify orders from FBA inventory via multi-channel fulfillment, but the trade-offs are real: per-unit rates run higher than FBA's own, your control over carrier and delivery experience is limited, non-Amazon orders can deprioritize during peak, some marketplaces restrict Amazon-fulfilled orders, and your entire operation now depends on one platform's rules — rules it can change on its own schedule.

That last point is the one the spreadsheet never captures. FBA is a channel-specific tool with a world-class network attached. Used for the Amazon channel, it's excellent. Stretched into being your everything-fulfillment, it makes your DTC channel a tenant in someone else's building.

The 3PL: Channel-Agnostic, Brand-Controlled, Quote-Based

A third-party logistics provider is the general-purpose answer: one inventory pool that ships your Shopify orders, your wholesale orders, your retail replenishment — any channel, one operation.

Three structural strengths define the model. First, channel neutrality — no platform owns your logistics, and adding a sales channel doesn't mean re-architecting fulfillment. Second, the unboxing is yours — branded boxes, inserts, tissue, handwritten-note programs; a 3PL packs what you spec, which matters when your brand is the differentiator. Third, contract flexibility — pricing, service levels, kitting, special projects, and packaging are all negotiable in a way Amazon's take-it-or-leave-it fee schedule will never be. You have an account manager, not a help forum.

The considerations are the mirror image. Pricing is quote-based and layered — receiving, storage, pick-and-pack, materials, shipping, returns, minimums, surcharges — so the quoted pick fee tells you little until you model the full fee stack against your own order profile. Monthly minimums mean very small stores are effectively priced out. Quality varies enormously between providers, and the right one depends on your store's shape — order volume, SKU count, product size — which is why our guide to choosing a 3PL sorts by store profile instead of ranking vendors. And on Amazon specifically, a 3PL ships your orders just fine but cannot mint a Prime badge.

The 3PL vs FBA vs Self-Fulfillment Decision Matrix

Three questions decide this, in order.

1. Channel mix — where do your orders actually come from?

Your channel reality The structural answer
Amazon-first (most revenue on Amazon) FBA. The Prime badge is the business. Self-fulfill or use a small 3PL for the DTC remainder until it's big enough to matter.
Shopify-first / DTC-first Self-fulfillment at low volume, a 3PL as you scale. FBA multi-channel is possible but puts your main channel on rented rules.
True multichannel (Amazon + DTC + wholesale/retail) Hybrid: FBA for the Amazon channel, a 3PL for everything else. This is the common endgame — more below.

2. Product profile — what are you shipping? Size, value, and velocity move the answer. Small, light, standard-size, fast-turning products are what FBA's fee structure is optimized for. Oversized or heavy items get expensive in FBA quickly and are often better served by a 3PL that specializes in big-and-bulky. Slow movers accumulate FBA aged-inventory surcharges; a 3PL's flat storage rate is more forgiving. High-value, fragile, or brand-sensitive products argue for the control of a 3PL — or at minimum against commingled FBA inventory.

3. Stage — how many orders, honestly? Below a few hundred orders a month, self-fulfillment usually wins on cash, and most 3PL minimums bite here anyway. From a few hundred to a few thousand, the founder-time math flips and a 3PL (or FBA, if you're Amazon-first) earns its fees. Beyond that, the question stops being whether to outsource and becomes how many models you're running.

One Store, Three Models: A Worked Comparison

Numbers make the shapes visible, so here's a fictional store. Every figure below is an illustrative round number — not Amazon's rates, not any 3PL's rates. Check current fee schedules.

The store: a skincare brand shipping one product family — small, under a pound, standard-size. 800 orders a month: 500 from Shopify, 300 from Amazon. Founder values their time at $50/hour.

Monthly cost Self-fulfill all FBA + multi-channel for all 3PL for all Hybrid: FBA (Amazon) + 3PL (DTC)
Fulfillment fees $1,200 FBA (300 × $4) + $3,250 MCF (500 × $6.50) $2,400 pick/pack (800 × $3) $1,200 FBA + $1,500 pick/pack
Shipping $5,760 (800 × $7.20 label rates) included above $4,960 (800 × $6.20 commercial) $3,100 (500 × $6.20)
Storage $0 cash (the garage) $250 + prep $150 $400 $150 FBA + $300 3PL + prep $100
Materials / account fees $480 $500 + $150 $300 + $150
Cash total $6,240 $4,850 $8,410 $6,800
Founder hours ~35 hrs (≈$1,750 loaded) ~4 hrs ~4 hrs ~6 hrs
Amazon Prime badge No Yes No Yes
Branded DTC unboxing Yes No Yes Yes

Read the table twice, because the first read misleads. On cash alone, all-in FBA wins. But the FBA-everything store has surrendered its DTC unboxing, put 500 monthly Shopify orders on multi-channel rates and priorities, and made one platform its single point of failure. The all-3PL store pays the most cash and gave up the Prime badge on 300 Amazon orders — a conversion cost no row captures. The self-fulfilling store "saves" money by spending thirty-five founder hours; loaded, it's barely saving at all.

The hybrid column costs roughly $2,000 more than all-in FBA — and buys the Prime badge on Amazon, brand-controlled boxes on DTC, commercial shipping rates, and no single platform holding the whole operation. For this store's channel mix, that's the strongest position per dollar. A different mix moves the answer: make it 700 Amazon orders and 100 Shopify orders, and FBA-everything is probably right; make it all-Shopify, and the FBA column disappears entirely.

The Hybrid Reality

Which is the honest conclusion of the whole comparison: for multichannel stores, this usually isn't a versus at all. The common endgame is FBA for the Amazon channel, a 3PL for everything else — each model doing the one job its cost structure is built for.

The trade-offs deserve stating plainly, because hybrid isn't free. You're splitting inventory across two pools — forecasting two demand curves, occasionally stranding stock in the wrong one — and running two dashboards, two fee structures, two invoice streams. Some 3PLs will prep and forward your FBA inbound shipments, which softens the seam; ask when you're quoting.

And one note for your books: FBA fees netted out of payouts and 3PL invoices billed monthly land in your accounting completely differently, and lumping either into a single "shipping" line quietly distorts your margins by channel — exactly the number you need to keep making this decision well. Our guide to e-commerce accounting covers where each cost belongs.

The Decision You're Actually Making

You opened the spreadsheet to pick a vendor. What you're actually picking is a cost structure per channel: FBA where the Prime badge pays for the fee stack, a 3PL where your brand and your flexibility are worth owning, your own two hands while the volume is still small enough that the feedback is worth the hours.

So close the three-column comparison and build the one that matters: your real channel mix, your real product profile, your real monthly volume — priced against current fee schedules from each model, because none of the illustrative numbers above survive contact with a live quote. If the 3PL column is in the running, model the full fee stack before you sign anything. The cheapest number on the page was never the question. The right structure for where your orders come from is.

Stop Manual Data Entry Forever

Connect your store to QuickBooks in 15 minutes and let LedgerPort handle the rest.

Start Free See pricing →

Let’s Connect:

Automate Your E-commerce Accounting Today

Connect your Shopify or WooCommerce store to QuickBooks in under 15 minutes — no coding required.

14-day money-back guarantee · Free plan available