Walmart WFS return processing fee: +$1.25

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

Calculate it instead: the Walmart WFS fee calculator works out fulfilment, surcharges and storage on your own weight and volume, from this same published schedule, with the source and read date behind every line.

You are reconciling a WFS settlement report and the return processing charges are higher than the fulfillment fees you budgeted from. They are supposed to be. Return processing is a separate schedule, and on every tier up to 20 lb its base runs exactly $1.25 per unit above the fulfillment fee for that tier.

That single sentence is the whole finding, and it is not what the fee’s usual description implies. Plenty of pages publish the WFS returns table. What almost none of them publish is the relationship between the two tables — which is the part that decides whether your estimate is right. We know because we published that relationship wrong, re-read Walmart’s page, and logged the correction on 12 August 2026.

The two schedules, side by side

Standard-item fulfillment fees, per unit, as recorded in our dataset against Walmart’s WFS fees guide. In the return column two cells are recorded figures and the rest are derived from the recorded relationship — every cell says which.

Weight tierFulfillment fee, per unitReturn processing, per unitDifference
1 lb and under$3.45$4.70 — recorded+$1.25
2 lb$4.95$6.20 — derived+$1.25
3 lb$5.45$6.70 — derived+$1.25
4–20 lb$5.75 + $0.40/lb over 4 lb$7.00 + $0.40/lb over 4 lb — derived+$1.25 at the base
21–30 lb$15.55 + $0.40/lb over 21 lbidentical — derived$0.00
31–50 lb$14.55 + $0.40/lb over 31 lbidentical — derived$0.00
51 lb and over$17.55 + $0.40/lb over 51 lb$17.55 base — recorded range ceiling$0.00

Fulfillment tiers read 2026-08-04. The returns row was read direct from Walmart’s returns table on 2026-08-12 and carries that date. Both from Walmart’s WFS fees guide.

Two things fall out of that table immediately. First, if you estimate a light-item return from the fulfillment fee — the intuitive move, and the one our own note used to invite — you are low by $1.25 on every unit. On a 1 lb product the real charge is 36% higher than the fulfillment fee you budgeted from — $4.70 against $3.45 — not a rounding error. Second, the premium is not a percentage. It is a flat $1.25, so it bites hardest on the lightest items and stops entirely at 21 lb.

Where the $1.25 stops

At 21 lb. Not gradually, and not at a round number of dollars — the two schedules become the same number at the 21–30 lb tier and stay the same all the way up.

You can check that without trusting our conditions field, because our single returns row carries a range: $4.70–17.55 per unit. The floor is $4.70, which is the 1 lb fulfillment fee of $3.45 plus $1.25. The ceiling is $17.55, which is the 51 lb-and-over fulfillment base exactly — not $18.80, which is what the ceiling would be if the $1.25 applied all the way up. The two ends of one recorded range falsify both of the simple stories you might tell about this fee. It is not a mirror of the fulfillment schedule, and it is not the fulfillment schedule plus $1.25.

Both ends of that range are tier bases, not the most a return can cost. The per-pound riders push actual charges above $17.55 — the worked example below prices a 30 lb return at $19.15.

What we can actually check, and what rests on one read

This is the part that separates a finding from a repeated claim, so here it is plainly.

Our dataset holds each standard fulfillment tier as its own row, and a single returns row covering all standard tiers, recorded as a range with the tier relationship compressed into its conditions field. So of the tier pairs in the table above, exactly two can be verified by subtracting one independently recorded figure from another:

  • 1 lb and under: $4.70 − $3.45 = $1.25. Two rows, two figures, one subtraction.
  • 51 lb and over: $17.55 − $17.55 = $0.00. The returns range ceiling against the fulfillment base.

Everything between those two ends — the 2 lb, 3 lb and 4–20 lb premiums, and the 21–30 and 31–50 lb equalities — rests on the conditions field of that one returns row, which records a single direct read of Walmart’s returns table on 2026-08-12. That is a sourced claim with a date on it. It is not a column of independent subtractions, and we are not going to present it as though it were.

One more limit worth naming, because it is the kind of thing that turns a good estimate into a wrong one. Inside the 4–20 lb band the fulfillment fee carries a $0.40 per lb rider above 4 lb. We do not hold the returns schedule’s per-pound rider as a separate figure. So the +$1.25 in that row is a base-to-base statement. If Walmart’s returns rider is also $0.40/lb, the gap stays $1.25 at every weight in the band; if it differs, the gap widens or narrows with weight and our derived cell is right only at 4 lb. Verify that one against your own settlement report before you build a model on it.

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 band where the heavier item is cheaper

