- Home
- Blog
- Glossary (EDGEBIC)
- What Is Moving Average Cost? EDGEBIC Inventory Def…
What Is Moving Average Cost? EDGEBIC Inventory Definition
Moving average cost is a single blended unit cost for a product, recomputed every time stock is received so that it always reflects the weighted mix of everything currently on hand. It is EDGEBIC by User Solutions' answer to a problem every stockroom has: once two deliveries at different prices are in the same bin, nobody can tell which physical unit cost what, so one honest blended figure serves better than a fiction about which unit was picked.
This entry is part of the EDGEBIC glossary series introduced on the platform overview; the broader vocabulary index sits in the manufacturing glossary. It sits on top of the inventory ledger, the append-only record of every stock movement.
How Moving Average Cost Works
Picture a grain silo. Monday's delivery went in at one price, Thursday's at another, and by Friday the two are physically indistinguishable. Nobody is going to trace kernels. What the silo carries instead is a blended price that shifted toward Thursday's rate in proportion to how much Thursday added.
That is the whole idea, and the formula is the arithmetic of it. On each receipt:
new average = (quantity on hand × current average + quantity received × receipt cost) ÷ (quantity on hand + quantity received)
Two properties follow directly, and both matter more than they first appear.
Only receipts recompute the average. An issue removes quantity at the prevailing average and leaves the average itself alone. Without that rule the unit cost of a product would drift every time a job consumed material, so a shop with no purchasing activity at all would still watch its costs wander. Stability between deliveries is what makes the number usable.
The average is a current figure, so history needs its own copy. Because it keeps moving, reading the live average when reporting on a movement from last March would revalue that movement every time you looked at it. EDGEBIC therefore captures the unit cost onto each ledger entry at the moment it is posted. The entry keeps the cost it was genuinely valued at, whatever the average does afterwards.
The recomputation is not a separate housekeeping step. A posting opens a transaction, reads the authoritative on-hand as the sum of the ledger, recomputes the average when the movement is a receipt, updates the cached on-hand quantity, appends the new ledger entry, and commits the whole set at once. Cost, quantity and ledger move together or not at all.
A Concrete Example
Start with 100 units on hand at a moving average of $10.00 each.
Receipt: 50 units at $13.00.
new average = (100 × 10.00 + 50 × 13.00) ÷ 150 = (1,000 + 650) ÷ 150 = $11.00
The new price was 30 percent higher, but the average moved by only a dollar, because two thirds of the stock still carries the old cost. On-hand is now 150 units, and the ledger entry for this receipt is stamped with the $13.00 it was actually received at.
Issue: 60 units to a job.
The average stays at $11.00. On-hand falls to 90. The issue entry is stamped at $11.00, the prevailing average, which is what the job consumed.
Receipt: 50 units at $8.00, after a price fall.
new average = (90 × 11.00 + 50 × 8.00) ÷ 140 = (990 + 400) ÷ 140 = $9.93
On-hand is 140 units at a blended $9.93. Look back at the March issue six months from now and it still reads $11.00, because the ledger kept its own copy. The product's current average and the historical entries answer two different questions and both stay correct.
How EDGEBIC Uses Moving Average Cost
The average lives on the product record and is maintained automatically; there is no separate revaluation run to remember. Every receipt path updates it, whether the stock arrived as a completed build to inventory, as an opening balance when the product was first set up, or as a manual adjustment.
Three things are worth knowing in daily use:
- A reversal is an inverse entry, not a deletion. Correcting a mistaken movement appends an opposite entry rather than removing the original, so both remain in the ledger and net to zero. The cost history stays legible rather than being quietly rewritten.
- The ledger is authoritative, the on-hand figure is a cache. The same is true of cost: the entries carry the record, and the product's average is the current summary maintained beside them.
- It is a material cost, not a burdened cost. The average values what a unit of stock cost to receive. Job costing in EDGEBIC is built from labor hours priced at work center rates plus material, with no overhead layer on top, so the moving average answers the material half of that question.
The mechanics of how each receipt shifts the number, with more worked figures, are in how moving average cost updates on each receipt. For the movement type that triggers the recomputation, see the inventory receipt transaction.
Moving average cost is a single blended unit cost for a product, recomputed every time stock is received so that it always reflects the weighted mix of everything currently on hand. It replaces the impossible task of tracking which physical unit came from which delivery with one number that moves toward the newest price in proportion to how much of the stock that delivery represents.
No. Only receipts recompute the average. An issue removes quantity at the current average, leaving the average itself untouched, which is what makes the figure stable between deliveries. If the average moved on issues as well, the unit cost of a product would drift every time a job consumed material, and a shop with no purchasing activity would still see its costs wander.
For historical accuracy. The product's moving average is a current figure that keeps moving, so a movement posted last March would be revalued every time you look at it if reporting read the live average. EDGEBIC captures the unit cost onto the ledger entry at post time, so each historical movement keeps the cost it was actually valued at, no matter what happens to the average afterwards.
Expert Q&A: Deep Dive
Q: We received stock at a much higher price and the average barely moved. Is that right?
A: Yes, and it is the point of a weighted average. The new price pulls the average in proportion to how much of the on-hand quantity it represents. Fifty units received at 13 against 100 already on hand at 10 gives a blended 11, not 13, because two thirds of the stock still carries the old cost. If you want the new price to dominate you need the receipt to dominate the quantity, which is exactly the relationship a weighted average is designed to express.
Q: Can the moving average cost drift out of step with the ledger?
A: It should not, because the recomputation happens inside the same transaction as the movement itself. A posting opens a transaction, reads the authoritative on-hand from the ledger, recomputes the average when the movement is a receipt, updates the cached on-hand quantity, appends the ledger entry, and commits the whole set together. Nothing partial survives a failure, and any check for drift between the cached figures and the ledger sum is a check of that guarantee rather than a routine correction.
Frequently Asked Questions
Ready to Transform Your Production Scheduling?
User Solutions has been helping manufacturers optimize their production schedules for over 35 years. One-time license, 5-day implementation.

User Solutions Team
Manufacturing Software Experts
User Solutions has been developing production planning and scheduling software for manufacturers since 1991. Our team combines 35+ years of manufacturing software expertise with deep industry knowledge to help factories optimize their operations.
Share this article
Related Articles
The EDGEBIC Scheduling Glossary Index
A themed index to the EDGEBIC glossary: scheduling engine, capacity and calendars, materials and planning, shop floor, reporting, quoting, and data import terms, defined in plain language.
What Is the Critical Chain in Manufacturing Scheduling?
The critical chain is the longest dependent path through a plan once shared machine contention is counted, not just step precedence. Here is how it differs from the critical path.
What Does Finite Capacity Mean in EDGEBIC?
Finite capacity means the scheduler refuses to book more hours on a machine than that machine actually has. See exactly how EDGEBIC enforces it, day by day and shift by shift.
