Amazon Profit Reconciliation
Amazon margin can change days after the sale, and the fee total rarely matches the deposit. Both have a cause you can name and a report that explains it.
The short answer
Sound familiar?
- Amazon fees never match the payout.
- The most recent days always look more profitable than they end up.
- Connectors show a successful refresh while costs are still missing.
- Some fees appear twice, or adjustments have no clear link to an order.
Why it happens
- Fees post after the sale
- Amazon's financial events reference warns that orders from the last 48 hours might not appear, and deferred events are not returned until released. In one build, shipment fees arrived on their posted date several days after the purchase.
- A payout is a settlement, not a calendar period
- Comparing fee activity for a month to cash from a settlement compares two different things. The settlement report shows what Amazon actually included in each payout.
- Estimates are replaced all at once
- On a $100 sale with $40 product cost and $20 of estimated fees, replacing the whole estimate with the first $16 actual fee shows $44 of contribution instead of $39. Keeping the estimate and adding the actual shows $24.
How we fix it
- 1
Load each fee source for its own question
Use settlement reports for cash, financial events beside order data for fees by SKU, and FBA and Product Fees reports for storage, reimbursements, and estimates. Settlement reports are generated by Amazon and must be listed and downloaded, not requested.
- 2
Keep a fee ledger and replace by component
Store each fee event with its identifier, type, amount, and posting time. Use the matched actual amount where one exists, otherwise a labeled estimate, and mark the cost unknown when neither exists. Reprocess recent periods without charging the same fee twice.
- 3
Explain each change on the dashboard
Show contribution, estimated fees still in use, actual fees, orders with unknown costs, the as-of time, and a bridge from the last refresh that separates new sales, fee replacements, refunds, and other adjustments.
What you end up with
- A fee ledger by component, with estimates labeled
- A payout reconciliation against each settlement report
- A bridge that explains why margin changed since the last refresh
- A review list of unmatched fees and adjustments
Common questions
Why doesn't our Amazon fee total match the payout?
Because a payout covers a settlement, not a calendar period. For cash reconciliation, start with the settlement report. For fees by SKU between settlements, use financial events beside your order data.
When are Amazon fees final?
Amazon's 48-hour note is a warning about recent orders, not a promise that fees are final after two days. Measure your own delays: record a day's contribution at two days old and again two weeks later, and label recent days provisional for as long as the drop lasts.
Does "actual fee received" mean the order is complete?
No. An actual fee proves one event arrived, not that every expected component has. Track expected components against matched ones, so a label like "2 of 2 modeled components received" replaces "final profit".
Is anything changing in the Amazon Finances API?
Yes. Amazon has deprecated the v0 listFinancialEvents operations, which will be removed on August 27, 2027. Pipelines should move to listTransactions in Finances API v2024-06-19 before then.
Bring the numbers that don't add up
We'll trace them to the source with you and say where we'd start. No pitch deck.