Both schedules are non-monotonic, in the same place, and it is not a transcription error on our side. Read the two rows against each other: 21–30 lb is $15.55 + $0.40/lb over 21 lb, and 31–50 lb is $14.55 + $0.40/lb over 31 lb. The heavier tier starts a dollar lower and resets its per-pound clock.

Worked example, illustrative — the amounts come from the rows above, the arithmetic at specific weights is ours, and Walmart does not publish a per-pound table:

WeightTier appliedFulfillment fee, per unit
30 lb21–30 lb: $15.55 + $0.40 × 9$19.15
31 lb31–50 lb: $14.55 + $0.40 × 0$14.55
50 lb31–50 lb: $14.55 + $0.40 × 19$22.15
51 lb51 lb+: $17.55 + $0.40 × 0$17.55

Adding a pound at 30 lb saves $4.60 per unit. Adding a pound at 50 lb saves $4.60 per unit. Two cliffs, the same size to the cent. Because returns are identical to fulfillment from 21 lb up, both cliffs exist in the return schedule too: a 30 lb return processes at $19.15 and a 31 lb return at $14.55.

The operator move here is packaging, not accounting — if a SKU lands at 30 lb or 50 lb packed, the next pound is worth buying. What we are not saying is that this is a mistake in Walmart’s table. It is what the published tiers do. Do not “correct” it in your own model.

Note also the step at the top of the light band, again on our arithmetic. Fulfillment goes from $12.15 at 20 lb ($5.75 + $0.40 × 16) to $15.55 at 21 lb, a $3.40 jump for one pound. On the return schedule, worked from the derived $7.00 base, the same step is $2.15, because the $1.25 premium disappears at exactly that boundary. The return schedule is the smoother of the two there, which is the opposite of what you would guess.

Big and bulky is the one place “mirror” is correct

Our dataset holds a second WFS returns row: big & bulky return processing at $155 + $0.80/lb over 90 lb per unit, with conditions recording that it mirrors the big & bulky fulfillment fee. It does — the fulfillment row, recorded as big & bulky item up to 500 lb, carries the same amount string. So the label that was wrong for standard items is right for big and bulky.

Read the dates on those two rows, though. The standard returns row was re-read on 2026-08-12; the big & bulky returns row still carries its 2026-08-04 read. The row we re-read is the one that turned out to be wrong, and we have not given the other the same treatment.

Return, disposal, or removal: three prices, three different units

Once a unit is back in the network you have choices, and they are not priced on the same basis. Copying the unit column verbatim, because the unit is the whole point:

FeeUnit of chargeAmount
Standard item return processingper unit$4.70–17.55
Disposal, 2 lb and underper unit$0.35
Disposal, 3–500 lbper unit$0.35 + $0.20/lb over 2 lb
Removal (return-to-seller) shippingper lb$0.40
Hazmat disposal/removal add-onper unit$0.50

Disposing of a 1 lb unit costs $0.35. Processing the same unit as a return costs $4.70 — more than thirteen times as much. Applying the amount strings above at 20 lb gives $3.95 for disposal ($0.35 + $0.20 × 18) against $8.00 for removal shipping ($0.40 × 20), so removal runs roughly twice disposal — and that removal figure is only the shipping component. Our row records it as the shipping cost inside a removal order, not the total, so treat $8.00 as a floor.

What our rows do not establish is whether these stack. Return processing is charged on the customer-return event; disposal and removal are priced against what you then do with the unit. Nothing in the conditions field of any of the rows above says whether a returned unit you subsequently dispose of incurs both. Ask Walmart, or read it off your own settlement report — do not assume either way from our table.

The same caution applies to the surcharges. Our dataset holds WFS surcharges for apparel ($0.50 per unit), hazardous materials ($0.50 per unit), low retail price ($1.00 per unit, on retail under $10), oversize 1 ($3.00 per unit) and oversize 2 ($20.00 per unit). Four of those five conditions fields describe the fee as an add-on to the standard fulfillment fee; the low-retail-price row records only its trigger, a retail price under $10. None of the five mentions return processing. An apparel SKU in oversize 1 would carry $3.50 of surcharge on the way out ($0.50 + $3.00); whether it carries the same on the way back is not something our rows answer, and we are not going to guess it into a table.

One condition we have not verified

Search results on 2026-08-17 indicate Walmart waives the return processing fee when a return is coded as Walmart’s fault. That is a condition rather than an amount, it is not in our returns row’s conditions field today, and we have not read it off Walmart’s own page. So we are flagging it, not asserting it. If it holds, it changes the effective cost of returns materially for sellers with a high at-fault rate, which is exactly why it deserves a read rather than a search snippet.

How this compares to what 3PLs publish

WFS charges returns per unit on a weight ladder. Every third-party provider in our dataset that publishes a returns figure charges a weight-independent fee instead — and the units differ between them, which is the trap.

