By Zain Tareen
Founder, CEO & Managing Partner, Acgile
15 Hidden 3PL Fees Draining Your Margins (And How to Spot Each One)
The rate card you negotiated covers maybe 70% of what your 3PL actually bills you. Here are the fifteen fees we find most often, and the exact way to catch each one.
The rate card you negotiated covers maybe 70% of what your 3PL actually bills you. The other 30% lives in fees you never discussed, buried in line items you've stopped reading. That 30% is where fulfillment costs quietly outgrow your forecasts.
None of this is necessarily malicious. Some fees are legitimate charges for real work. But every one of them shares two traits: they weren't front and center when you signed, and they grow unchecked because nobody reconciles them. Here are the fifteen we find most often in 3PL billing audits, organized by where they hide.
Inbound & Receiving Fees
1. Re-palletization fees
You ship floor-loaded containers to save on freight; the 3PL charges to palletize them. Sometimes that's fair, per the contract, and sometimes it's billed on freight that arrived palletized. We've seen re-palletization billed on every inbound shipment regardless of how it was loaded.
Spot it: Match re-palletization charges against your inbound shipment records or supplier packing confirmations. Palletized inbounds should never carry this fee.
2. Non-compliant inbound penalties
Missing ASN, unlabeled cartons, mixed-SKU pallets: 3PLs charge penalty rates to process “non-compliant” freight. The definition of compliant, however, often lives in a routing guide you were never sent, or one that changed after signing.
Spot it: Request the current inbound routing guide in writing. Then require a photo or documented reason for every non-compliance charge.
3. SKU setup and SKU maintenance fees
A per-SKU charge for creating item records, then sometimes a recurring monthly fee per active SKU. For catalog-heavy brands, SKU maintenance fees can quietly become a four-figure monthly line.
Spot it: Count billed SKUs against your actually-active catalog. Discontinued and zero-inventory SKUs frequently keep billing for years.
Storage Fees
4. Phantom pallet positions
Storage billed for locations you vacated. Warehouse systems don't always release positions when inventory ships out, and the billing export doesn't know the difference.
Spot it: Divide billed pallet count by your on-hand units. If units-per-pallet looks implausibly low, positions are being billed empty. (Step 3 of our full audit guide walks through this reconciliation.)
5. Long-term storage / aged inventory surcharges
Inventory over 180 or 365 days triggers escalated rates, often 2-3x standard storage. Legitimate in principle, but the aging clock is frequently wrong: FIFO systems that don't recognize replenishment, or aging applied to the whole SKU when only part of the quantity is old.
Spot it: Ask for the aged-inventory report behind the charge and match receipt dates against your own inbound records.
6. Peak season surcharges outside the peak window
A contractual Q4 storage premium that somehow starts billing in September and lingers through February.
Spot it:Check surcharge start and end dates against the contract's defined peak window, invoice by invoice.
Pick, Pack & Handling Fees
7. Oversized packaging driving DIM weight
Not a line item at all. The most expensive hidden fee is invisible: when the warehouse packs a phone case in a 12x12x8 box, the carrier bills dimensional weight, and your “shipping cost” inflates 15-40% on light items. You pay for their packaging decision.
Spot it: Sample your lightest SKUs. Compare billed weight against actual product weight; recurring DIM billing on small items means a packaging spec problem.
8. Per-unit picks on pre-packed cartons
Master cartons that ship untouched, billed as 24 or 36 individual picks instead of one carton handling fee. This is the single largest recovery category we see. It's structural, so it repeats on every order.
Spot it: Pull orders you know shipped as sealed master cartons and count the pick fees billed on each.
9. Packaging materials at retail markup
Boxes, mailers, dunnage, and tape billed per order at rates far above cost, sometimes on orders shipped in your own custom packaging that you already paid for.
Spot it: Check whether material fees appear on orders that used your supplied packaging, and benchmark the per-box rate against market cost.
10. “Special project” labor without authorization
Kitting, relabeling, quality checks, rework: billed hourly under vague labels like “labor” or “special project.” Real work sometimes; unauthorized or padded hours often.
Spot it: Require written pre-authorization with an hour estimate for any project labor. Dispute anything billed without one.
Shipping & Delivery Fees
11. Residential surcharges on commercial addresses
Carriers misclassify addresses; the fee passes through to you unchecked. At $5+ per occurrence, misclassification on even 3% of B2B orders adds up fast.
Spot it:Sample residential-surcharge orders against your customer address data. Storefronts, offices, and receiving docks shouldn't carry the fee.
12. Address correction fees you could prevent
$18-26 per correction, passed through from the carrier, and often triggered by the 3PL's own system truncating suite numbers or dropping ZIP+4 data your store captured correctly.
Spot it:Compare the address in your order export against what the 3PL transmitted to the carrier. If your data was clean, the correction fee isn't yours.
13. Markup hiding inside “pass-through” freight
The contract says carrier cost plus 5%; the effective markup measures out to 10-15% because it's calculated on published rates rather than the 3PL's discounted rates.
Spot it:Audit a sample of shipments against the carrier invoice or your rate agreement. “Pass-through” must be defined, and verified, against actual carrier cost.
Administrative Fees
14. Technology, portal, and account management fees
Recurring monthly charges for the WMS portal, “integration maintenance,” EDI transactions, or a dedicated account manager: services that were presented as included during the sales process.
Spot it:Match every recurring admin fee against the contract. If it isn't in the signed rate card, it's a negotiation that already happened without you.
15. Inventory write-offs charged back without evidence
Shrinkage, damage, and cycle-count adjustments deducted from your inventory (and sometimes billed as handling) without a variance report. Your inventory shrinks, your storage bill somehow doesn't, and nobody documents why.
Spot it:Require a variance report for every adjustment, and reconcile monthly: opening inventory + receipts - shipments - documented adjustments must equal closing inventory. When it doesn't, the gap is your claim.
The Pattern Behind All Fifteen
Notice what these have in common: every fee is individually small, plausible-sounding, and invisible at the invoice-total level. A $6 address correction, a phantom pallet, 3% of orders picked under the wrong logic. None of them moves the monthly total enough to trigger a question. Together they routinely add 10-20% to true fulfillment cost.
That's why spot-checking totals doesn't work, and why a systematic line-level audit does. Our team recovered over $919,000 for a single client whose invoices had passed internal review every month for years. The errors were simply distributed too thinly for total-level review to see.
If you want to run the audit yourself, start with our step-by-step 3PL invoice audit guide. If your invoices are blended, your volume is high, or your finance team is at capacity, Acgile's 3PL billing audit service does the line-level reconciliation for you: contract, activity data, and invoice, three-way matched, with a documented claims schedule at the end.
Frequently Asked Questions
How much do hidden fees add to 3PL costs?+
Are hidden 3PL fees illegal?+
What is the most expensive hidden 3PL fee?+
Can I get refunds for hidden 3PL fees?+
How do I prevent hidden fees in a new 3PL contract?+
Stop the hidden fee bleed
Acgile audits every line item against your contract and your data, then hands you a documented claims schedule.