Margin erosion shows up in cash about 60 to 90 days after it starts. That lag is the whole problem. A fee band changes in February, ad spend creeps up in March, a supplier adds a surcharge in April, and the bank balance looks fine until June because you are still spending March’s deposits. By the time cash tells you something is wrong, three months of margin are gone. The way to catch it early is to track contribution margin per SKU on a weekly cadence, watch five specific inputs, and treat any one of them moving by more than a point as a trigger to investigate. The setup, with numbers, follows.
Why cash is a lagging indicator
A marketplace seller’s cash arrives on a settlement schedule, not per order. Amazon’s SP-API documentation states that settlement reports are scheduled by Amazon and cannot be requested, so the deposit you see this week reflects sales from the prior settlement window, net of fees, refunds and reserves that were decided by Amazon’s schedule. Layer on inventory you paid for 90 days before it sold, and ad invoices that bill on their own cycle, and the bank account is a smoothed, delayed average of what the business did a quarter ago.
The IRS, in Publication 538, requires businesses that must account for inventory to use accrual accounting for purchases and sales. That rule exists for tax, but it happens to be the fix for the margin problem too: accrual books recognize cost when the unit sells, which is the only view where a margin change is visible the week it happens.
Step 1: Build a contribution margin per SKU
Contribution margin is what is left after every variable cost tied to the unit. For a marketplace SKU that means landed cost, referral fee, fulfillment fee, storage allocated per unit, inbound placement, returns reserve, and advertising attributed to the SKU. Fixed costs stay out.
Take a hypothetical kitchen product that sells for $24.00 on Amazon, with illustrative unit costs (your own fee schedule will differ; pull the actual figures from Seller Central):
- Landed cost: $5.15
- Referral fee at 15 percent: $3.60
- Fulfillment fee: $4.46
- Storage, annualized per unit: $0.18
- Inbound placement: $0.40
- Returns reserve at a 3 percent return rate: $0.36
- Advertising at 15 percent of sales: $3.60
Total variable cost: $17.75. Contribution: $6.25, or 26 percent. Write that down as the baseline. Every week, recompute it from the settlement data, not from a spreadsheet you built in January.
Step 2: Watch the five inputs that move
Fulfillment fee band. Amazon prices fulfillment by size and weight tier. A packaging change that pushes a unit from one band to the next adds a fixed amount per unit that never reverses on its own. In the example, a $0.84 jump in fulfillment takes contribution from 26 percent to 22.5 percent. Nothing on the bank statement flags it.
Advertising cost of sales. If ad spend rises from 15 percent to 20 percent of sales on this SKU, contribution drops $1.20 to $5.05, or 21 percent. Ad spend is the most common source of silent erosion because the campaign dashboard shows return on ad spend, not contribution after ads.
Return rate. A move from 3 percent to 6 percent doubles the reserve to $0.72 and usually carries hidden costs (refund administration, unsellable units) that the reserve understates.
Landed cost. A supplier surcharge or a freight increase changes cost per unit on the next receipt. Under FIFO, the old cost keeps flowing through COGS until the old units are gone, so the P&L shows the increase weeks after the invoice. Track cost on the purchase order, not just in COGS.
Storage. Amazon charges higher monthly storage rates in the fourth quarter than the rest of the year, and adds surcharges on aged units; the current schedule is in Seller Central. A SKU that turns three times a year can lose its entire October contribution to storage by December.
Step 3: Set a threshold and a cadence
A weekly review of contribution per SKU with a one-point trigger catches every item above in the week it occurs. The rule: if contribution moves more than one percentage point week over week on any SKU that represents more than 2 percent of revenue, someone opens the settlement detail and finds the line that moved.
Monthly is too slow. A monthly review finds the fee-band change four weeks late, which on a 2,000-unit-a-month SKU is $1,680 of margin already gone. Daily is noise. Weekly is the cadence that matches how settlements and ad invoices actually land.
Step 4: Decide what to automate and what to keep human
The mechanical part of this, pulling every settlement, applying FIFO cost per unit, splitting fees by type, attributing ad spend to SKUs, is work no person should do by hand at 5,000 orders a month. It is also work that a person does worse than software, because attention fails around transaction 800. The judgment part, deciding whether a SKU with eroding margin should be repriced, resourced or discontinued, is not something software should decide.
ConnectBooks published a useful breakdown of which bookkeeping tasks to hand to software and which to keep with a person: settlement matching, per-unit COGS, fee categorization and anomaly detection go to the machine; unusual transactions, pricing decisions, tax strategy and sign-off stay human. That split fits margin monitoring. The software’s job is to surface the SKU whose contribution moved. The operator’s job is to decide what to do about it.
Step 5: Reconcile the margin report to the deposit
A margin report that does not tie to the bank is a forecast, not a fact. Every settlement should reconcile: gross sales less fees less refunds less reserves equals the deposit, to the penny. If it does not, the margin numbers built on top of it are wrong by the same amount. The SBA’s business-management guidance puts bookkeeping discipline first for a reason; the fanciest report in the world is worthless if the inputs do not match the money.
A worked month
Week 1: contribution on the $24 SKU is 26 percent. Week 2: 25.6 percent, within tolerance. Week 3: 22.4 percent. Trigger. Open the settlement detail: fulfillment fee per unit went from $4.46 to $5.30. The supplier changed the retail box and the unit crossed into the next weight band. Week 3 is the week to call the supplier, not week 12 when the cash flow statement shows the hole.
On 2,000 units a month, that $0.84 is $1,680 a month, $20,160 a year, on one SKU. Catching it in week 3 rather than week 12 is the difference between a packaging conversation and a bad quarter, and a weekly contribution review is the cheapest way to catch it.