What is weighted average cost (WAC) and how do you calculate it?
Weighted average cost (WAC) is an inventory valuation method that recalculates a product's unit cost whenever new stock is bought at a different price, weighting each batch by the quantity purchased. For small businesses facing changing supplier prices, it provides an accurate unit cost without tracking individual batches.
Weighted average unit cost = (existing stock value + new purchase cost) ÷ (existing quantity + new purchase quantity). Every priced stock receipt updates the running average cost per unit.
The formula and how each purchase updates cost
Whenever you record a purchase invoice or a priced stock-in movement, you add the total cost of the new delivery to the current value of stock on hand and divide by the new total quantity. Recording a sale does not change the unit cost; it simply reduces quantity on hand at the current average cost.
To keep the calculation clean, all purchases must use the same unit of measure and net cost (after supplier discounts and excluding recoverable tax), converted into your business currency when bought in foreign currency.
- Existing stock value: current quantity on hand × previous weighted average unit cost
- New purchase cost: newly purchased quantity × new net unit purchase price
- Updated unit cost: (existing stock value + new purchase cost) ÷ (existing quantity + new quantity)
Weighted average vs. simple average cost
A simple average adds two purchase prices together and divides by two, ignoring how many units were bought at each price. Weighted average cost accounts for the size of each order, so a large restock at a higher price shifts your unit cost much more than a tiny top-up order.
If you hold 10 units bought at 100 and buy 30 more at 140, a simple average misleadingly says 120. Weighted average cost correctly calculates (1,000 + 4,200) ÷ 40 = 130 per unit, protecting your profit margin when setting selling prices.
How GiroPS uses weighted average cost
GiroPS uses weighted average cost across your Stock Report, business overview, and Profit & Loss report to calculate inventory value and cost of goods sold (FIFO batch tracking is not used). Each purchase invoice automatically updates the product's running average cost.
Your total stock value reflects the positive quantity of stock-tracked products multiplied by their weighted average cost. Items with missing purchase prices are flagged so you can complete their costs and keep profit figures accurate.
Practical scenario
Example: buying two batches at different prices
A hardware store has 10 drill bit sets in stock bought at 100 each (existing value = 10 × 100 = 1,000). After a supplier price increase, the store buys 10 more sets at 140 each (new purchase cost = 10 × 140 = 1,400). Total inventory value is now 1,000 + 1,400 = 2,400 across 10 + 10 = 20 sets, giving a weighted average cost of 2,400 ÷ 20 = 120 per set. If the second purchase had been 30 sets at 140 (costing 4,200), the new total value of 5,200 divided by 40 sets would give a weighted average cost of 130 per set.
Frequently Asked Questions
Does making a sale change the weighted average unit cost?
No. A sale removes units from inventory at the current weighted average cost to calculate gross profit on that invoice, while the unit cost of the remaining stock stays unchanged until the next purchase.
Why use weighted average cost instead of FIFO?
In everyday retail and wholesale, identical items sit together on the same shelf and nobody tracks which physical unit came from which invoice. Weighted average cost keeps valuation accurate without complex lot tracking.
What happens if I add stock without entering a purchase price?
Entering stock without a cost leaves valuation incomplete and can distort gross profit. Always record purchase prices on supplier invoices so your stock report and Profit & Loss report stay reliable.