Stock Valuation
How Neriyam assigns a monetary value to every unit of stock using moving average cost.
Stock Valuation#
Every unit of your own stock in Neriyam carries a valuation rate — a cost per unit in your base currency. Multiply by quantity and you have the value of that stock. Add up all the values and you have total inventory on your books.
Neriyam uses moving average cost as its valuation method. Every time you receive material, the average cost is recalculated on the fly.
Valuation applies only to own stock. Customer-supplied stock is tracked by quantity but typically has no valuation rate on your books. See Stock ownership.
The Inventory Settings UI labels this "Weighted Average" — these are the same calculation.
What moving average means#
Every item-plus-warehouse combination has a running balance quantity and a running balance average cost. When a new receipt arrives at a different rate, the balance average cost is re-blended.
newAvgCost = (prevQty × prevAvgCost + inwardQty × receiptRate) / (prevQty + inwardQty)
Issues (sales deliveries, production consumption, transfers out) do not change the average cost — they just reduce quantity at the current rate.
Worked example#
Item: STEEL-8MM. Warehouse: Main.
| Event | Qty | Rate | Value | Bal Qty | Bal Avg Cost | Bal Value |
|---|---|---|---|---|---|---|
| Opening stock | +100 | 50.00 | 5,000.00 | 100 | 50.00 | 5,000.00 |
| GRN receipt | +50 | 56.00 | 2,800.00 | 150 | 52.00 | 7,800.00 |
| Sales delivery | −30 | 52.00 | −1,560.00 | 120 | 52.00 | 6,240.00 |
| GRN receipt | +80 | 60.00 | 4,800.00 | 200 | 55.20 | 11,040.00 |
| Production use | −40 | 55.20 | −2,208.00 | 160 | 55.20 | 8,832.00 |
Each row:
- Qty and Rate are the movement
- Bal Qty and Bal Value are the running totals after the movement
- Bal Avg Cost is recomputed only on receipts; issues consume at the current cost
How receipts update the cost#
These transactions are receipts that update the average:
- Opening Stock (OPN) — sets the starting balance and the starting average
- Goods Receipt (PPR) — receipts against POs, and free-of-cost receipts
- Stock Adjustment (ADJ) with a positive quantity — increases balance at a specified rate
- Production (MFG) — produces finished goods at a calculated cost (inputs × rates + labour if applicable)
- Purchase Return reversal — if you reverse a purchase return, material flows back in
On each receipt, the inward quantity and rate are blended into the existing balance to produce a new average cost.
How issues consume the cost#
These transactions are issues that reduce quantity at the current average cost:
- Stock Transfer out (the "out" leg of a TRF)
- Sales Delivery (SPD) — material leaving to the customer
- Sales Return reversal — if you reverse a sales return, material flows out
- Production (MFG) consumption leg — raw material consumed by a production entry
- Scrap (SCR) — material written off
- Stock Adjustment (ADJ) with negative quantity — write-down at a specified rate
Issues do not change the average. They just reduce the balance quantity and reduce balance value by qty × currentAvgCost.
Stock transfer is special#
A stock transfer has two legs — a warehouse from (outward) and a warehouse to (inward). The cost of the outward leg carries into the inward leg:
- Warehouse A issues 20 kg at its current average of ₹52
- Warehouse B receives 20 kg at ₹52
- Warehouse B's average is re-blended using ₹52 as the inward rate
This keeps organisation-level value conserved across transfers.
Stock ledger columns#
On the Stock Ledger report, each row shows:
- Transaction Date and Time
- Transaction Type (OPN, PPR, SPD, etc.)
- Reference (link back to the document)
- Ownership (Own or Customer Name)
- Warehouse
- Quantity Change — positive for receipts, negative for issues
- Rate — the rate of this specific movement
- Value Change —
qty × rate(for receipts) orqty × avgCost(for issues) - Balance Qty — running total after this row
- Balance Avg Cost — running average after this row (blank when balance is zero)
- Balance Value — running value after this row
What to do if the cost looks wrong#
Occasionally the balance average cost will look off — usually because of a data-entry mistake on a receipt. Options:
- Correct the source document — if it is still in Draft, edit it
- Post a stock adjustment — use ADJ to push the balance to the right value. Enter the delta quantity (zero is allowed) and a corrective rate.
- Reverse and re-post — cancel the wrong receipt and post a correct one
Do not try to "fix" moving-average drift by posting fake issues or receipts. Use stock adjustments — they are designed for this, and they leave a clean audit trail on the ledger.
Zero-balance behaviour#
When balance quantity hits zero, balance average cost is blanked out (it is meaningless with no stock). The next inward receipt sets a fresh average cost. You never carry a stale rate from a long-gone stock balance.
Related#
- Stock ownership — why customer stock is not part of the average
- Stock Ledger — viewing and filtering ledger entries
- Settings › Inventory Settings — where the valuation method is configured
Last updated