Cost of Goods Sold
Date: 2026-08-16
What the thing you sold cost you. It sounds like a lookup and it’s a set of accounting choices — landed cost, which stock the sale drew from, when rebates land — and those choices move your margin without anything changing in the business.
What it is
Cost of goods sold (COGS) is the direct cost of the items sold in a period. It’s the number subtracted from revenue to get Gross Margin.
Landed cost, not invoice cost
The most common under-costing. The supplier’s invoice is not what the item cost you:
supplier invoice £22.00
+ inbound freight £2.20
+ import duty £2.60
+ inspection / rework £0.40
+ inbound handling £0.30
───────
landed cost £27.50
Costing at £22.00 overstates gross margin by 25%. Everything downstream inherits it — what you can pay for a customer, whether a discount works, which lines look profitable.
For an importer, freight and duty are volatile, so a landed cost calculated once and never revisited drifts steadily away from reality.
Which unit did you sell?
Stock bought at different prices means the cost of a sale depends on an accounting convention:
| Method | Assigns | Effect when prices rise |
|---|---|---|
| FIFO — first in, first out | Oldest stock first | Lower COGS, higher reported margin |
| Weighted average | Blended cost across holdings | Smoother, less volatile |
| Specific identification | The actual unit | Only practical for serialised or high-value goods |
Most ecommerce platforms use weighted average. The point isn’t which is right — it’s that the choice moves your margin, and switching mid-year produces a step change that looks like performance and isn’t — Metric Drift.
What sits outside it
The line is genuinely contested, and consistency matters more than matching anyone else’s definition:
| In | Out |
|---|---|
| Purchase price | Marketing |
| Inbound freight, duty | Outbound delivery |
| Direct production or assembly | Payment processing |
| Supplier rebates (as a credit) | Warehouse rent and salaries |
Outbound delivery is the one people get wrong. It’s a cost of fulfilling rather than of goods, so it belongs in Contribution Margin rather than COGS. Putting it in COGS makes gross margin look worse and contribution look better than it is.
Timing effects
Three things that move COGS without the business changing:
- Supplier rebates received quarterly against purchases made monthly. Margin looks poor for two months and excellent in the third
- Currency. Buying in dollars and selling in pounds means the exchange rate at purchase sets your margin. A weakening pound compresses margin on stock already ordered
- Stock write-offs. Obsolete or damaged stock lands in COGS in one period, for goods bought across many
Each produces a margin movement with no operational cause, which is worth knowing before investigating one — Annotation and Change Logs.
Why it matters for growth work
Everything commercial is downstream of it:
- Contribution Margin starts from gross margin, which starts here
- What you can pay for a customer is capped by margin — Customer Acquisition Cost
- Discount decisions are margin decisions — Discount Impact on Margin
- Category prioritisation. Pushing traffic to a high-revenue, low-margin category is a common and expensive error, and it needs per-category COGS to see — Merchandising
In plain terms: if the cost side is wrong, every commercial decision built on it is wrong by the same proportion, and nothing in analytics will ever surface it. It’s the one input worth checking with finance directly rather than taking from a platform report.