Free 3PL pricing templates: who wrote them

By Wayan Sunnasy Published 2026-08-17 Data last verified 2026-08-04 19 sources How we verify →

You searched for a 3PL pricing template because you have two or three quotes on your desk and no way to line them up. There are free ones. We opened the six pages below on 2026-08-17, and every one of them is published either by a 3PL that would like your business or by software sold to 3PLs.

That is not a scandal and we are not going to write it as one. It is a fact about who is holding the pen, and the honest use of it is narrow: it tells you whose interest to ask about, not that any of these files is wrong. We did not open any of them, so we will not tell you what is inside one. What the authorship does mean is that whoever chose which fees get their own row is a party to the comparison, which is worth knowing before you trust the row list. RateCard Lab takes nothing from any vendor — no vendor pays to appear in our dataset, to be left out of it, or to influence how a rate is presented (methodology).

The bigger problem is mechanical, and it applies to every single-cell-per-fee template including one you build yourself in an afternoon. A spreadsheet cell holds one number. A lot of what 3PLs actually publish is not one number. Below is what that looks like against our 241 sourced fee rows across 23 fulfillment operations, each carrying its source URL and the date we read it.

Who publishes the free 3PL pricing templates

Fetched by direct HTTP request on 2026-08-17. We did not submit an email address to any of them, so where a file sits behind a form we describe the form, not the file. Where a page previews its own file, we describe the preview and say that is what we are describing.

PublisherWhat the publisher sellsWhat the page offersWhat it asks for first
FulfyldFulfillment. It is one of the vendors in our dataset.An .xlsx template. The page’s own file card says one sheet, 31 rows, updated July 2026, and previews the opening rows as two columns headed Input Field and Description. Bylined to Fulfyld’s VP of Operations.Nothing. The page states: “Free. No email required.”
OTW ShippingFulfillment, tiered by monthly order band.A comparison sheet that scores each 3PL out of 10 across price and non-price factors you weight yourself.An email address. The page directs you to a form and sends the download link by email.
ShipBuddiesFulfillment.An on-page calculator, ungated. It is explicitly not a neutral grid: the page says it compares your current 3PL’s costs against ShipBuddies, and its FAQ states the tool does not include carrier shipping rates.Nothing.
Warehousing EtcWarehousing and fulfillment.A seven-step comparison process plus an Excel workbook. The article describes the workbook’s tabs: Inbound, Outbound, Storage, Recurring Fees, One Time (Setup) Fees, and a Monthly 3PL Invoice Projection. Structurally the most ambitious of the six.Name, email, and a two-step region questionnaire whose first question is whether you use or plan to use warehouse space in Tampa, Mobile or Houston. Its download page states the kit is the same calculator and process the company uses when quoting clients.
ShipHeroWarehouse management software, sold to 3PLs.A guide to building a pricing template, written from the 3PL’s side: how to price a prospective client. Its download link leaves ShipHero entirely and points at a third-party consultant’s site, 3plmanager.com, where an Excel estimator is offered ungated.Nothing at either page. The estimator’s own page states it excludes setup, transition and ancillary costs.
LogiwaFulfillment management software.No downloadable file, and no calculator on the page as we fetched it. An explainer that publishes cost ranges (setup $150–$500, storage $15–$40 per pallet per month, pick and pack $2.50–$5.00 per order, returns $3.50–$5.00 per return) attributed to 2024–2025 industry data with no source named, and suggests you start by looking for a cost calculator on each 3PL’s own site.Nothing; there is nothing to download.

Two housekeeping notes, because they are the kind of thing that quietly rots a citation. The URL that sits in the search index for Warehousing Etc’s template (warehousingetc.com/we-downloads/logistics/calculate-3pl-costs-with-our-custom-excel-template/) returned HTTP 404 on direct fetch on 2026-08-17; we cite the two reachable pages instead. And the Logiwa row records what the page contained as fetched, without executing its scripts.

