3PL Storage Fees: Cubic Foot vs Pallet
You have two storage quotes on your desk. One is a number of cents per cubic foot; the other is a number of dollars per pallet position, and the pallet quote does not say how tall a pallet is. There is no exchange rate between those two documents, and the reason the search you just ran returned an average per unit is that averaging is the only thing anyone can do with them without asking you a question first.
We track 23 fulfillment operations. Reading their storage rows side by side, the thing that jumps out is not the price spread. It is that the rows do not share a denominator: standard storage is billed per cubic foot per month, per cubic foot per 30 days, per week per cubic foot, per bin, per pallet, per SKU, per DSKU, and in one case per cubic foot with no time period printed anywhere on the page. This guide lays out every published rate in its own unit, prices one footprint through every rate that converts to it, and is explicit about the places where the conversion cannot be done at all.
Storage is two questions, and vendors answer them independently
Every storage line in our dataset is the product of two choices the vendor made separately.
What gets counted. The denominators that appear in published rates: the cubic foot, the bin, the pallet, the SKU, the DSKU (Flexport’s term for a distinct SKU in storage), and the unit. The shelf appears too, as a storage line item with no number attached to it.
Over what period. The periods that appear: per day, per week, per 30 days, per month — and, on one published rate, no period at all.
The two choices are independent, so the combinations multiply, and the market has not converged on one. That is the whole problem. A cubic-foot rate rewards you for cube efficiency and punishes bulky low-value goods. A container rate — bin, shelf, pallet — rewards you for filling the container and bills you for its dead space regardless. A SKU-count rate rewards you for pruning the long tail and is indifferent to volume. A per-DSKU floor does the same thing but sets a minimum rather than a rate, which means it can price your account entirely on its own without the headline rate ever applying. Same warehouse, same pallet, and each of those structures asks you to optimise for something else.
Every published storage rate we could source
Ordered by the unit string exactly as our dataset records it. Read the third column top to bottom and
you have the full inventory of units in which somebody currently publishes a storage price.
| Company | What it covers | Unit, verbatim | Amount | Footprint or trigger, from conditions |
|---|---|---|---|---|
| Flexport | minimum storage charge per DSKU | per DSKU per day | $0.10 | minimum floor, Jan–Sep and Oct–Dec; raised from $0.01 effective 2026 |
| Simple Global | small bin storage | per bin per month | “from $0.90” | bin 6×18×10 in |
| Launch Fulfillment | storage fee | per cubic foot | $0.40–$0.60 | no time period published; vendor labels the figure sample/illustrative |
| Flexport | standard storage, Jan–Sep | per cubic foot per 30 days | $0.81 | DTC storage, non-peak |
| Flexport | standard storage, Oct–Dec | per cubic foot per 30 days | $2.40 | DTC storage, peak season |
| Flexport | long-term storage, 365+ days | per cubic foot per 30 days | $6.90 | aged inventory |
| Amazon FBA | non-peak monthly storage, standard size | per cubic foot per month | $0.78 | Jan–Sep; figure confirmed effective 1 April 2024, not a 2026 rate |
| Walmart WFS | standard storage, Jan–Sep | per cubic foot per month | $0.75 | non-peak |
| Walmart WFS | peak storage Oct–Dec, first 30 days | per cubic foot per month | $0.75 | peak season, first 30 days |
| Walmart WFS | peak storage Oct–Dec, over 30 days | per cubic foot per month | $2.25 | $0.75 base plus a $1.50 surcharge |
| Walmart WFS | aged inventory 366–450 days | per cubic foot per month | $2.25 | long-term surcharge tier |
| Walmart WFS | aged inventory over 450 days | per cubic foot per month | $7.50 | long-term surcharge tier |
| Fulfyld | small bin storage | per month | $2.20 | bin 18×6×6 in; 501–1,000 orders/month tier |
| Fulfyld | regular bin storage | per month | $3.50 | bin 18×10×11 in; 501–1,000 orders/month tier |
| Fulfyld | x-large bin storage | per month | $5.25 | bin 24×16×16 in; 501–1,000 orders/month tier |
| Fulfyld | pallet storage | per month | $28.00 | pallet 48×40×60 in; 501–1,000 orders/month tier |
| Flexport | B2B pallet storage, month 1 (LAX) | per pallet | $15 | one-time charge covering the pallet’s first month; EWR and DFW $14 |
| Flexport | pallet staging | per pallet per day | $20 | charged after 3 business days, when inbound pallets cannot be put away |
| Simple Global | pallet storage | per pallet per month | “up to $25” | pallet 48×40 in — no height stated |
| Flexport | B2B pallet storage, months 2–12 (LAX) | per pallet per month | $27.50 | Reserve Storage B2B; EWR and DFW $25 |
| Flexport | B2B pallet storage, months 13+ | per pallet per month | $60 | Reserve Storage B2B; same at LAX, EWR and DFW |
| Flexport | long-term storage minimum per unit | per unit per 30 days | $0.15 | floor for long-term storage |
| ShipCalm | SKU management | per week per SKU | $1.45 | same page also shows $1.25/week per SKU in its comparison table |
| ShipCalm | storage rate | per week per cubic foot | $0.19 | same page also shows $0.18/week per cubic foot in its comparison table |
Sources, in order of first appearance:
Flexport 2026 Fulfillment Pricing FAQs;
Simple Global pricing;
Launch Fulfillment ecommerce fulfillment pricing;
Flexport Omni-Channel Fulfillment Pricing Overview;
Amazon seller forums, FBA fee-change notice;
Walmart WFS fees;
Fulfyld 3PL fulfillment pricing;
ShipCalm pricing details. Dates are in the Sources
section at the foot of this page. Flexport’s DTC storage rows appear twice in our dataset, once in
each file, and are collapsed here on their shared fee_uid.
The Flexport B2B pallet rows are Reserve Storage, a different product from its DTC cubic-foot storage. They are in this table because they are storage rows, and because the month 1 / months 2–12 / months 13+ ladder is the clearest published illustration of aged storage in the dataset. Do not read $27.50 as a DTC pallet rate.
One row in that table used to be wrong in our own dataset. Flexport’s $15 month-1 pallet charge was
recorded as per pallet per month, which implied month 1 recurs at $15 when the source describes it
as the cost to store the pallet for its first month, with months 2–12 at $27.50. We corrected the
unit to per pallet on 2026-08-12 and logged it at ratecardlab.com/corrections/.
That is the exact error this guide is about, committed by us.
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 →
One footprint, priced through the rates that convert to it
The order profile below is the same illustrative one we use throughout our apples-to-apples method: 2,000 orders a month, 140 SKUs, 400 cubic feet on hand in the Jan–Sep months. The profile is illustrative. Every rate applied to it is published.
| Rate as printed | What 400 cubic feet costs | Per what, exactly |
|---|---|---|
Walmart WFS $0.75 per cubic foot per month | $300.00 | one calendar month, Jan–Sep |
Amazon FBA $0.78 per cubic foot per month | $312.00 | one calendar month, Jan–Sep — as confirmed effective 1 April 2024 |
Flexport $0.81 per cubic foot per 30 days | $324.00 | one 30-day period. A year holds 12.17 of them, not 12 |
ShipCalm $0.19 per week per cubic foot | $76.00 | one week. A calendar month holds four of them, sometimes five |
Launch Fulfillment $0.40–$0.60 per cubic foot | $160.00–$240.00 | not published |
Fulfyld $28.00 per month, pallet 48×40×60 in | $168.00 (6 pallets) | one calendar month |
Fulfyld $3.50 per month, bin 18×10×11 in | $1,225.00 (350 bins) | one calendar month |
Simple Global “up to $25” per pallet per month | not computable | one calendar month |
Every figure in the second column is our arithmetic on a published rate, and the last three rows are where it breaks.
The Fulfyld pair is one vendor’s own price list. $168 and $1,225 are both correct readings of the same rate card for the same 400 cubic feet; the only variable is whether the goods are slotted into pallets or into regular bins. Dividing each published price by the published container size gives the implied cost per cubic foot per month: $0.42 in the pallet, $1.48 in the x-large bin, $3.05 in the regular bin, $5.87 in the small bin — a 14x spread inside one vendor’s published card, assuming every container is packed full. It won’t be, and the dead space bills at the container rate. Our method pillar works a realistic mix of pick faces and reserve pallets for the same profile and lands at $602.00.
Simple Global’s pallet cannot be converted at all. The row states the footprint as 48×40 in, which is a floor area, not a volume. Without a height there is no cubic-foot equivalent, and “up to $25” is a ceiling with no floor besides — a missing height and a missing floor, in one row. Its bin row is the mirror image: “from $0.90” is a floor with no ceiling, on a 6×18×10 in bin that does convert cleanly to 0.625 cubic feet. So 400 cubic feet of those bins is 640 bins, and 640 bins at the published starting price is $576.00 a month as a minimum, with no published maximum.
Note what the second column does not contain: a ranking. $300, $312, $324, $76 and $168 are five numbers on three different clocks — a calendar month, a 30-day period, a week — and on two different denominators: measured cube for the first four, a rented container for the last. Putting them in one column and sorting is the single most common error in this exercise, and the next two sections are why.
The units that are not units
Not every published unit in that table resolves to a rate. These do not, and each one fails differently.
No time period. Launch Fulfillment publishes storage as $0.40–$0.60 per cubic foot in a table of
typical cost ranges. We re-read the page on 2026-08-12 specifically to check whether we had dropped a
period, and we had not: there is no period on the rate anywhere on the page. Read as a monthly rate,
that range is 12 charges a year; read as a weekly rate, 52. The page does not choose, and the
gap between those two readings is more than four times the annual bill on identical inventory. We
record the row as per cubic foot because that is what the vendor published. It is not a rate you can
compare; it tells you the neighbourhood and nothing more. The same vendor labels all its published
figures as samples rather than quotes, which we cover in
do 3PLs publish pricing.
A bare “per month” with the footprint in prose. Fulfyld’s storage rows carry the unit
per month and nothing else. The container is real and specific — 18×6×6, 18×10×11, 24×16×16 inches,
and a 48×40×60 pallet — but it lives in the fee’s description, not in the unit. That makes per month
the least comparable string in the whole set, because two vendors can both say “$3.50 per month” and
be selling containers that differ by an order of magnitude in volume. We reproduce the unit as printed
and put the dimensions in a separate column rather than relabelling the rows “per bin per month”,
because the relabelling is the reader’s job to authorise, not ours.
A floor that is not a rate. Flexport publishes a minimum storage charge of $0.10 per DSKU per day, applied Jan–Sep and Oct–Dec, alongside its $0.81 per cubic foot per 30 days standard rate.
Those two numbers interact, and the interaction decides the bill.
Over a 30-day period, $0.10 a day is $3.00 per DSKU. At $0.81 per cubic foot per 30 days, a DSKU’s volumetric charge only reaches $3.00 once it occupies 3.70 cubic feet. Any DSKU smaller than that is priced by the floor, not by the rate. Our 140-SKU, 400-cubic-foot profile averages 2.86 cubic feet per SKU — under the threshold — so read per DSKU as the unit string says, the floor alone puts a minimum of $420.00 on this profile per 30 days, against the $324.00 the volumetric rate would produce. The published headline rate does not price this account. The minimum does, by about 1.30x, and whether Flexport tests the floor per DSKU or on the aggregate is not stated on the pages we read.
That floor moved from $0.01 to $0.10 effective 2026, which our dataset records as a superseded amount with its change date. At $0.01 a day the threshold was 0.37 cubic feet, so almost nothing in a normal catalogue hit it; the same 140-SKU profile cleared it at $42.00. At $0.10 the threshold is ten times higher and most of a long-tail catalogue sits under it. $42.00 to $420.00 on the same inventory, with the $0.81 headline rate unchanged. If you are comparing storage on headline rates, this change is invisible to you.
Per week and per 30 days are not per month
Per 30 days and per week both look monthly on a rate card. Neither is.
Per 30 days. A calendar year contains twelve months and 12.17 thirty-day periods. If Flexport bills rolling 30-day cycles, our profile’s $324.00 costs $3,942.00 a year; if it bills calendar months, $3,888.00. The overview page we read does not say which, so the $54.00 is unresolved. Small in itself; the point is that the unit does not tell you, and the same ambiguity on a peak or aged rate is not small.
Per week. ShipCalm’s $0.19 per week per cubic foot puts $76.00 a week on 400 cubic feet. There is no monthly equivalent of that number. There is an annual one — 52 weeks, $3,952.00 — and there is a monthly average, $3,952.00 ÷ 12 = $329.33, which is the figure our own method pillar uses because it is the only constant that makes a 12-month projection add up to the annual total. What $329.33 is not is an invoice. A weekly-billed vendor sends four invoices in most calendar months and five in the rest: $304.00 or $380.00, a 25% swing between two consecutive months at an unchanged rate. Multiplying a weekly rate by 4.333 and dropping it into a column beside a monthly rate hides that entirely, and it is the arithmetic we would rather refuse than perform quietly.
And ShipCalm’s volume rate is not its storage bill. The same page publishes SKU management at $1.45 per week per SKU. On 140 SKUs that is $203.00 a week against $76.00 a week of cube — the SKU-count meter runs 2.7x the volume meter for this profile. The $0.19 that shows up in a storage comparison is 27% of what ShipCalm’s two storage rows cost together on this footprint. Both figures also appear twice on that page at different values, $1.25 and $0.18 in the comparison table against $1.45 and $0.19 in the pricing detail. We read the pricing-detail figures on 2026-08-04 and the comparison-table figures on 2026-08-10, recorded both, and did not resolve which one the invoice uses.
Peak and aged storage are separate schedules, not multipliers
The rate cards that publish a peak or aged number publish it as its own line, not as a coefficient on the base — and the two vendors that publish both do it differently.
| Company | Standard | Peak | Aged | Structure as published |
|---|---|---|---|---|
| Walmart WFS | $0.75 per cubic foot per month | $0.75 for the first 30 days of Oct–Dec, $2.25 beyond | $2.25 at 366–450 days, $7.50 over 450 | peak is the $0.75 base plus a $1.50 surcharge; both aged rows are recorded as surcharge tiers, 10x the base figure at the top |
| Flexport | $0.81 per cubic foot per 30 days | $2.40 Oct–Dec | $6.90 at 365+ days, with a $0.15 per unit per 30 days floor | peak and aged are both published as standalone rates, 2.96x and 8.52x base |
| Flexport (B2B Reserve) | $27.50 per pallet per month, months 2–12 | no row in our dataset | $60 from month 13 | a step in the monthly rate at a month count, 2.18x |
| Amazon FBA | $0.78 per cubic foot per month, Jan–Sep, confirmed effective 1 April 2024 | current Jan–Sep / Oct–Dec table QUOTE_GATED | aged surcharge tiers QUOTE_GATED | not extractable without a Seller Central login |
The “no row in our dataset” cell is the third state, and it is not a finding about Flexport. We hold no peak row for Reserve Storage, which is a different thing from a row recording that we looked and found no published peak rate.
Two things follow for a comparison. First, “storage doubles in Q4” is not a rule you can apply — for Walmart the Oct–Dec rate is unchanged for the first 30 days and then base-plus-surcharge, while for Flexport it is a straight replacement from the first day of October. On our 400-cubic-foot profile that is $900.00 once Walmart’s first 30 days have run, against $960.00 from the first day of October, from base rates 8% apart. Second, the aged schedules are steep enough that they decide the annual number: Walmart’s $7.50 over 450 days is $3,000.00 a month on 400 cubic feet, ten times what its $0.75 base produces. Our row records that tier as a long-term storage surcharge tier and does not resolve whether it replaces the $0.75 base or is charged on top of it, so $3,000.00 is the lower of the two readings. Get that one in writing before you model it. The contract red-flags guide covers the clause that fires these, and the hidden-fees guide covers what the unpublished versions look like.
The Amazon row is the honest limit of this dataset. The $0.78 is a real, sourced figure — an official Amazon fee notice confirmed effective 1 April 2024, reproduced in the seller forums — and it is not today’s rate. Amazon’s current storage table and its aged-inventory tiers both sit behind an authenticated Seller Central session, so our dataset records them as quote-gated. We are not going to print a 2026 FBA storage figure we cannot source, which is the difference between this table and the pages that print one FBA storage number without saying which season, size tier or year it belongs to.
Who publishes nothing here, and who has no row at all
There are three states, not two, and collapsing the third into the second is how storage comparisons get miscounted.
Companies that publish an actual storage number: Amazon FBA, Flexport, Fulfyld, Launch Fulfillment, ShipCalm, Simple Global, Walmart WFS. That is the whole of the main rate table.
Eleven of the 23 publish no dollar figure for storage, on the evidence of a row: either an explicit
quote-gated storage row, or no published dollar figure anywhere in our dataset at all. One of the eleven
is explicit and useful about it: ShipBob names bin,
shelf and pallet storage as line items on its pricing page with no numbers attached, which we record
line for line as quote-gated rows. Its shelf row is the only storage row in our dataset that uses the
shelf as a denominator: per shelf per month is a real unit of charge in this market, and the one row
we hold in it carries no number.
(Flexport publishes $12 per location per month for shelf storage,
read 2026-08-04, but that row sits in its B2B Reserve line rather than its storage line, so it is not
in the storage set.) The other ten publish no dollar figure anywhere in our dataset, storage included,
so there is no separate storage question to ask about them. Five further companies belong to neither the
seven above nor these eleven, and they get their own paragraph below.
| Company | Row | Unit, verbatim | What we found |
|---|---|---|---|
| ShipBob | bin storage | per bin per month | QUOTE_GATED — pricing customized per customer |
| ShipBob | shelf storage | per shelf per month | QUOTE_GATED — pricing customized per customer |
| ShipBob | pallet storage | per pallet per month | QUOTE_GATED — pricing customized per customer |
| Amazon FBA | current Jan–Sep / Oct–Dec table by size tier | per cubic foot per month | QUOTE_GATED — login-gated fee schedule |
| Amazon FBA | aged inventory / long-term surcharge table | per cubic foot per month | QUOTE_GATED — authenticated help hub only |
And then the third state. Amazon MCF, Fulfillrite, MyFBAPrep, Shipfusion and Simpl Fulfillment publish dollar figures, several of them a great many, and we have no storage row for them at all. That is not the same finding as ShipBob’s. A missing row means one of two things and our dataset does not distinguish them: the company may not sell storage as a separate billable line, or we did not locate and record a figure. Neither reading is that they are hiding one. If you are counting how many 3PLs publish storage rates, this is the group that makes the count wrong in both directions.
Counting only the companies that publish something, six publish no storage figure at all — the ones named just above, plus ShipBob — out of the thirteen companies that publish any dollar figure. That is the same split our pricing-transparency guide registers, computed from the same rows.
What to ask
The whole point of the table is that you cannot resolve any of this from a rate card. The questions that do resolve it, in the order that saves the most time:
- “Quote storage in the unit you bill, and separately in cubic feet per month for my profile.” Give them the profile — orders, SKUs, average and peak cubic feet. A vendor that bills containers has to do the slotting to answer, and the slotting is the answer.
- “How many bins and pallets of each size will my inventory occupy in your slotting?” Fulfyld’s card spans $168 to $1,225 on 400 cubic feet on this question alone.
- “What is the height of a pallet position?” Simple Global’s row gives 48×40 in and no height. A pallet rate without a height is not convertible.
- “Is there a per-SKU or per-unit floor, and what does it cost on my slowest SKUs?” Flexport’s $0.10 per DSKU per day is $420 per 30 days on 140 SKUs before cube is measured. Ask what threshold the floor implies at your own rate.
- “Do you bill calendar months, rolling 30-day periods, or weeks?” Then ask how many invoices a year, and check the answer is 12, 12.17 or 52.
- “Give me the peak window dates, the peak rate, and the aged trigger and rate, in writing.” Ask whether peak is a surcharge on the base or a replacement rate, because Walmart and Flexport do it differently and the difference is which day of October it starts costing you.
Limitations, stated
This is 23 fulfillment operations, not the market, and three of them — Amazon FBA, Amazon MCF and Walmart WFS — are marketplace programs rather than 3PLs. It is US-focused.
The cost-per-cubic-foot figures we derive from Fulfyld’s containers, the 3.70-cubic-foot DSKU threshold, the $576.00 bin minimum and every entry in the second column of the worked table are our arithmetic on published rates, not published rates. They assume containers are packed full, which no warehouse achieves, so the implied per-cubic-foot numbers are best cases.
We cannot state a current Amazon FBA storage rate. The 2026 table is behind a login and we record it as quote-gated rather than reaching for a figure published elsewhere without a season or a size tier.
Fulfyld’s storage rows are the 501–1,000 orders/month tier, and Fulfyld notes its storage tiers get up to 13% cheaper at higher volume. Our illustrative profile runs 2,000 orders a month, so it would sit in a lower band we have no published figure for. We use the published number because it is the published number.
Every row was read on the date in its source line. Our first full re-verification cycle completes 2026-11-04. If a figure of ours no longer matches its source, email data@ratecardlab.com; corrections go to ratecardlab.com/corrections/.
What to do next
- Write down which denominator each shortlisted vendor bills on, before you look at the amount. Cubic foot, container, SKU, unit, or a floor. The amount is meaningless until the denominator is written down next to it.
- Convert nothing you cannot source. If a vendor gives you a pallet rate without a height, or a cubic-foot rate without a period, the missing half is the next question, not an assumption.
- Price your footprint in each vendor’s own unit, then compare annual totals, not monthly ones. Weeks, 30-day periods and calendar months only reconcile over a year.
- Ask for the peak and aged schedules as separate line items with dates and triggers. Then model the twelve months — see our methodology and the full 3PL fee benchmark dataset.
- Get the per-SKU floor in writing and test it against your slowest 20% of SKUs. It is the line most likely to become your entire storage bill.
Figures are quoted from the vendor’s own page on the date given and cross-checked against our dataset. The
unitcolumn is reproduced verbatim, including where a vendor’s unit is less specific than we would like. Where we do arithmetic on a published figure rather than reporting it, the sentence says so.
Sources
- Flexport Omni-Channel Fulfillment pricing overview — accessed 2026-08-04; the B2B pallet and pallet-staging rows re-read direct in-browser 2026-08-12
- 2026 Flexport Fulfillment pricing FAQs — accessed 2026-08-04, DSKU floor re-read 2026-08-12
- Walmart Fulfillment Services fees — accessed 2026-08-04
- Amazon seller forums, FBA fee-change notice (storage rates confirmed effective 1 April 2024) — accessed 2026-08-04
- Amazon selling pricing overview (current fee schedule, login-gated) — accessed 2026-08-04
- Amazon Seller Central aged-inventory surcharge help hub (authenticated) — accessed 2026-08-04
- Fulfyld 3PL fulfillment pricing — accessed 2026-08-04
- Simple Global pricing — accessed 2026-08-04
- ShipCalm pricing details — accessed 2026-08-04, comparison table re-read 2026-08-10
- Launch Fulfillment ecommerce fulfillment pricing — accessed 2026-08-12
- ShipBob pricing — accessed 2026-08-04
Who publishes storage rates
5 of the 7 providers whose rate cards we hold publish storage rates outright. Each page below lists every fee that provider publishes, with the source URL and the date we read it.
- Flexport 15 published storage rates · 75 fees in total
- Walmart WFS 5 published storage rates · 26 fees in total
- Fulfyld 4 published storage rates · 12 fees in total
- ShipCalm 2 published storage rates · 35 fees in total
- Simple Global 2 published storage rates · 8 fees in total
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.