ProviderFee itemUnit of chargeAmountSource
Launch Fulfillmentreturns processing feeper return$2.00 — vendor labels it a sample rateLaunch
Flexportreturn-to-sender processingper unit$3.00Flexport
Fulfyldfirst item returns processingper return$3.50Fulfyld
Fulfyldadditional item returns processingper item$0.50Fulfyld
ShipCalmper-item returned feeper return$4.95ShipCalm
Walmart WFSstandard item return processingper unit$4.70–17.55Walmart
ShipBobreturns managementflatnot publishedShipBob

Every row above was read 2026-08-04, except the Walmart returns row, read 2026-08-12.

Two of those need reading twice. ShipCalm’s fee is named per-item and recorded with a per-return unit — its own label and its unit disagree, so a multi-item return is ambiguous on the published page. And Flexport’s $3.00 is return-to-sender processing, which is not necessarily the same transaction as processing a customer return into stock; Flexport separately publishes $1.80 per unit for return or disposal documentation with images, $0.10 per unit for notes only, and $0.50 per disposal for damaged returns.

We maintain a dataset of 241 sourced fee rows across 23 fulfillment operations. Eleven of them publish no dollar figure for returns processing anywhere we looked — of those, ten publish no dollar figure anywhere at all, and ShipBob is the eleventh: its returns row exists and describes the fee as flat without saying what flat means. The remaining operations, Amazon FBA and Amazon MCF among them, have no returns row in our dataset at all. That third state is not silence and we do not report it as silence: it means either they do not price returns as a separate line, or we have not checked it yet. The full breakdown by service line is on the fee benchmark table.

What we got wrong here, and corrected

Our row for WFS return processing carried the amount $4.70–17.55 per unit with a note saying it “mirrors standard fulfillment fee tiers”. The amount was right. The note was wrong, and it was wrong in the direction that costs money: anyone using it to estimate a light-item return from the $3.45 fulfillment fee would have been low by $1.25 a unit.

We re-read Walmart’s returns table directly on 2026-08-12, confirmed the $4.70 floor at 1 lb against the $3.45 fulfillment fee, rewrote the conditions field to state the actual relationship, and stamped the row with that read date. The full entry is in our corrections log, which is where every fix we ship gets dated and described.

The reason this article exists is that the corrected relationship is not published anywhere else we could find on 2026-08-17. Every page with the WFS returns table has the numbers. The relationship between the two tables came out of fixing our own mistake.

Limitations

This is one marketplace program’s published schedule, read on the dates given, and WFS changes rates without notice. The fulfillment tiers carry a 2026-08-04 read; only the standard returns row has been re-read since. Only the top and bottom tiers can be checked by differencing two separately recorded rows; the middle of the returns column comes from that one read. We do not hold the returns schedule’s per-pound rider inside the 4–20 lb band. The Walmart-at-fault waiver is unverified by us. And our WFS surcharge rows are recorded against the fulfillment schedule only — we have not established whether they apply to returns.

Our method for reading and normalizing these rows, including what we do with ranges and vendor-labelled sample rates, is on the methodology page.

What to do next

  1. Stop deriving return cost from your fulfillment fee. Add $1.25 per unit to the tier base for anything 20 lb and under, and use the fulfillment number unchanged from 21 lb up.
  2. Pull one month of settlement data and difference it yourself. You have the two figures per SKU that we do not: the actual return charge and the actual fulfillment charge on the same weight. A column of subtractions confirms or breaks the middle of our table in ten minutes, and if it breaks it, email us and we will log it.
  3. Check your packed weight against 30 lb and 50 lb. A SKU packed at exactly 30 lb or 50 lb pays $4.60 per unit more than the same SKU one pound heavier, outbound and on returns both.
  4. Ask Walmart in writing whether the apparel, hazmat, low-retail-price and oversize surcharges apply to return processing, and whether an at-fault return is waived. Both are conditions, not amounts, and conditions are where returns budgets break.
  5. Normalize the whole card, not the returns line. Our apples-to-apples method walks four published rate cards through one order profile, and the hidden fees guide has the returns and removals category in context with every other fee that arrives after the quote.

Figures are quoted from the vendor’s own page on the date given and cross-checked against our dataset. Where we derive a figure by arithmetic rather than reading it, the sentence says so. Where our own row was wrong, we say that too, and link to the correction.

Sources

Who publishes returns rates

4 of the 7 providers whose rate cards we hold publish returns rates outright. Each page below lists every fee that provider publishes, with the source URL and the date we read it.

  • Flexport 7 published returns rates · 75 fees in total
  • Walmart WFS 2 published returns rates · 26 fees in total
  • Fulfyld 2 published returns rates · 12 fees in total
  • ShipCalm 1 published returns rate · 35 fees in total

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.