Amazon FBA fees explained: every fee on a wholesale unit
An Amazon FBA sale carries referral and fulfillment fees per order, plus storage, aged inventory, inbound placement and returns fees that hit outside the order.
Last reviewed 5 min readSupplyForge LLC
An Amazon FBA sale carries a referral fee and a fulfillment fee on every order, plus storage, inbound placement, returns and inventory-behavior fees charged outside the order entirely.
Amazon's fees sort into three layers, and the layer decides whether a fee can be attached to a unit at buy time. Order-level fees fire when a unit sells and are computable from an ASIN and a price. Inventory-level fees are charged for holding, sending or running out of stock, and account-level costs are charged whether or not anything sells. Most margin calculators cover the first layer only, which is how a buy that clears 12% ROI on a sourcing screen lands at 4% in a settlement.
Order-level fees: referral and fulfillment
Two fees hit every FBA sale. The referral fee is a percentage of the sale price, and Amazon's published rates run from 5% to 45% by category with a typical $0.30 per-item minimum (sell.amazon.com/pricing, checked August 3, 2026). Most wholesale categories sit between 8% and 15%. The FBA fulfillment fee is a flat per-unit charge set by size tier and post-packaging shipping weight, not by price.
Amazon does not publish granular fulfillment tables publicly — its pricing page routes you to Seller Central, where the tables sit behind a login. Amazon's 2026 fee update took effect January 15, 2026, averaging an extra $0.08 per unit by Amazon's own description. Because the tables are gated, the only reliable fee figure for your own catalog is the one Amazon actually charged: pull a settlement report and read the fulfillment fee line on a unit you have already sold, rather than modeling from a published average.
Inventory-level fees: storage, aged inventory, placement and low stock
Four fees are charged for how you hold inventory rather than for selling it. Monthly inventory storage is billed on cubic-foot-days occupied, so a slow bulky SKU pays it repeatedly while a fast one barely registers. The aged inventory surcharge is an extra charge on units held past a tenure threshold, escalating the longer a unit sits. The inbound placement service fee is charged per unit at shipment creation, sized by how many fulfillment centers you split the shipment across.
The low-inventory-level fee punishes the opposite of overstocking: an FBA SKU running sustained low weeks of cover against its sales rate is charged extra per unit fulfilled. A supplier stockout you did not cause therefore raises the Amazon cost of the units you still have.
Event-level fees: returns processing, refund administration and removals
Three fees fire on events after the sale. A returns processing fee applies in fee-bearing categories on returns above a category return-rate threshold, charged per returned unit on top of the outbound fulfillment fee already paid. A refund administration fee is retained when Amazon refunds a buyer, so the referral fee comes back minus that amount and a refunded order is never a clean reversal.
Removal and disposal order fees are charged per unit when you pull stock out of a fulfillment center or have Amazon destroy it — the standard exit for aged inventory still accruing the surcharge. None of the three appear in a pre-purchase calculation, and all three concentrate on SKUs that underperform. Return economics are covered in the true cost of an Amazon return for wholesale sellers.
The full fee stack, and what margin calculators leave out
Ten Amazon charges touch a wholesale unit across the three layers. The last column is the one to read.
| Fee | Layer | Charged when | In a typical margin calculator |
|---|---|---|---|
| Referral fee | Order | Every sale, 5%–45% by category | Yes |
| FBA fulfillment fee | Order | Every FBA sale, by size tier and shipping weight | Yes |
| Monthly inventory storage | Inventory | Monthly, on cubic-foot-days occupied | Rarely |
| Aged inventory surcharge | Inventory | Units held past a tenure threshold | No |
| Inbound placement service fee | Inventory | Per unit at shipment creation | No |
| Low-inventory-level fee | Inventory | Sustained low weeks of cover on an FBA SKU | No |
| Returns processing fee | Event | Per return, in categories above a return-rate threshold | No |
| Refund administration fee | Event | Retained from the referral fee on a refund | No |
| Removal or disposal order fee | Event | Per unit removed or destroyed at a fulfillment center | No |
| Professional selling plan | Account | Monthly, $39.99 | No |
Two of the ten are reliably in a margin calculator, one sometimes, seven are not. The seven omissions land hardest on slow, bulky or returns-prone SKUs — exactly the inventory a pre-purchase ROI figure says looks fine. Shopkeeper's core pitch is consolidating more than 150 distinct Amazon seller fees into one dashboard (vendor site, checked August 3, 2026).
Allocating the fees that never arrive per order
Six of the ten fees above cannot be attributed to a unit by Amazon, so allocate them from last month's actuals rather than leaving them at zero. The Professional selling plan divides cleanly: $39.99 across 900 units shipped is $0.04 per unit. Storage divides the same way — take last month's storage line and divide by units sold, loading the cost onto SKUs that were moving.
Placement fees are known per shipment, so divide the placement charge by that shipment's units and carry the result into landed cost. Returns work better as a reserve: multiply the SKU's observed return rate by the net cost of one return. A 3% return rate at a $7.30 net loss is a $0.22 per-unit reserve. Method matters more than precision — a rough allocation beats a missing one.
How Forge Command computes a unit's total fee load
Forge Command pulls fee estimates from Amazon's SP-API in batches of 20 identifiers per request across the catalog, pricing and fee endpoints, then runs the totals through one shared margin function so the ROI on a wholesale row, a product record and a purchase order line cannot disagree. Each tenant uses its own SP-API credentials, so the quota consumed is yours.
Two limits are worth stating plainly. Amazon's Product Fees API returns an estimate, not the settled fee — the real number arrives weeks later in a settlement, one reason Amazon profit tools disagree with each other. And Forge Command is not a repricer: it shows that a fee change pushed a SKU below your ROI floor but will not move your price. Amazon gives at least 90 days of notice before fee increases take effect.
Frequently asked questions
Does the referral fee come back on a refund
The referral fee returns minus a retained refund administration fee, so a refunded order costs more than it earned. The outbound fulfillment fee is generally not returned, and fee-bearing categories add a returns processing fee.
Which Amazon fee is most often missing from a wholesale ROI calculation
Inbound placement and storage are omitted most often, because neither is derivable from an ASIN lookup. Both are knowable at purchase-order time and belong in net ROI on a wholesale product rather than being discovered later.
Where do I find current FBA fulfillment fee tables
Current fulfillment tables live in Seller Central behind a login, not on Amazon's public pricing page. The SP-API Product Fees API returns per-ASIN estimates in 20-item batches, described in Amazon SP-API explained for sellers who are not developers.