Read the table as a whole and the pattern is not gating. Only two of the six ask for anything before the download: OTW an email address, Warehousing Etc your name, email and warehousing region. The pattern is authorship. The tool that tells you how to compare fulfillment vendors was written, in every case, by someone who sells fulfillment or sells to the people who do. Fulfyld’s is the clearest case because it says so on the page — the template is bylined to the company’s VP of Operations, the download is genuinely free with no email asked for, and Fulfyld’s own rate card is one of the thirteen published cards in our dataset. The author is in the comparison, and you can read that off the byline.

Three fee shapes a single cell cannot hold

This is the part that costs money, and it has nothing to do with who wrote the file. Take any template with one row per fee category and one column per vendor. Here are three shapes in our dataset that will not go into those cells. Every row carries its file and line so you can open it; the read dates are in the limitations section at the end.

1. The fee that is a formula

A base amount, plus a per-pound rate above a threshold. Two numbers and a breakpoint, in one field.

VendorFee itemUnitAmount as recordedRow
Amazon MCFlarge standard 3-20lb, Standard speed, 1 unitper unit11.75 + 0.70/lb over 3lbplatforms:22
Amazon MCFsmall bulky up to 30lb, Standard speed, 1 unitper unit18.08 + 0.75/lb over 2lbplatforms:23
Amazon MCFlarge bulky up to 30lb, Standard speed, 1 unitper unit18.43 + 0.77/lb over 2lbplatforms:25
Amazon MCFlarge standard 3-20lb, Expedited speed, 1 unitper unit14.14 + 0.69/lb over 3lbplatforms:34
Walmart WFSstandard item 4-20 lbper unit5.75 + 0.40/lb over 4lbplatforms:46
Walmart WFSstandard item 21-30 lbper unit15.55 + 0.40/lb over 21lbplatforms:47
Walmart WFSstandard item 31-50 lbper unit14.55 + 0.40/lb over 31lbplatforms:48
Walmart WFSstandard item >=51 lbper unit17.55 + 0.40/lb over 51lbplatforms:49
Walmart WFSbig & bulky item up to 500 lbper unit155 + 0.80/lb over 90lbplatforms:55
Walmart WFSbig & bulky return processingper unit155 + 0.80/lb over 90lbplatforms:64
Walmart WFSdisposal fee 3-500 lbper unit0.35 + 0.20/lb over 2lbplatforms:66
Flexportinventory removal 2+ lbper unit2.89 + 1.06/lb, with a $25 minimum per removal orderplatforms:87

There is no single number you can put in a “WFS standard fulfillment fee” cell that is right. Worked example, using nothing but rows platforms:46:48: a 12 lb unit is $5.75 + (0.40 × 8) = $8.95. A 20 lb unit is $5.75 + (0.40 × 16) = $12.15. A 21 lb unit falls into the next tier and costs $15.55, a $3.40 step for one extra pound. A 30 lb unit is $15.55 + (0.40 × 9) = $19.15. And a 31 lb unit crosses into the 31-50 lb tier and costs $14.55 — $4.60 less than the 30 lb unit. The schedule is not monotonic. A single cell cannot express a fee that steps up $3.40 for one extra pound at 21 lb and then falls $4.60 for one extra pound at 31 lb, and whichever number you type in will be wrong in a direction that depends on your weight mix.

Flexport’s removal row is the same problem with a floor bolted on. A 3 lb removal computes to $2.89 + (1.06 × 3) = $6.07, but the row records a $25 minimum per removal order, so the number you are actually billed for one small removal is $25. Three numbers, one cell.

2. The fee that is a percentage of another fee

These are not amounts at all. They are multipliers, and their dollar value depends on which other cell they attach to.

VendorFee itemUnitAmountConditions as recordedRow
Amazon MCFfuel and logistics surchargepercent of fulfillment fee3.5applies to all US MCF fulfillment feesplatforms:37
Amazon MCFremote area surcharge, standard sizepercent of fulfillment fee100shipments outside the 48 contiguous states + DC onlyplatforms:38
Amazon MCFremote area surcharge, oversizedpercent of fulfillment fee200shipments outside the 48 contiguous states + DC onlyplatforms:39
Amazon MCFPreferred Pricing discount, 6-month commitpercent of outbound fulfillment fee156-month preferred pricing enrollmentplatforms:40
Amazon MCFPreferred Pricing discount, 12-month commitpercent of outbound fulfillment fee15“up to 15%”; 12-month preferred pricing enrollmentplatforms:41
Flexportcard/PayPal processing feepercent of transaction3domestic card and PayPal payment processingplatforms:97
Flexportinternational PayPal processing feepercent of transaction4international PayPal payment processingplatforms:98

