Guide · Inventory
Weighted average cost explained, with a worked example
Every time you buy at a new price, the value of what is already on the shelf changes. Weighted average cost is the simplest honest way to keep track of it.
Updated · 6 min read
In short
Weighted average cost values every unit in stock at the average price paid, recalculated each time stock comes in. Sales leave at that average, which sets cost of goods sold. SimpleERP applies it automatically on every bill, invoice and work order.
What is weighted average cost?
Weighted average cost is a stock valuation method that gives every unit of a product the same cost: the total value of the stock divided by the number of units. When you buy more at a different price, the average moves. When you sell, the units leave at the current average and the average stays where it is.
It answers two questions every business with stock must answer: what is my stock worth today, and what did the goods I sold cost me? The second answer, cost of goods sold, is what turns sales into gross profit.
What is the weighted average cost formula?
The new average after a receipt is the value already in stock plus the value received, divided by the total quantity. Written out:
- Receipts (purchase bills, production output, opening stock) change the average.
- Issues (sales, production consumption, write-offs) leave at the current average and do not change it.
- Transfers between your own warehouses move units at the current average, so the total value does not change.
How does weighted average cost work in a real example?
Here is a week of one product at Lakshmi Steel Furnitures, the fictional Coimbatore business on this site. The product is the steel rack 4 shelf, which it sells at ₹4,990.
30 September: stock on hand
34 racks across the Main godown and the Ukkadam store, at an average of ₹3,000. Value ₹1,02,000.
1 October: bill BILL-0084 from Tamil Nadu Steels
20 racks received at ₹3,324 each, ₹66,480. New average = (₹1,02,000 + ₹66,480) ÷ 54 = ₹3,120. Value ₹1,68,480.
3 October: invoice INV-2026-27-0213 to Ravi Stores
2 racks leave at ₹3,120. Cost of goods sold ₹6,240. 52 racks remain, value ₹1,62,240, and the average stays ₹3,120.
| Date | Movement | Qty | Unit cost | On hand | Average | Stock value |
|---|---|---|---|---|---|---|
| 30 Sep | Opening position | 34 | ₹3,000 | ₹1,02,000 | ||
| 1 Oct | Bill from Tamil Nadu Steels | +20 | ₹3,324 | 54 | ₹3,120 | ₹1,68,480 |
| 3 Oct | Invoice to Ravi Stores | −2 | ₹3,120 | 52 | ₹3,120 | ₹1,62,240 |
Illustration of stock on hand by warehouse at average cost, with a low-stock row highlighted and a movement ledger.
The invoice made a gross margin of ₹9,980 − ₹6,240 = ₹3,740 on the two racks, about 37%. That margin is only right if the cost is right, which is why the valuation method matters.
How does weighted average cost reach the books?
Each stock movement carries its cost into the ledger, so stock value in the inventory report always equals the inventory account in the balance sheet. For the invoice above, the books record:
| Account | Debit | Credit |
|---|---|---|
| Ravi Stores (receivable) | ₹11,776.00 | |
| Sales | ₹9,980.00 | |
| CGST output | ₹898.20 | |
| SGST output | ₹898.20 | |
| Round off | ₹0.40 | |
| Cost of goods sold | ₹6,240.00 | |
| Inventory | ₹6,240.00 | |
| Total | ₹18,016.40 | ₹18,016.40 |
Illustration: saving invoice INV-2026-27-0213 moves stock, posts the customer ledger, records CGST and SGST and updates the dashboard in one step.
What happens when the next purchase costs more?
The average rises in proportion to how much you buy at the new price. Suppose Lakshmi Steel later receives 10 more racks at ₹3,400:
- Value before: 52 × ₹3,120 = ₹1,62,240
- Value received: 10 × ₹3,400 = ₹34,000
- New average: ₹1,96,240 ÷ 62 = ₹3,165.16
The average moved by ₹45, not by the full ₹280 jump in price, because most of the stock was bought earlier. That smoothing is the main reason businesses with frequent purchases at changing prices choose weighted average cost.
How is weighted average cost different from FIFO?
FIFO, first in first out, assumes the oldest units are sold first, so each sale carries the cost of a specific older purchase. Weighted average gives every unit the same blended cost.
| Weighted average | FIFO | |
|---|---|---|
| Cost of the 2 racks sold on 3 Oct | 2 × ₹3,120 = ₹6,240 | 2 × ₹3,000 = ₹6,000 (oldest stock) |
| When prices rise | Cost of goods sold rises gradually | Cost of goods sold lags behind current prices |
| Records needed | Quantity and value per product | Every purchase layer and what is left of it |
| Best for | Interchangeable goods bought often | Goods where the age of each batch matters |
Indian accounting standards on inventories permit both FIFO and weighted average cost as cost formulas. Pick one with your accountant and apply it consistently.
What are the common mistakes with weighted average cost?
Most valuation errors come from stock that moves without a document, not from the formula. Watch for these:
- Every receipt is entered with its real cost; a ₹0 receipt pulls the average down
- Opening stock is entered with a cost, not just a quantity
- Stock is never edited as a number; corrections go through an adjustment with a reason
- Selling below zero is avoided, because the average has nothing sensible to work from
- Stock value in the inventory report is checked against the inventory account each month
How does SimpleERP apply weighted average cost?
SimpleERP values stock at weighted average cost per product across all your warehouses, and the database applies it on every movement. Nobody types a stock value.
- Supplier bills, opening stock and production output update the average as they post.
- Invoices, production consumption and negative adjustments leave at the current average, and the cost is saved on the document line for margin reports.
- Transfers between warehouses move units at the average, with no change in value.
- The stock report shows total stock value next to the inventory account balance, with the difference, which should be zero.
- Selling below zero is refused by default. If you allow it, the next receipt restarts the average at its own cost.
Read more on the inventory management page. SimpleERP uses weighted average only; FIFO and batch or serial tracking are not included.
FAQ
Questions, answered
Is weighted average cost the same as moving average?
A moving average is weighted average cost recalculated after every receipt, which is what this guide shows. A periodic weighted average is calculated once for a whole period. SimpleERP uses the moving method, so the cost is always current.
Does a sale change the weighted average cost?
No. A sale takes units out at the current average, so quantity and value fall together and the average stays the same. Only receipts move it.
Is weighted average cost allowed in India?
Yes. Indian accounting standards on inventories allow FIFO or weighted average cost as the cost formula. Confirm the method for your statutory accounts with your accountant.
What happens to the average if I return goods to a supplier?
In SimpleERP, a debit note linked to the original bill takes the units out at that bill's price, so the average of what remains can shift slightly. A return not linked to a bill leaves at the current average.
Related
Keep reading
Inventory
Stock on hand by warehouse at weighted average cost, with a movement ledger and a low-stock list.
Read moreGST invoice format
The fields a GST tax invoice must carry, how place of supply picks CGST and SGST or IGST, HSN and SAC codes, and a worked invoice.
Read moreMulti-branch accounting
How a small business keeps one set of books across branches: branch tagging, GSTINs by state, stock transfers, branch profit and shared costs.
Read moreWholesale & distribution
Keyboard-first GST billing, stock across warehouses at average cost, party ledgers and receivables ageing.
Read more
Run your whole business from one simple place.
Seven days free. No card. Your first GST invoice in minutes.