Free reference · derived from the dataset, not typed

3PL Fee Benchmark Card

Keep this open while you read a quote. It answers one question per line: is this fee something vendors normally publish, or normally hide? Where a category is widely published, a vendor who will not print a number has made a choice, and it is worth asking why. Where almost nobody publishes, silence is the industry norm and the number has to come out of the negotiation instead.

storage is where vendors are most likely to name a fee and refuse to price it: 2 of the 13 companies that publish anything at all list this line and withhold the number, against 7 that print one. Across the dataset, 10 of 23 companies publish no figure in any category — those are counted separately below, because a company that prices nothing has made one decision, not seventeen.

Fee category Publish Withheld No row Published range
storage 7 2 5 $0.10 – $60.00
account mgmt 5 2 7 $2.95 – $6,000.00
fulfillment 4 2 9 $0.08 – $5,000.00
pick pack 8 1 4 $0.50 – $399.00
kitting 5 1 7 $0.40 – $200.00
receiving 5 1 7 $1.50 – $1,000.00
returns 5 1 7 $0.10 – $5.00
removal 2 1 10 $0.35 – $500.00
b2b 1 1 11 $0.50 – $500.00
misc 2 0 11 $0.12 – $3.00
prep 2 0 11 $0.50 – $1.00
surcharge 2 0 11 $3.50 – $200.00
inbound 1 0 12 $0.00 – $1.58
other 1 0 12 $3.00 – $200.00
packaging 1 0 12 $0.29 – $39.50
payment 1 0 12 $3.00 – $4.00
software 1 0 12 $0.00 – $0.00

How to read the three columns

Publish — the company prints a dollar figure for this line on a page anyone can read. Withheld — it names the fee and does not price it: it sells the service, it has a number, and it chose not to show you. No row — we found nothing either way, which usually means the company does not offer that service rather than that it is hiding the price. The 10 companies that publish nothing anywhere appear in none of these columns; they are stated once, above.

Those distinctions are where most comparisons go wrong, and the first draft of this card went wrong the same way. Folding "no row" into "withheld" makes a vendor look evasive about a service it does not sell. Folding in the companies that publish nothing anywhere is worse: it adds the same constant to every category and buries whatever the category-level pattern actually was. The numbers here are lower and duller than the ones quoted elsewhere, and that is the point.

The range is not a benchmark. It is the lowest and highest published figure in that category, across different units — per order, per unit, per cubic foot, per pallet, per week. A range spanning two units is not a spread you can negotiate against. It tells you the order of magnitude and nothing finer.

Provenance

241 rows, 218 distinct fees after de-duplication, 23 companies. Every row carries its own source URL and the date it was read; the oldest read on this page is 2026-08-04. Every figure above is computed from that table at build time — nothing on this card is typed by hand, which is the only way a reference like this stays true. See the full table, or how it was built. Found an error? data@ratecardlab.com — corrections are published at /corrections/.

Tell me when these numbers change

Vendors move their rate cards without announcing it, and we publish every correction we make. Leave an address and you get an email when a figure on this card changes or a company is added — nothing else, and no schedule to pad out. To come off, email data@ratecardlab.com and we delete the record.

Pricing a real quote rather than reading a reference?

The 3PL Quote Normalizer Kit takes up to five rate cards and returns one true all-in cost per order, with a twelve-month projection and breakeven volumes. The method it automates is published free, worked example included — build it yourself from the guide if you would rather.