Type 3.5 into a dollar column and you have booked a $3.50 fee. Worked example on one published single-unit row: MCF’s large standard 2-3 lb Standard-speed rate is $11.75 per unit (platforms:21), so the 3.5% fuel and logistics surcharge on that unit is $0.41, not $3.50 — and that one does apply to every US MCF fulfillment fee. The 100% remote area surcharge is a conditional: platforms:38 records it as applying to shipments outside the 48 contiguous states and DC, so on that same unit it is nothing at all going to Ohio and $11.75 going to Alaska, taking the line from $11.75 to $23.50 before the fuel surcharge is added on top. One unit, one vendor, two surcharges written in the same form — and one of them is a flat $0.41 while the other is either zero or the whole fulfillment fee again, depending on a destination the rate card cell knows nothing about.

The two Flexport payment rows are worse for a template, because the base is not on the rate card at all. A 3% card processing fee resolves to dollars only once you supply average order value, and average order value is a fact about your business, not a fee the vendor published. A grid with one column per vendor has nowhere to put an input.

3. The fee that is a qualifier or a range

A ceiling, a floor, or a band. Every one of these traces to a figure its vendor published, and not one of them is a price you can put in a cell.

VendorFee itemUnitAmount as recordedRow
Walmart WFSstandard item return processingper unit4.70-17.55 — the two ends of a published per-weight schedule, not a band Walmart printsplatforms:63
Simple Globalpick and pack feeper order“up to $1.75”midmarket:2
Simple Globalsmall bin storageper bin per month“from $0.90”midmarket:3
Simple Globalpallet storageper pallet per month“up to $25”midmarket:4
Simple Globalbasic work order laborper hour“from $38”midmarket:7
Simple Globalcomplex work order laborper hour“from $48”midmarket:8
Simple Globalinventory audit and reporting laborper hour“from $48”midmarket:9
Fulfyldall-inclusive per-order fee rangeper order7.51-10.27, two published averages, each shown on the page with a ”+”midmarket:11
Launch Fulfillmentitem picking feeper item0.75-1.25, labeled by the vendor as a sample ratemidmarket:94
Launch Fulfillmentstorage feeper cubic foot0.40-0.60, with no time period publishedmidmarket:95
Launch Fulfillmentkitting feeper kit1.50-3.00, labeled by the vendor as a sample ratemidmarket:96
Simpl Fulfillmentbase per-order feeper order“from $7.00”midmarket:98
Shipfusionfirst pick fee, case-study exampleper order1.36-1.52midmarket:102
Shipfusionconsecutive pick fee, case-study exampleper item0.23-0.28midmarket:103

Put two of those in a one-cell template and watch what happens. Simple Global’s pick and pack is published as “up to $1.75” per order. Simpl Fulfillment — a different company, despite the name — publishes its base order fee as “from $7.00” per order. Strip the qualifiers to make them fit a cell and the template ranks Simple Global as roughly four times cheaper. But one figure is a ceiling with no floor, the other is a floor with no ceiling, and they are not even the same object: Simpl’s row records that its number includes postage, packaging, pick and pack and up to three picks, while Simple Global’s row is a pick and pack fee with custom rates by volume and nothing recorded about postage at all. The comparison a stripped cell produces is not close to wrong in a small way.

We know exactly how that failure feels, because we shipped it. Two pages on this site once described Simple Global’s ceiling as a floor. The figure was real and it was in our own data; the qualifier was dropped in the writing. That is why ops/check-figures.py now fails our build when a quoted qualifier does not match a row character for character, and why the unit column in every table above is copied verbatim rather than tidied into something that reads better. “Per additional item” and “per order” are different businesses.

