Station 6 of 10
Inventory and costing in Odoo
What you leave this station with
A numeric difference between the three costing methods on identical data, and the ability to trace any margin movement back to either the costing method or a stock adjustment.
The last two stations produced a margin. This one interrogates it: where did the figure you subtracted from revenue come from?
It is not the purchase price. The purchase price moves from one invoice to the next, and a single item in the warehouse is a blend of batches bought at different rates. So which number leaves with the unit that was sold? That is decided by the costing method — the field you passed over at station three and chose without seeing its effect. Here you see it.
The worked example that settles it
Run this yourself on three identical items differing only in costing method. Same movements, same order:
- Buy 10 units at 100 each.
- Buy 10 units at 140 each.
- Sell 12 units at 200 each.
Revenue is identical in all three cases: 12 × 200 = 2,400. The whole difference sits in the cost.
| Method | Cost of goods sold | Margin | Closing stock value (8 units) |
|---|---|---|---|
| FIFO | 10×100 + 2×140 = 1,280 | 1,120 | 8×140 = 1,120 |
| Weighted average | 12×120 = 1,440 | 960 | 8×120 = 960 |
| Standard cost (110) | 12×110 = 1,320 | 1,080 | 8×110 = 880 |
Read that table twice. The movements are identical and the margin ranges from 960 to 1,120 — roughly a sixth of it — with no operational difference whatsoever. Balance-sheet stock value moves with it.
That table is the entire station. Anyone who has run it by hand never again asks why the margin changed after the close; they know where to look.
Notice the quiet detail on the third row. Standard cost produces price variances, because what was actually paid (100, then 140) does not equal the standard (110). Those variances land in their own variance account, and they are genuinely useful information: the size of the deviation between purchasing and plan, measured automatically.
The three methods: what each buys and what it costs
| Method | Gives you | Costs you | Suits |
|---|---|---|---|
| Standard | A fixed cost, stable reports, and a purchase-deviation measure | Periodic review of the standard price; variances swell under inflation | Manufacturing, and items with stable prices |
| Weighted average | Automatic absorption of price shocks, simple arithmetic | Reflects a sharp rise late rather than immediately | General trading — the practical default for most cases |
| FIFO | The closest match to how batches actually flow | Heavier computation, and a margin that oscillates with prices | Short-life items, and anything tracked by lot |
And the rule that makes the table almost unnecessary: choose one and stay with it. Changing the costing method on an item whose quantity has moved revalues stock and generates a revaluation entry — which makes comparing two months against each other meaningless.
Perpetual versus periodic — the second decision
The costing method says at what figure the item leaves. The valuation type says when that is recorded in the ledger:
- Perpetual: every stock movement generates an entry immediately. The stock account on the balance sheet equals the warehouse value moment by moment, and cost of goods sold accumulates with every delivery.
- Periodic (manual): no entry at movement at all. Purchases go to expense, and the cost is computed at period end from a physical count and one adjusting entry.
This is the explanation for what you saw at station four, where the receipt entry vanished on one item and not on another.
The recommendation for training and for production alike: perpetual. It is the only one that keeps the balance sheet truthful on any day of the month, and periodic makes every margin report before the close meaningless.
Adjustments — where the real differences come from
The physical count does not match the books. That is not the exception, it is the norm, and the sources are well known: damage, theft, receiving errors, and units of measure set wrongly.
Run at least one stock adjustment: reduce an item’s quantity deliberately, then open the entry. You will find stock credited and the inventory-difference account debited — the difference went to expense in the income statement.
The conclusion to reach on your own: a stock difference comes straight off profit. A warehouse with recurring monthly differences is bleeding profit quietly, and no sales report will ever show it.
Landed costs on purchases
Freight, customs and insurance are not a separate expense in accounting principle; they are part of the item’s cost. Odoo allocates them across the received items, and the unit cost rises by each item’s share.
Book freight as a general expense and you get two errors at once: an item cost below the truth, so a margin above it, and an inflated operating expense attributed to nothing that caused it. On imported goods the landed portion can be a substantial part of the delivered price, which turns a rounding difference into a material one.
Run one landed-cost allocation on a receipt, and compare the unit cost before and after.
The acceptance test for this station
- Run the station’s example on three items under three methods, and pull the actual margin from the reports — not from the table above.
- Open the stock valuation report and match its total against the stock account balance in the trial balance. If they differ, a movement was recorded in one and not the other, and that is the first thing examined in any close.
- Run a stock adjustment, read its entry, and follow its effect into the income statement.
- Allocate a landed cost onto a receipt, and measure the change in unit cost.
- Write one line stating which costing method you would choose for a trading company in your country, and why — with a numeric reason rather than an aesthetic one.
If you want the inventory logic independent of any system, it is set out in the inventory cycle. Where this product stands against its alternatives on inventory and manufacturing is detailed in the Odoo guide.
What comes next
You now have two cycles and a cost you can account for. The next station assembles all of it in its final place: bank reconciliation, the month-end close, and reading the financial statements — where you learn why a profit figure can be simultaneously correct and not credible, and how to test it.
