3PL Hidden Fees: The Complete Sourced Taxonomy
You have a quote that says something like “$2.75 per order, $25 per pallet per month.” Three months in, the invoice is a different document: forty line items, a fuel percentage you never agreed to, and a storage number that doubled without anyone calling. This is the map of where those lines were hiding.
Every number below comes from a published rate card, a carrier’s official surcharge page, a vendor’s live terms of service, or a named provider survey, all pulled 2026-08-04. Where a provider refuses to publish, we say so: “ShipBob does not publish its receiving fee” is itself usable in a negotiation.
Why the quote and the invoice diverge
First, pricing is quote-gated by design. Twelve providers in our dataset publish no dollar figures at all, including ShipBob, ShipMonk, ShipHero, Red Stag, ShipNetwork, and Atomix. Two say it out loud: Cahoot states “you won’t see a rate card,” and a2b Fulfillment is nearly identical. No public rate card, no public list of ancillary fees.
Second, what gets quoted is what’s easy to compare. Pick-and-pack and storage are comparable across vendors, so sales leads with them. Receiving penalties, prep-job minimums, and aged-storage multipliers are not, so they live in an appendix.
One aggregator case study found a quoted “$2.75/order” rate was roughly 16% of the actual all-in invoice once account management, tech fees, and minimum shortfalls landed, and puts the typical quoted-to-actual spread at 60–120%. SmartSMSSolutions Blog-sourced, not survey data, so treat it as directional. The quote is a subset.
The main table
Every range below is what we observed in our dataset, not an industry estimate. Row-level data: /data/3pl-fee-benchmarks/. Methodology: /methodology/.
| Fee category | Unit of charge | Published range in our dataset | One question to ask before signing |
|---|---|---|---|
| Setup / onboarding | One-time flat | $250–$1,000+, survey avg ~$333–$425; charged by ~51% of providers | “If the setup fee is waived for a term commitment, what’s the clawback if I leave early?” |
| Integration | One-time flat | $0–$500, survey avg ~$275 | “Which of my channels are plug-and-play at $0, and which bill as custom work?” |
| Receiving, pallet / carton / labor | Per pallet, carton, hour | $12.45–$25/pallet (survey avg $10.52); $1.50–$2.95/carton; $38–$40/hr | “What counts as an hour of receiving labor, and who starts the clock?” |
| Receiving, container | Per container | $325–$1,000 (Flexport 20’ to MyFBAPrep floor-loaded 40’) | “Show me both container rates, palletized and floor-loaded.” |
| Inbound compliance penalties | Per delivery / unit | $150 no-ASN and $250 no-appointment (ShipCalm); $0.65–$0.80/unit unplanned prep (Walmart WFS) | “List every inbound penalty and the notice window that avoids it.” |
| Storage, standard | Per pallet or cu ft | $0.19/cu ft/week to $0.81/cu ft/30 days; $25–$28/pallet/month | “Billed weekly or monthly, by cube or by pallet position?” |
| Storage, minimum floor | Per SKU per day | $0.10/DSKU/day (Flexport), up from $0.01 | “Is there a per-SKU floor, and what does it cost on my slowest SKUs?” |
| Storage, peak | Per cu ft / month | $2.25 (Walmart, Oct–Dec past 30 days) to $2.40 (Flexport, Oct–Dec) | “What are the peak-window dates and the peak rate, in writing?” |
| Storage, long-term / aged | Per cu ft / month | $2.25 at 366–450 days, $7.50 at 450+ (Walmart); $6.90 at 365+ (Flexport) | “What’s the aged trigger in days, and the multiplier at each tier?” |
| Pick, order and per item | Per order + per item | $1.36–$7.74/order by model; $0.23–$0.95 per additional item | “How many picks are included, and does it cover postage and packaging?” |
| Pick, B2B / multi-parcel | Per order / pallet | $3.55 to $9.45 (ShipCalm single vs multi-parcel); $19.95/pallet; $7/order (Flexport) | “What reclassifies an order from DTC to B2B?” |
| Packaging / dunnage | Per item / order | $0.29 labeling, $0.69 bagging, $39.50 setup (ShipCalm); $0.40/UPC label (Fulfyld) | “Cost, cost-plus, or flat per order?” |
| Carrier surcharge pass-through | Percent / parcel | Fuel 26.25%–40.00% (FedEx); residential $0.50–$0.80; additional handling $8.80–$11.85 | “Do I see the raw carrier invoice, and is your markup before or after your discount?” |
| Returns processing | Per return | $2.00–$4.95 published (Launch, Flexport, Fulfyld, ShipCalm); survey avg $4.06 | “Is returns pricing in this contract or a separate rate card subject to change?” |
| Removal / disposal | Per unit | $1.04–$2.27 by weight band, $25 order minimum (Flexport); $0.35 + $0.20/lb (Walmart) | “What does it cost to get all my inventory back, per unit and per order?” |
| VAS / kitting | Per unit, kit, hour, job | $0.50–$1.00/unit prep (MyFBAPrep); $1.50–$3.00/kit (Launch); $38–$48/hr; $200 job minimum (Flexport) | “Per-unit price for my actual kit, and does a 40-unit job trigger the minimum?” |
| Account / platform / EDI | Per week, month, connection | $49–$1,750/week (ShipCalm); $59.99/month (Fulfillrite); $0 (ShipBob); $200/mo per EDI connection (Flexport) | “Quote the platform fee annualized, and name which integrations count as EDI.” |
| Monthly minimum | Per month / quarter | $399–$5,000/month; $6,000/quarter (ShipCalm); survey avg $517/month | “Pay-the-difference, or a penalty on top?” |
| Late payment | Interest | 18% APR US/Canada from day 6 (ShipBob ToS) | “What’s the rate, the grace period, and does one late payment void my discount?” |
| Exit / offboarding | One-time flat | $500–$2,000 closure; $5,000+ aggregate; $0 at ShipBob per its ToS | “Read me the termination section, including the goods-removal window.” |
Stop normalizing quotes by hand. The 3PL Quote Normalizer Kit takes your order profile plus up to 5 competing rate cards and returns true all-in cost per order, a 12-month projection, and breakeven volumes, plus the RFP template and 40-point contract red-flag checklist. Get the Kit →
1. Onboarding: the fee that becomes a lock-in clause
Setup and onboarding runs $250–$1,000+, survey average $333–$425, charged by about 51% of surveyed providers. Integration adds $0–$500, averaging $275, often waived on Shopify or WooCommerce. Fulfill.com Red Stag cites the same band with a ~$425 average. Red Stag Fulfillment
Counter-examples: Simpl Fulfillment charges no setup, onboarding, or receiving fees; Fulfyld gives two free hours of onboarding receiving, then $40/hour. ShipBob lists an implementation fee as a category but publishes no amount.
The trap isn’t the dollar figure, it’s the structure. “Waived if you commit to X months” converts a $500 setup fee into an early-termination penalty. Ask what the clawback is.
2. Receiving: the floor-loaded container gap
Receiving is where the gap first shows up physically: the quoted rate assumes a neat pallet and your supplier shipped a floor-loaded container. The delta is large and published. MyFBAPrep charges $450 to unload a palletized container and $1,000 floor-loaded, a 2.2x difference on the same box. Flexport charges $650 for a floor-loaded 40’ and $325 for a 20’. Simple Global publishes flat container fees of $350 (20’) and $550 (40’). ShipCalm is at $795 for a 40’ and $495 for a 20’ floor-loaded. Survey data puts container unload at $250–$600, avg $500. Fulfill.com
Per-pallet receiving in our dataset: $12.45 at ShipCalm, $13 at Flexport (palletized LTL), $25 for a Flexport grade A pallet, against a $10.52 US survey average and hourly receiving at $30–$60, avg $39.88.
The genuinely invisible line is the compliance penalty. ShipCalm publishes $150 for a delivery without an ASN, $250 without an appointment, $39.50 per-shipment receiving, and $295 for a special-handling ASN. You can’t shop for those; your freight forwarder triggers them on your behalf.
Marketplace analog, for scale: Walmart WFS bills $0.65/unit for a missing or incorrect label and $0.80/unit for a missing poly bag as “unplanned prep.” Walmart WFS Amazon’s inbound placement fee averaged $0.27/unit standard-size and $1.58/unit large bulky against its March 2024 baseline, $0 if you accept Amazon’s suggested split. Amazon Seller Forums
3. Storage: three separate fees wearing one name
Standard storage is the honest part. Survey averages: $20.17/pallet/month (range $15–$40), $3.08/bin/month, $0.46/cu ft/month. Fulfill.com Published rates track it: Fulfyld $28.00/pallet/month with bins at $2.20 / $3.50 / $5.25 (501–1,000 orders/month tier); Simple Global pallets up to $25/month, bins from $0.90; Launch Fulfillment $0.40–$0.60/cu ft; ShipCalm $0.19/cu ft per week plus $1.45 per SKU per week.
Peak. Flexport charges $0.81/cu ft per 30 days January through September and $2.40 October through December, a 2.96x jump on the same cube. Walmart WFS holds peak at $0.75/cu ft for the first 30 days, then adds a $1.50 surcharge to reach $2.25 beyond it. Generic Q4 storage and handling markups run 10–30%. GoBolt
Aged. The fastest-growing hidden fee in the category: long-term storage surcharges are now charged by 48.6% of surveyed warehouses, up from 23.3% the prior year. Fulfill.com Published tiers: Flexport charges $6.90/cu ft per 30 days at 365+ days, 8.5x its own standard rate, with a $0.15/unit floor. Walmart WFS charges $2.25/cu ft at 366–450 days and $7.50/cu ft above 450 days, ten times its $0.75 base. Flexport’s B2B pallet ladder shows the mechanic cleanly: $15 in month 1, $27.50 in months 2–12, $60 from month 13 at LAX, 4x month 1 for the identical pallet.
Unpublished aged terms follow the same shape: 1.5x–3x standard, triggered at 30/60/90 days idle Red Stag Fulfillment, or a flat $2–$10/pallet/month at 180+ days. GoBolt The template is Amazon’s own FBA long-term storage fee at 271+ days. Feedvisor
The minimum floor. Flexport raised its minimum storage charge per DSKU from $0.01 to $0.10 per day. Flexport 2026 Pricing FAQs Illustrative order profile: 200 active DSKUs × $0.10 × 30 = $600/month before cube is measured at all. With a long tail of slow SKUs, the floor beats the cube rate.
4. Pick surcharges: the second item is where the model changes
The headline pick fee is real. It is almost never the whole pick fee. Survey figures: first item $2–$3 (some rate cards $0.99–$2.00), avg $3.20; additional item $0.30–$0.75, avg $0.48; B2B orders $4–$6, avg $4.80. Fulfill.com
Published rates show how differently the same service gets structured. ShipCalm quotes $2.65 per DTC order plus $0.95 per item picked; Launch Fulfillment $2.50 per order plus $0.75–$1.25 per item; Shipfusion’s case studies $1.36–$1.52 first pick, $0.23–$0.28 consecutive; Simple Global a ceiling of up to $1.75 per order. Fulfyld includes 5 free picks, then $0.50 per additional item, bundling postage into an all-in $7.74 per order at the 501–1,000/month tier ($7.51–$10.27+ by weight and speed). Flexport’s B2B side: $0.50 each pick, $1.50 case pick, $14 pallet build, $7 order processing.
Illustrative order profile on ShipCalm’s published numbers: a 3-item DTC order at $2.65 + (3 × $0.95) lands at $5.50, more than double the headline. Whether the first pick is included in that $2.65 is the ambiguity that produces invoice surprises.
Escalators to ask about: ShipCalm’s $9.45 B2B multi-parcel order versus $3.55 single-parcel (2.66x for the same order, differently packed), its $0.12/lb surcharge above 15 lb, Flexport’s $3.00 order cancellation fee and $6.00 SIOC non-compliance surcharge, and the $3–$8 per extra box multi-box surcharge. GoBolt More at /guides/3pl-pick-fee-benchmarks/.
5. Packaging: cost-plus you can’t audit
Materials are either bundled into pick-pack or itemized, and quotes rarely say which. Published: ShipCalm charges $0.69 per item bagged, $0.29 per item labeled, a $39.50 one-time bagging setup, and $19.95 per outbound pallet prep; Fulfyld $0.40 per UPC label; MyFBAPrep $0.50/unit for fragile handling plus $0.50/unit oversized, on top of base prep.
Materials themselves are commonly billed cost-plus 20–40% or a flat $0.50–$2.00/order, against component costs of $0.15–$0.35 per poly mailer and $0.30–$2.00 per corrugated box. GoBolt; SmartSMSSolutions
“Cost-plus 20–40%” is unauditable unless the contract gives you the underlying cost. And box sizing isn’t cosmetic: it drives dimensional weight, the next section.
6. Carrier pass-throughs: the largest invisible line
Fix this section first. Shipping is usually the biggest cost bucket, and the one where the 3PL’s quote is structurally silent.
Dimensional weight. FedEx and UPS both use a divisor of 139 for US domestic and international parcel. USPS uses 166 for Priority Mail and Priority Mail Express over one cubic foot; Ground Advantage and First-Class Package are not dim-weighted. Carriers bill whichever is greater, actual or dimensional. Shippers above roughly $1M/year can sometimes negotiate a more favorable divisor. Packizon
Illustrative order profile: a 12 × 10 × 8 inch box is 960 cubic inches, billing as 7 lb at a 139 divisor and 6 lb at 166. If the contents weigh 3 lb, you pay for 7 lb on FedEx or UPS regardless. A 3PL that defaults to one box size larger than needed silently raises billable weight on every order, and no rate-card line describes it. This is what Beardbrand hit, below.
Fuel. FedEx indexes Ground and Home Delivery weekly to US on-highway diesel, at 26.25% for Aug 3–9, 2026; other package services index to Gulf Coast jet fuel at 28.50%, international at 40.00%. FedEx UPS adds a Regulatory Fee of $0.15/kg billable weight, $10 minimum and a Harbor Maintenance Fee of 0.125% of declared cargo value. UPS Fulfillment providers pass the same shocks through: Amazon MCF applies a standing 3.5% fuel and logistics surcharge Amazon MCF, and Amazon added a temporary 3.5% FBA fuel surcharge, about $0.17/unit, effective April 17, 2026. Retail Dive
Residential, peak, and area surcharges. Sept 28, 2026 through Jan 17, 2027, FedEx demand surcharges run Additional Handling $8.80–$11.85/pkg, Oversize $95.75–$117.25/pkg, Residential Ground $0.50–$0.80/pkg, Ground Economy $2.55–$4.05/pkg, with higher tiers Nov 23–Dec 27. A separate Dynamic Residential Delivery Charge of $1.70–$9.35/pkg hits shippers above 20,000 residential/Ground Economy packages per week, scaled against a June 2026 baseline. FedEx Delivery Area Surcharge applies to ZIPs outside dense delivery zones and is not optional. ShipMint
Reaching your 3PL invoice, reported bands run: residential $4.00–$6.00, fuel 5–15% of label cost, DAS $3.20–$6.50, Extended Area $35–$40, Additional Handling $15.75–$33.50, peak $1.60–$3.50/parcel. Red Stag Fulfillment; GoBolt
The markup. 3PLs negotiate 10–30% off published carrier rates, then pass through with a disclosed markup or bill a blended rate. Reported markups: 5–20% above carrier cost Red Stag Fulfillment, or 5–15%, or a flat $0.50–$1.50/package SmartSMSSolutions. The contractual red flag: 3PLs that bar you from your own carrier accounts or from seeing base rates, making the markup unauditable by construction. ShipDudes
The notice window. ShipBob’s terms give it 30 days’ notice for general fee changes but only 15 for carrier-surcharge pass-throughs, and state that continued use after the effective date means acceptance. ShipBob ToS In 2026 FedEx and UPS base rates rose roughly 5.9%, with surcharges rising faster. Fulfill.com
7. Returns and removals
Returns are the most commonly under-quoted category; many providers omit them from the initial rate card entirely. Published rates in our dataset: $2.00 (Launch Fulfillment), $3.00 (Flexport return-to-sender), $3.50 first item plus $0.50 per additional (Fulfyld), $4.95 per item (ShipCalm). Survey average is $4.06 against a $1–$7 range. Fulfill.com ShipBob describes returns management as a flat fee but publishes no amount. ShipBob Add-ons: Flexport charges $1.80/unit for return or disposal documentation with images, $0.10/unit for notes only; restock fees run $1–$4/item and return-label generation $3–$8. GoBolt
Removals matter more than operators expect: that’s what an exit costs. Flexport’s ladder: $1.04 (0–0.5 lb), $1.53 (0.5–1 lb), $2.27 (1–2 lb), $2.89 + $1.06/lb (2+ lb), $25 order minimum. Walmart WFS charges $0.35 for disposal up to 2 lb, $0.35 + $0.20/lb above, $0.40/lb return-to-seller shipping.
The red flag: returns fees frequently sit in “a separate rate card that is subject to change” rather than in the signed agreement. ShipDudes
8. Value-added services: the hourly-rate blank check
VAS pricing is rarely on a rate card because it’s rarely defined. Published exceptions: MyFBAPrep charges $1.00/unit at standard tier (5,000 units/month minimum) and $0.50/unit at pro (50,000 units/month), bundles $0.50 for up to 2 items, $0.75 for 3–5. Launch Fulfillment publishes $1.50–$3.00 per kit; Simple Global labor from $38/hour basic, from $48/hour complex; Fulfyld $40 per man-hour for special projects.
Aggregator ranges for the rest: kitting labor $35–$60/hr, avg $39–$43; simple kits $1.50–$3.50, complex $3.50–$8.00; photography $5–$25/SKU; QC inspection $25–$50/hour beyond a basic count. SmartSMSSolutions
Watch job minimums. Flexport applies a $200 minimum per prep job: on a 100-unit relabel, that’s $2/unit before any per-unit rate. Refuse “special projects billed at current labor rates” with no per-unit price, which means cost is unknown until invoiced. ShipDudes
9. Admin, minimums, and the fees that aren’t line items
The category most likely to be entirely absent from a sales quote.
Minimums are rising fast. The survey average monthly minimum is $517/month in 2026, up 53% from $337.50 in 2024. Fulfill.com Published examples span a huge range: $399/month, about 140 orders (Fulfillrite pick-and-pack), $750/month, about 100 orders (Simpl Fulfillment), a $6,000 quarterly pay-the-difference minimum (ShipCalm), and Flexport’s jump to $5,000/month effective January 1, 2026, up from $500, tenfold in one revision. Flexport 2026 Pricing FAQs Negotiation guidance for sub-1,000-orders/month brands puts $500–$1,500/month in reasonable territory and flags anything above $3,000/month for that segment. Simple Distribution
Platform fees, quoted weekly. ShipCalm publishes plans per week: Essentials DTC $49, B2B $89, Omni-Channel $119, Managed $295, Pro $999, Legendary $1,750, plus a $249/week support desk covering 50 conversations, then $2.95 each. Annualize before comparing: Managed at $295/week is $15,340/year, not “about three hundred a month.” Fulfillrite’s account fee is $59.99/month; ShipBob’s software fee is $0, the only numeric figure on its pricing page; Flexport charges $200/month per active EDI connection and a $500/month B2B portal minimum covering 20 shipments, then $50 each. Survey ranges: account management $30–$1,000+/month, avg $102.88, charged by 35% of warehouses; EDI/API $0.05–$0.15/order. Fulfill.com; GoBolt
Payment-side fees. Flexport charges 3% on domestic card and PayPal processing, 4% international PayPal. ShipBob’s terms set late-payment interest at 18% APR for US and Canada merchants (10% elsewhere), accruing from the 6th day after the due date, cap invoice disputes at 30 days, and let ShipBob revoke negotiated pricing and revert to standard rate card on non-payment. ShipBob ToS That last clause is the expensive one: a cash-flow slip doesn’t just cost interest, it can cost your discount.
The fees that show up as losses instead. ShipBob’s terms set a 0.5% shrink allowance on a rolling 12-month basis, with loss claims due within 45 days and damage claims within 30 days. Below that threshold the loss is yours. The same terms cap parcel loss at $100.00 per parcel, goods damage at $1.00 per pound, and aggregate liability at the lesser of $10,000 or 100% of fees paid in the preceding three months. ShipBob ToS ShipBob-specific, not industry norms, but a real benchmark to hold other MSAs against. Measured shrinkage averages 1.44% across 150 US 3PLs surveyed, median 0.65% across 500 brands. Red Stag Fulfillment A 0.5% allowance against 1.44% real shrink leaves the gap uncompensated by design.
More clause detail at /guides/3pl-contract-red-flags/.
10. Exit fees: the ones you can’t renegotiate later
Account closure fees run $500–$2,000 and are, per the negotiation guides, “buried in appendices.” Early termination is commonly 1–3 months of minimum spend, one month normal and three-plus aggressive. Simple Distribution One aggregator puts the aggregate cost to terminate or transfer inventory at $5,000+. GoBolt
Use the counter-example as leverage: ShipBob’s terms of service charge no termination fee. The merchant may terminate anytime “with no balance due” by email, gets a 30-day goods-removal window, and ShipBob owes 30 days’ notice in return. ShipBob ToS Don’t assume a termination fee is standard when a major provider publishes terms saying it isn’t.
Not published anywhere by any vendor: per-pallet inventory transfer-prep rates. Get that one in writing before you sign.
The named case: Beardbrand expected per-order shipping cost to fall from $13 to about $10 after moving to a Milwaukee 3PL. It rose to $14.50, from undisclosed fees and oversized packaging at the new provider. The brand also destroyed roughly $200,000 of unsalable inventory in 2024 and about $500,000 the year before. Its founder noted the new 3PL “altered quoted rates without notification,” caught only because the ops manager kept a printed copy of the original quote. Practical Ecommerce A single named case, not a statistic, but that oversized-packaging mechanism is the dim-weight math above. Full exit stack at /guides/cost-to-switch-3pl-warehouses/.
What to do next
- Send the fee list, not a request for a quote. Take the categories above and ask each provider to fill in a number or write “N/A.” A blank is an answer.
- Get the floor-loaded container rate and the aged-storage trigger in writing. Largest published multipliers in our dataset: 2.2x on receiving (MyFBAPrep), 10x on storage (Walmart WFS).
- Ask whether the shipping markup applies before or after the carrier discount, and whether you can see the raw carrier invoice. If no to the second, treat the first as unknowable.
- Annualize every recurring fee. Weekly platform pricing, quarterly minimums, and per-SKU daily storage floors are designed to look small in their native unit.
- Read the termination section before the rate card. Then normalize against your real order profile: /guides/how-to-compare-3pl-quotes-apples-to-apples/.
Sources
All sources accessed 2026-08-04.
- Fulfill.com, “How Much Does a 3PL Cost in 2026? 16 Fee Benchmarks”
- Red Stag Fulfillment, “3PL Pricing Guide 2026”
- Red Stag Fulfillment, “What Is The Average 3PL Shrinkage Rate? 2026 Benchmarks”
- SmartSMSSolutions, “3PL Pricing 2025: Every Fee Explained”
- GoBolt, “3PL Fees and Rates Guide”
- ShipDudes, “3PL Contract Red Flags: 12 Terms That Will Cost You”
- Simple Distribution, “How to Negotiate a 3PL Contract”
- ShipBob Terms of Service
- ShipBob Pricing
- Flexport, “Omni-Channel Fulfillment Pricing Overview”
- Flexport, “2026 Flexport Fulfillment Pricing FAQs”
- ShipCalm Pricing Details
- Fulfyld, “3PL Fulfillment Pricing”
- Simple Global Pricing
- MyFBAPrep FAQ and Pricing Overview
- Launch Fulfillment, “Ecommerce Fulfillment Pricing”
- Shipfusion, “3PL Pricing”
- Simpl Fulfillment Pricing
- Fulfillrite FAQs
- Cahoot, “Order Fulfillment Pricing”
- a2b Fulfillment Pricing
- ShipMonk Pricing
- ShipHero, “Overview: 3PL Billing Fees”
- Red Stag Fulfillment, “Get Pricing”
- ShipNetwork Pricing
- Atomix Logistics, “Order Fulfillment Pricing”
- Walmart Marketplace Learn, “WFS Fees”
- Amazon Supply Chain, “MCF Rate Card”
- Amazon Seller Forums, inbound placement service fee notice
- Feedvisor, “Amazon Long-Term Storage Fees 2026”
- Retail Dive, “Amazon to slap fuel surcharge on FBA amid fuel price spike”
- Packizon, “Carrier DIM Weight Divisors: FedEx, UPS, and USPS Explained”
- FedEx, “Weekly Fuel Surcharge Changes”
- FedEx, “Demand Surcharges”
- UPS Supply Chain Solutions, “Surcharges”
- ShipMint, “Delivery Area Surcharges (DAS): What They Are and Where They Apply”
- Practical Ecommerce, “Lessons from Changing 3PLs”