Launch Fulfillment’s storage row is the edge case worth memorizing. It publishes 0.40-0.60 per cubic foot and, on the page we re-read on 2026-08-12, no time period anywhere — not per week, not per month. That omission is the vendor’s, not our recording, and it means the row cannot be normalized against any other storage rate without inventing the period. A cell that holds 0.50 and multiplies it by your cubic feet will produce a confident monthly number out of a rate that has no month in it.

Walmart’s returns row is the opposite trap, and it is the one that would fool us if we were not careful with our own record. 4.70-17.55 is not a band Walmart publishes. Walmart publishes a per-weight schedule; our row records its two ends, and the row’s own conditions say the returns base runs $1.25 per unit above the fulfillment fee on every tier up to 20 lb and is identical from 21 lb up. Bracket a return between $4.70 and $17.55 and you can still be low, because both ends of that range are tier bases rather than the most a return can cost: the per-pound riders push actual charges above $17.55. Applying that condition to platforms:47 — arithmetic, not a figure we read — a 30 lb return computes to $15.55 + (0.40 × 9) = $19.15, above the recorded ceiling. We took that row apart in our WFS return processing note. The rule it teaches is general: a range you compressed yourself is not the same object as a range a vendor printed, and a template with one cell per fee cannot hold the difference.

And a fourth shape: the row that is a change, not a rate

Some published figures are deltas. Amazon’s April 2024 adjustment cut the standard-size fulfillment fee by $0.20 per unit (platforms:3) and the large-bulky fee by $0.61 per unit (platforms:4); both are recorded as historical baseline adjustments, not as current rates, and both are sourced to a Seller Central forum thread reproducing Amazon’s own notice rather than to a rate card. The 2026 changes are recorded the same way from the other direction: an FBA increase averaging $0.08 per unit across all size tiers, effective 15 January 2026 against the 2025 baseline (platforms:2), and a 2026 MCF increase averaging $0.30 per unit, which the row’s conditions record as an average across tiers with multi-unit small and large standard orders unchanged and with no effective date given (platforms:42). Every one of those is a signed change, not a rate: none of the four rows carries the absolute fee the change applies to. Put -0.20 in a fee cell and your total drops by twenty cents; the actual fee is not in the row at all.

The rate card the template’s author publishes

Fulfyld’s twelve rows in our dataset are the whole argument in one table. This is the published card of the company whose VP of Operations is bylined on the ungated template in the table above, and it is one of the better cards in the dataset: itemized, public, and with the volume tier stated. Look at the unit column.

Fee itemUnitAmountConditions as recordedRow
all-inclusive per-order fee, 4-12oz standard shippingper order7.74501-1000 orders/month tier; published as an average ($7.74+), not a quoted rate; includes postage, pick and pack, packaging, labelmidmarket:10
all-inclusive per-order fee rangeper order7.51-10.27published averages, both endpoints in the 4-12oz band; varies by volume tier and destination, not by weightmidmarket:11
additional item pick feeper item0.50beyond first 5 free picks per ordermidmarket:12
receiving labor after free onboardingper hour40first 2 hours of onboarding receiving are freemidmarket:13
small bin storageper month2.20501-1000 orders/month tier; bin 18x6x6 inmidmarket:14
regular bin storageper month3.50501-1000 orders/month tier; bin 18x10x11 inmidmarket:15
x-large bin storageper month5.25501-1000 orders/month tier; bin 24x16x16 inmidmarket:16
pallet storageper month28.00501-1000 orders/month tier; pallet 48x40x60 inmidmarket:17
first item returns processingper return3.50midmarket:18
additional item returns processingper item0.50midmarket:19
UPC labelingper label0.40midmarket:20
special projects laborper man-hour40midmarket:21

The units run per order, per item, per hour, per month, per return, per label and per man-hour. Two of them, per hour and per man-hour, are different strings for work that may well be the same thing; we copy what the page prints rather than merging them, because merging is a judgement and judgements belong in the notes, not in the data. Three of the storage rows are billed per bin and one per pallet, and the container dimensions sit in the conditions column, which means a template with one “storage” cell has nowhere to put the only fact that makes $2.20 and $5.25 comparable. And the second row is a range that overlaps the first row’s point estimate, with its top end recorded from a published ”+” — an open bound, not a ceiling.

