3PL Monthly Minimums: Three Different Fees
There is a line on your quote that says minimum and a number beside it. Whether that number is a floor on your spend, a gate on your volume, or a charge levied per DSKU per day is not written on the quote, and the three behave nothing alike once an invoice is generated. Below is every monetary minimum we can find published by the fulfillment operations we track, in the unit each vendor actually charges it in.
What a 3PL minimum actually is
The word covers three separate mechanisms, and vendors, sales calls and industry surveys all use it for every one of them.
A spend minimum. You commit to spending a dollar amount in a period. If your activity comes in below it, you pay the gap. This is the only kind that can bill you for work nobody did. Flexport, ShipCalm, Simpl Fulfillment and Fulfillrite each publish one.
A volume minimum. You must move a stated number of units in a period for a quoted rate to apply at all. MyFBAPrep publishes its Standard prep tier at $1.00 per unit with a 5,000 units/month minimum, and its Pro tier at $0.50 per unit with a 50,000 units/month minimum. The same page also prints $0.95 per unit at the same 5,000 units/month threshold, in its feature comparison matrix rather than its tier description — we read the matrix on 2026-08-10, record the tier figure as primary, and leave the disagreement unresolved rather than picking a winner. No dollar shortfall is described. What the threshold controls is which rate you are eligible for, and the page does not say whether the units are a commitment or merely a qualifying level — which is the thing to ask.
A per-event minimum. A floor on a single transaction: a job, a removal order, one DSKU for one day. These never appear in a monthly-minimum comparison because they are not monthly, and one of them decides the storage bill of any brand with a long tail.
One is a bill you may owe for nothing, one is an eligibility threshold with no bill attached, and one is a multiplier on work you genuinely asked for. They do not average.
The published spend minimums, side by side
Flexport, ShipCalm, Simpl Fulfillment and Fulfillrite each publish a monetary spend minimum, and Flexport publishes two of them. Before the amounts, two things about this table matter more: the period is not the same across them, and neither is the scope.
| Vendor | What the vendor calls it | Unit as published | Amount | What it covers | Shortfall handling, as published |
|---|---|---|---|---|---|
| Flexport | monthly minimum fulfillment spend | per month | $5,000 (up from $500 effective 1 January 2026) | fulfillment spend | not stated on the FAQ we read |
| ShipCalm | quarterly minimum spend | per quarter | $6,000 | account-wide (our reading — the row names no service line) | “billed as pay-the-difference” |
| Simpl Fulfillment | monthly minimum | per month | $750 | account-wide (our reading — the row names no service line); vendor equates it to roughly 100 orders at its base tier | pay-the-difference |
| Fulfillrite | pick-and-pack monthly minimum | per month | $399 | pick-and-pack only; vendor equates it to roughly 140 orders | not stated |
| Flexport | B2B portal management minimum | per month | $500, covering the first 20 shipments, then $50 per additional shipment in the same month | B2B Reserve Storage portal only | not applicable — it is a floor on a specific service |
Read down the scope column before the amount column. Fulfillrite’s $399 buys a floor on pick-and-pack and nothing else, and that scope is the vendor’s own wording — the fee is titled a pick-and-pack minimum. ShipCalm’s and Simpl’s rows name no service line at all and sit under account management, which is why we read them as account-wide; neither page we read puts it in those words, so it is a question to confirm in writing rather than a published fact. Either way, ranking $399 below $750 treats a partial floor as if it were a total one. ShipCalm’s $6,000 per quarter works out to a $2,000 monthly equivalent, which is our arithmetic, not ShipCalm’s unit — and as the section on measurement periods below shows, a quarterly floor of $6,000 is materially cheaper for a seasonal brand than a monthly floor of $2,000 even though the annual figure is identical at $24,000.
Flexport’s two published monthly minimums sit on different service lines: $5,000 against fulfillment spend, $500 against the B2B Reserve Storage portal. Whether a merchant running both pays both is not stated on either page we read.
The other thing the Flexport row does not tell you is how many orders clear $5,000, because Flexport’s domestic outbound fulfillment fee is quote-gated — a published minimum with an unpublished rate behind it. Sizing that threshold means pricing somebody else’s card against your profile, which our apples-to-apples method does with four published cards. At $5,000 a month the floor is $60,000 a year before a single order ships. Simpl’s $750 is $9,000 a year on the same logic.
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 →
The minimum that is not charged per month
The minimum most likely to be missing from your comparison is not charged per month, so a table of monthly minimums cannot contain it. Flexport calls it a minimum on its own page — it is simply charged per DSKU per day, which puts it in a different column of your spreadsheet from everything above. It is also one of the only rate changes we have recorded with both the old figure and the new one beside it.
Flexport’s 2026 pricing FAQ raised the minimum storage charge per DSKU from $0.01 to $0.10 per DSKU per day, effective 1 January 2026 — the same date its monthly fulfillment spend minimum moved from $500 to $5,000. Both are tenfold. Flexport’s spend-minimum change and its storage-floor change each carry the prior figure and the date it took effect. No other row in our dataset carries a prior figure at all, which is why this pairing is not available anywhere else.
Copy that unit exactly, because it is where the money is. Not per order, not per month, not per cubic foot: per DSKU, per day.
Illustrative order profile — the 140-SKU brand we use throughout our comparisons, which holds 400 cubic feet on average from January to September and 700 in the pre-peak build. The SKU count and the footprint are ours; every rate is published.
| Line | Before 1 January 2026 | From 1 January 2026 |
|---|---|---|
| Storage floor, 140 DSKUs × 30 days | 140 × $0.01 × 30 = $42/month | 140 × $0.10 × 30 = $420/month |
| Same floor over twelve 30-day months | $504 | $5,040 |
| Standard storage, Jan–Sep, on the profile’s 400 cu ft at $0.81 per cubic foot per 30 days | no prior figure in our dataset | $324/month |
| Standard storage, Oct–Dec, on the profile’s 700 peak cu ft at $2.40 per cubic foot per 30 days | no prior figure in our dataset | $1,680/month |
Only the first two rows are a before-and-after. Neither cubic-foot rate carries a prior figure in our dataset, so we are not claiming they held steady through 1 January 2026 — we are showing what the floor now sits beside.
On that profile the floor alone is $420 a month, which is 84% of the entire $500 monthly spend minimum Flexport charged before the same date — and it exceeds the $324 the non-peak cube rate would produce on 400 cubic feet. While the footprint stays at 400 cubic feet the floor is the storage bill and the cubic-foot rate is decoration. That reverses as the footprint climbs: at the profile’s 700-cubic-foot pre-peak level the non-peak rate alone produces $567 a month, above the floor, and the peak rate produces $1,680.
Two things about that arithmetic have to be said out loud rather than buried. First, the floor is charged per DSKU, not as an account-level minimum, so the real bill is at least $420 and rises further wherever an individual DSKU’s cube charge beats its own floor. Second, we treat 140 SKUs as 140 DSKUs. A merchant holding one SKU in two conditions or across two locations carries more DSKUs than SKUs, so the error in this example runs in one direction only: the floor gets higher, never lower.
If you have a long tail of slow-moving SKUs, this line decides your storage bill and no monthly-minimum comparison will show it to you.
Per-event minimums, and what they do to small jobs
These attach to something other than a month: a job, a removal order, an hour of labour, one DSKU for one day, or a unit volume you have to clear before a rate applies at all. They are invisible in a monthly comparison and they are the reason a small job costs multiples of the per-unit rate.
| Vendor | Fee | Unit as published | Amount | What it does |
|---|---|---|---|---|
| Flexport | prep job minimum | per job | $200 | a 40-unit relabel costs $5.00 per unit in minimum alone, before any per-unit prep rate |
| Flexport | inventory removal minimum order | per order | $25.00 | 10 units in the 0–0.5 lb band price at $1.04 each, so $10.40 of work bills at $25.00 — $2.50 per unit |
| Flexport | minimum storage charge per DSKU | per DSKU per day | $0.10 (up from $0.01 on 1 January 2026) | floors every DSKU’s daily storage charge regardless of cube |
| Flexport | rush receive / shipping | per hour (conditions: minimum 4 hours) | $48 | the minimum is on hours, not dollars — 4 × $48 = $192 is the smallest charge it can produce (our multiplication) |
| Flexport | long-term storage minimum | per unit per 30 days | $0.15 | a second floor, under the long-term storage rate the same card defines as 365+ days |
| MyFBAPrep | Standard tier threshold | per unit (conditions: 5,000 units/month minimum) | $1.00 | volume gate on rate eligibility, not a dollar shortfall |
| MyFBAPrep | Pro tier threshold | per unit (conditions: 50,000 units/month minimum) | $0.50 | same, one tier up |
Every division and multiplication in the last column is ours; the rates, the unit thresholds and the four-hour minimum are published. Two cautions on the labour line: the row itself warns that an hourly rate is not comparable to a per-order or per-unit fee without an hours assumption, and the $192 is the floor on one rush job, not a monthly figure. Everything in this table is a real cost that a spreadsheet comparing monthly minimums will score as zero.
A minimum is not a fixed fee, and Fulfillrite publishes both
This distinction gets lost constantly, and Fulfillrite is the cleanest published example because it prints one of each. Its FAQ page lists a $399 per month pick-and-pack minimum and, separately, a $59.99 per month account fee. The minimum bites only when your pick-and-pack activity lands below it. The account fee is charged whatever you do.
Illustrative arithmetic on two published figures. Fulfillrite’s own page equates $399 to roughly 140 orders; the lower order counts and every division are ours.
| Orders in the month | Pick-and-pack minimum | Minimum per order | Account fee | Total published floor | Floor per order |
|---|---|---|---|---|---|
| 140 (vendor’s stated equivalence) | $399.00 | $2.85 | $59.99 | $458.99 | $3.28 |
| 70 | $399.00 | $5.70 | $59.99 | $458.99 | $6.56 |
| 35 | $399.00 | $11.40 | $59.99 | $458.99 | $13.11 |
The floor does not move. Your per-order cost doubles when your volume halves, and $458.99 a month is $5,507.88 a year regardless. Note what this table cannot show: we hold no storage, receiving or returns row for Fulfillrite, so this is the floor on two published lines, not on an invoice.
What “pay the difference” means on an invoice
ShipCalm and Simpl Fulfillment say how the shortfall is charged. ShipCalm’s row records it as “billed as pay-the-difference” and Simpl Fulfillment’s as a pay-the-difference model. Flexport’s FAQ and Fulfillrite’s FAQ, on the pages we read, state the minimum without stating the mechanism. That is a real gap, not a formality: pay-the-difference tops your bill up to the floor, whereas a shortfall penalty charges a separate amount on top of it. Our contract red-flags guide collects the third-party sources documenting the penalty structure and the clause language that creates it.
The measurement period matters at least as much as the amount, and this is where ShipCalm’s per-quarter unit stops being a curiosity.
Illustrative spend figures; both minimums are published.
| Quarter | Your spend | Under ShipCalm’s $6,000 per quarter | Under a hypothetical $2,000 per month |
|---|---|---|---|
| Month 1 | $1,200 | — | shortfall $800 |
| Month 2 | $900 | — | shortfall $1,100 |
| Month 3 | $2,400 | — | none |
| Total | $4,500 | one shortfall of $1,500 | shortfalls totalling $1,900 |
Identical spend, identical annual floor, $400 difference in one quarter, entirely because of the period the minimum is measured over. A strong month subsidises a weak one under quarterly measurement and cannot under monthly. If your business has a January, this is the single most valuable thing to negotiate on the minimum line, and it costs the 3PL nothing to agree to.
Why an average of these numbers cannot be compared to any of them
The usual answer to “what is a normal 3PL monthly minimum” is a survey average. Our contract red-flags guide carries one with its source. Here is why it cannot be set against any figure on this page.
An average over these minimums is an average over mechanisms that are not the same thing (spend, volume, per-event), over periods that are not the same length (per month for Flexport, Simpl Fulfillment and Fulfillrite; per quarter for ShipCalm), and over scopes that are not the same size (pick-and-pack only at Fulfillrite, no service line named at Simpl Fulfillment or ShipCalm, fulfillment spend at Flexport, one service line at Flexport’s B2B portal). Averaging those produces a number in dollars per month that describes nothing anybody charges. It also silently drops every per-event floor, because a $200-per-job minimum has no monthly value until you decide how many jobs.
The usable comparison is not an average. It is: what is my floor, in dollars, per month, for my order profile, including the per-event floors I will actually trigger. That is a different calculation for every brand, and it is the one our methodology and the full benchmark table are built to support.
Three states, and the difference between them
When we say a vendor’s minimum is not here, we mean one of three specific things, and they are not interchangeable.
Published. Flexport, ShipCalm, Simpl Fulfillment and Fulfillrite each print a monetary minimum on a public page. MyFBAPrep prints unit thresholds. Those are the figures above.
We checked and found nothing published. Ten of the 23 fulfillment operations we track publish no dollar figure anywhere, for minimums or for anything else — they are listed with their sources in our hidden fees guide. Some of those records speak to minimums directly. eFulfillment Service, one of the ten, states “no minimum order requirements” on its terms page while disclosing no dollar figures anywhere on it — so we have an assertion and no rate card against which to test it. Simple Global is a different case again: it publishes real numbers for bins, pallets and hourly value-added work, and our row for it records that its order minimums are explicitly not among them.
No row at all. Amazon FBA, Amazon MCF, Walmart WFS and Fulfyld publish real figures in other categories and carry no minimum line in our dataset in either direction. Three more belong here with a caveat about what “publishes” means for them: ShipBob’s only published number is a $0 software fee; Launch Fulfillment labels its whole card as sample or illustrative; and Shipfusion’s published pick fees are drawn from case-study examples rather than a rate card. None of these is the same as having no minimum. It means we did not find one on the pages we read, and it is the state most likely to be misread as an answer.
If you are running two providers in parallel during a switch, you are exposed to two of these floors at once — our switching-cost guide prices that overlap.
What to ask for in writing
- Ask which of the three kinds it is. “Is this a spend minimum, a volume threshold, or a per-transaction floor?” One sentence, and it decides whether the number can bill you for nothing.
- Ask for the unit, then the amount, in that order. Per month, per quarter, per job, per DSKU per day. A floor of ten cents looks like a rounding error until you multiply it by your DSKU count and by 30.
- Ask what the minimum covers and what it does not. A $399 pick-and-pack minimum and a $750 account-wide minimum are not comparable numbers, and the gap between them is a list of categories that get billed on top.
- Ask for quarterly measurement, not monthly. On the worked example above, identical spend cost $400 less per quarter under quarterly measurement. Get the period in the contract, not just the amount.
- Ask whether a shortfall is a top-up or a penalty, and get the storage floor answered separately from the spend minimum — including, for Flexport specifically, whether storage spend counts toward the $5,000. The FAQ we read does not say.
Our own 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.
Every figure here was read on the date given in Sources and vendors change prices without notice — Flexport’s tenfold move on 1 January 2026 is the whole argument for putting a read date on everything. Our dataset was collected 2026-08-04; the Flexport DSKU storage floor, the B2B portal minimum and the rush-receive labour rate were re-read directly in-browser on 2026-08-12 and those rows carry that date, and MyFBAPrep’s comparison matrix was re-read 2026-08-10. Every other row cited above keeps its 2026-08-04 read date and has not been individually re-read since. The first full re-verification cycle completes 2026-11-04.
The $420 and $42 storage-floor figures, the $567 and $1,680 cube figures, the $192 four-hour labour floor, the per-order divisions in the Fulfillrite table, the $2,000 monthly equivalent of ShipCalm’s quarterly minimum and the quarterly-versus-monthly shortfall comparison are our arithmetic on published rates, applied to an illustrative order profile. The order counts, spend figures, SKU count and storage footprint in those examples are ours. Every rate is the vendor’s.
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.
Every figure below is quoted from the vendor’s own page on the date given and matched to a row in our dataset, with the unit copied as published rather than paraphrased. Where we do arithmetic on a published figure we label it as ours. Where a vendor publishes nothing, we say we could not find it rather than saying there is nothing.
Sources
- 2026 Flexport Fulfillment pricing FAQs — accessed 2026-08-04; per-DSKU storage floor re-read 2026-08-12
- Flexport Omni-Channel Fulfillment pricing overview — accessed 2026-08-04; B2B portal management minimum and rush-receive labour rate re-read 2026-08-12
- ShipCalm pricing details — accessed 2026-08-04
- Simpl Fulfillment pricing — accessed 2026-08-04
- Fulfillrite FAQs — accessed 2026-08-04
- MyFBAPrep pricing overview — accessed 2026-08-04, comparison matrix re-read 2026-08-10
- ShipBob pricing — accessed 2026-08-04
- Launch Fulfillment ecommerce fulfillment pricing — accessed 2026-08-04
- Shipfusion 3PL pricing — accessed 2026-08-04
- eFulfillment Service friendly terms and pricing — accessed 2026-08-04
- Simple Global pricing — accessed 2026-08-04
Who publishes account and platform rates
3 of the 7 providers whose rate cards we hold publish account and platform rates outright. Each page below lists every fee that provider publishes, with the source URL and the date we read it.
- ShipCalm 10 published account and platform rates · 35 fees in total
- Flexport 4 published account and platform rates · 75 fees in total
- Simple Global 1 published account and platform rate · 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.