River
Y CombinatorBacked by Y Combinator

Founders & Small BusinessFree

Amazon Product Profit and Margin Report

Every fee charged to the SKU that caused it, then checked against the settlement's own net so the residual names what is missing.

Start here

River's channel margin review reads the settlement, the cost file and the inventory ledger together, then charges every fee to the SKU that actually caused it. What comes back is one sheet with net margin per SKU per channel, and a short document naming the products that lose money and what to do about each one. The last two rows of the sheet are the sum of those nets and the settlement's own net, so you can see whether anything is still unaccounted for.

The guidance that ranks for this search lists the same cost lines and then splits them the same way. Storage becomes a blended figure per unit sold, which charges a fast-moving small item for the space a slow-moving bulky one is occupying. The referral fee becomes one category percentage, which is not what the published schedule says in several categories. Neither error moves the account total by a cent, so the month still adds up and only the per-product answer is wrong.

Written for sellers running one catalogue across a marketplace, an own store and wholesale, who have to decide which product to reprice and which to stop restocking. Reach for it before the next purchase order rather than after. Tying the period total to the bank is a separate reconciliation, and the goods side of the same period is an order and fulfilment check. A supplier who just moved your landed cost needs an answer to their letter. A product with healthy unit economics that barely sells needs a listing diagnosis instead.

The fee with no order number is the one that decides it

A referral fee arrives with an order number on it. A storage charge does not. It lands as one pooled amount for the month, and how that pool gets split decides which product looks profitable. Managerial accounting has a settled answer here: assign a pooled cost using the activity that actually drives it, rather than one volume-based rate spread across everything. Storage is driven by cubic feet held across days, not by units shipped, so those are the two numbers the split has to use.

Halstow Goods sold 2,040 units on Amazon in September against one storage charge of $584.20. Spread across units sold, that is $0.29 a unit and $54.41 to the canvas bin. Charged on cubic-foot-days it is $424.96 to the bin, which sat at 520 units of average cover, and nothing to the apron, which ships off the seller's own shelf. The bin moves from $1.08 of profit a unit to $0.87 of loss. The month's total does not move at all.

The apron carries a different error. Amazon's schedule charges 17% on a Clothing item above $20.00 and 10% between $15.00 and $20.00, against a total price that includes the shipping charge. At $19.90 plus $2.99 postage the sheet read the band off $19.90 and paid $1.99; the schedule says $3.89. That is $1,159.79 across 610 aprons. Add up what the order lines say Amazon kept and $922.62 still separates it from the settlement's own net: storage, plus the inbound placement fee Amazon bills separately.

How it works

  1. Add the reports

    Paste or attach the settlement, the storage and advertising reports, and whatever you have on landed cost.

  2. Name the channels

    Say where the same products sell and what each channel charges you, including your own store.

  3. Get the margin sheet

    Net per SKU per channel, the allocation driver behind every pooled fee, and the residual.

  4. Work the losers

    Ask what a price change does, cut the cover on a slow SKU, or add the next period and rerun.

What you get

  • Net margin per SKU per channel, with every fee charged to whatever actually caused it
  • Pooled charges split on the cubic feet held over days, never blended across units sold
  • Referral fees recomputed against the published band for the total price, shipping included
  • The per-SKU nets summed against the platform's own net, with the residual printed
  • Refunds cohorted back to the month of the sale rather than the month they cleared
  • The reprice, the restock cut and the delist, each with the arithmetic behind it

Common questions

Seller Central says this product is profitable. Why does your number disagree?

Because the report you are reading only carries the fees that have an order number. Storage, inbound placement, removals and long-term surcharges are billed to the account rather than to an order, so nothing puts them on a product. They are real money and they land unevenly. On the canvas bin above they were the entire difference between profit and loss.

How should a pooled storage charge be split between products?

On cubic-foot-days: the space each SKU occupied multiplied by the days it sat there. That is the thing the charge is actually billed on. Splitting it per unit sold gives a slow bulky product a discount paid for by a fast small one. The account total looks identical either way, so nothing ever flags it.

One ad campaign covers six products. How does that spend reach a SKU?

From the advertising report's own attribution, product by product, rather than from each product's share of total revenue. Where a campaign genuinely cannot be attributed further, the spend stays in a named unallocated row instead of being spread. A pooled cost pushed onto products it never touched is worse than a pooled cost left visible.

A refund landed in September against a July sale. Which month wears it?

July, because that is the month whose margin it changes. Refunds posted in the month they clear make two months wrong at once, and make a good month look bad for something it did not do. The September settlement still has to tie, so cohorted refunds sit on their own reconciling row rather than disappearing.

Does this work for anything other than Amazon?

Any channel where you can produce the fees and the volumes: an own store, Etsy, eBay, TikTok Shop, wholesale, or a market stall. What differs is which costs arrive pooled. Card processing is per order and easy. Warehouse rent and pick labour are pooled, and the same cubic-foot-days rule applies to your own shelf as to a fulfilment centre.

It says a product loses money. Should I delist it?

Usually not first. A loss on one channel is often a stocking decision rather than a product decision. The canvas bin went from a $164.93 loss to a $47.55 profit purely by cutting its cover from 2.7 months to 1.4, at the same price. If the answer really is a price rise, customers on your own store need a note explaining it.

I sell services, not products. Does any of this apply?

The mechanism does, the fee schedule does not. A pooled cost that has to reach a job rather than a SKU is the same problem, and the driver is usually hours or site visits instead of cubic feet. That is a job-level profitability review rather than this one, and it starts from timesheets instead of a settlement.

Amazon Product Profit and Margin Report

Fill in the form and your workspace opens with the work already underway.