Twelve rows, one vendor, one of the more transparent cards in our dataset, and a single-column template cannot represent it. That is not a criticism of Fulfyld’s template. It is what happens to any grid with one cell per fee.

Stop normalizing quotes by hand. The 3PL Quote Normalizer Kit takes your order profile plus up to five competing rate cards and returns true all-in cost per order, a 12-month projection and the volume where the cheapest vendor changes — plus the RFP question set and the 40-point contract red-flag checklist. Get the Kit →

The blank cell problem: three states, not two

A comparison grid starts out mostly empty, and stays partly empty however long you work at it. An empty cell means three completely different things, and no grid can tell them apart.

  1. The vendor publishes a figure and you have not looked it up yet. Fixable in ten minutes.
  2. The vendor publishes nothing for that fee, and you checked. That is a finding. It tells you the quote will have to be extracted, and it tells you which vendor will hand you a number only after a sales call.
  3. There is no row at all, because the vendor may not sell that service, or because nobody has ever checked.

We keep those apart in the data rather than letting a blank stand for all three. Of our 241 rows, 27 of them record that we looked and found no published dollar figure — an explicit gated row with the URL we checked and the date we checked it. The companies that publish nothing anywhere are named in the benchmark table’s quote-gated section, each one linking to the page we read with the date on it; the remaining gated rows belong to companies that do publish figures, just not for that fee. A vendor with no row for a service line is a separate, weaker statement, and we never write it as silence. Collapsing those three states into one empty cell is how a comparison produces a confident ranking of vendors it has not actually priced. The five ways a published number still is not a price are catalogued in our audit of whether 3PLs publish pricing at all.

What a template has to do instead

None of this requires buying anything. If you are building your own sheet this afternoon, these five rules are the difference between a comparison and a guess.

  1. Give every fee cell a companion unit cell, and copy the unit verbatim. Not a dropdown you normalized on entry. per bin per month and per month are both in the tables above and they are not the same field. Per week and per month differ by 52/12, or 4.333 — not by four — and that single conversion is the most expensive arithmetic error in this exercise.
  2. Hold a range as a range: two cells, low and high, and carry both to the total. One vendor’s quote becomes a band, and bands that overlap tell you honestly that you cannot rank those two vendors on published data. A midpoint tells you that you can, which is worse than knowing nothing.
  3. Give formula fees a rate cell, a threshold cell and a base cell. Walmart WFS above needs three numbers and a weight input before it produces a fee at all. Anything less is a number you made up.
  4. Keep percentages out of the dollar columns entirely and store what they multiply. A 3.5% surcharge on fulfillment fees and a 3% surcharge on transaction value both look like small percentages and attach to completely different bases.
  5. Put a source URL and a read date on every cell you did not receive in writing. Vendors change prices without notice; a figure with no date is not evidence three months from now, and it is the only thing that settles an argument when the first invoice disagrees.

Then normalize everything against one order profile before you compare anything, which is the part that actually produces a ranking. Our apples-to-apples method walks four published cards through it end to end against a 2,000-order, 140-SKU month. Normalizing does not reorder those four — the order comes out identical. What it does is collapse the gap between first and last from 2.9x to 1.9x, and show that the vendor sitting on top is the only one of the four whose number leaves postage out.

What we ship, and what it costs

The 3PL Quote Normalizer Kit is $99 once. Excel .xlsx, 14 tabs, formulas only and no macros, so nothing in it can run code on your machine; it imports into Google Sheets with the formulas live, and opens in Apple Numbers and LibreOffice. It takes your order profile and up to five rate cards and returns all-in cost per order per vendor, a 12-month projection, and the volume at which the cheapest vendor stops being the cheapest. It holds ranges as ranges, converts weekly billing to monthly at 52/12, keeps a unit field next to every fee, and ships with the benchmark rows from our public dataset, an RFP question set and a 40-point contract red-flag checklist. Thirty-day refund, no questions.

What it does not do: invent the missing half of a ceiling, resolve a vendor’s self-contradiction for you, or tell you anything useful if you have one quote and nothing to compare it against. If you have one quote, the five rules above and a free afternoon will get you most of the way. We would rather say that than sell you a workbook that has nothing to chew on. We sell the workbook because it is the only thing we sell, which is also why the dataset it draws on is public.

Our own limitations, stated

Six template pages is not the market, and it is one search index on one day, from a US-only view. We did not download any of the files. Two of the six lead to an ungated file we could have opened — Fulfyld’s own, and the third-party estimator ShipHero points at — but describing a file’s internals from its landing page is a different claim from describing the file, and we would rather make the smaller claim accurately. Where we describe the contents of Fulfyld’s or Warehousing Etc’s workbook, we are describing what those pages state about their own files, on 2026-08-17.

The dataset behind the fee tables is 241 rows across 23 fulfillment operations, three of which (Amazon FBA, Amazon MCF, Walmart WFS) are marketplace programs rather than 3PLs. Most rows were read on 2026-08-04, which is the freshness floor on this page; the Walmart WFS returns row and the Launch Fulfillment storage row were re-read on 2026-08-12. The MCF rows sourced to the rate card — every fulfillment tier cited here, plus the fuel and logistics surcharge — were re-read on 2026-08-17 during a review of how MCF’s unit-count tiers are recorded. The MCF remote-area and Preferred Pricing rows come from a different Amazon page and still carry their 2026-08-04 read. That review is still open, so this page cites only MCF rows whose source states a single-unit order, and no claim here rests on MCF’s multi-unit tiers.

The platforms: and midmarket: line numbers refer to src/lib/rates-platforms.csv and src/lib/rates-midmarket.csv as of 2026-08-17. Line numbers move when rows are added; the vendor, fee item and unit in each table are the durable identifiers.

The three shape groups above were selected by reading the amount field: a formula is an amount containing a plus, a percentage is a unit beginning percent of, and a qualifier or range is an amount beginning from or up to or written as two numbers separated by a dash. The percentage and qualifier tables are the complete set under those rules. The formula table is not complete: it omits the Amazon MCF tiers whose source states a single rate across one to four-plus units, for the reason given above.

If you find a figure of ours that no longer matches its source, email data@ratecardlab.com. We publish corrections at ratecardlab.com/corrections/ and buyers of the workbook get the corrected file.

What to do next

  1. Open whichever free template you already downloaded and count the cells per fee. If there is one cell per fee and no unit field beside it, you cannot enter Walmart WFS, Amazon MCF’s surcharges, or any of the qualifier and range rows above without falsifying them. Add a unit column and a low/high pair before you enter anything.
  2. Note who published it, and check whether they are in the comparison. Not as an accusation. As a prompt to ask what is missing: which fee got a row, which got folded into “other”, and whether postage is in the model at all. Two of the tools above state plainly what they leave out — ShipBuddies excludes carrier shipping rates, and the estimator ShipHero links to excludes setup, transition and ancillary costs.
  3. Ask every vendor for the unit in writing, separately from the amount. Then ask whether a published figure is a firm rate, a ceiling, a floor or a sample. Only the first of those four answers is a price.
  4. Normalize against one order profile before you rank anything, using the method guide. A ranking of unnormalized quotes is not a cheaper vendor, it is a differently shaped rate card.

Every figure below is either quoted from the vendor’s own page on the date given, or drawn from a row in our public dataset with its file, its source URL and its read date attached. Worked examples are labeled as worked examples. Where a page could not be fetched, we say so.

Sources

The providers named above, fee by fee

This guide spans more than one fee category, so rather than a partial list: here is every provider it names that publishes enough of a rate card to have a page, with every figure sourced and dated.

  • Flexport 75 published fees across 13 categories
  • Amazon MCF 31 published fees across 2 categories
  • Walmart WFS 26 published fees across 5 categories
  • Fulfyld 12 published fees across 5 categories
  • Simple Global 8 published fees across 5 categories

All published fees by vendor · What a 3PL costs in 2026

When a figure on this page changes

We re-check these rates against the vendor's own page and publish every correction. Leave an address and you get an email when a number in this guide moves or a company is added — nothing else, and nothing on a schedule. To come off, email data@ratecardlab.com and we delete the record.