The Cost That Changed on a Tuesday
A margin report that drops overnight is usually a cost that moved. The question is never what the new cost is — it is on the screen. It is who changed it, from what, and why. A cost audit trail written by the item itself, so no screen, import or background job can move a cost without leaving a row, and a choice of FIFO for organizations that need it.
On Wednesday morning the margin on solar lanterns had fallen by nine points. The finance lead opened the item: the unit cost was higher than last week. That was all the screen could say. Was it a delivery at a new price? A freight invoice apportioned late? Someone fixing a typo? An import that had overwritten a column? Each of those has a different owner and a different fix, and the item card answered none of them.
The short version
Every change to an item’s unit cost or buying price now leaves a row: the old and new value, what was on hand, the valuation method in force, a reason from a fixed list, a reference and who did it. The row is written by the item record itself, so there is no route around it. Alongside it, an organization can choose FIFO instead of the moving average, and switching revalues nothing.
Why the cost is the number nobody can explain
Quantities have documents. A receipt adds stock, a sale removes it, a count corrects it, and each of those is a record you can open. Cost has no document of its own. It is changed as a side effect: of a receipt, of a landed-cost allocation, of an assembly, of a till return, of an import, of someone typing into the item card. Each path is legitimate. Together they mean the cost on screen is the last thing that happened to it, with no record of what happened before.
The usual fix is a log written by whichever screen made the change. That works until the next path is added and somebody forgets to write the log there. Ours is written by the item itself on every save that moves either value, so a path cannot forget.
An audit trail that each screen has to remember to write is a list of the screens somebody remembered.
Reading the trail
| Reason on the row | What moved the cost |
|---|---|
| Stock received | A receipt blended into the average, or a new layer |
| Landed cost apportioned | Freight, duty or clearing allocated to a receipt |
| Assembly or disassembly | A build rolled component cost into the finished item |
| POS return restocked | A till return came back at the cost it was sold at |
| FIFO layers consumed | An issue used up the oldest layers |
| Edited on the item | A signed-in person changed it outside the paths above, usually by typing it |
| Bulk import | A spreadsheet changed it |
| System recalculation | A change made by a background job, with nobody signed in |
The lanterns, read this way: a row on Tuesday afternoon, reason Edited on the item, buying price from 1,450 to 14,500, and a clerk’s name — a slipped zero on the buying price, which is the default for new orders, not the valuation. And a row on Wednesday at 07:10, reason Stock received, unit cost from 1,380 to 1,512, reference the morning’s delivery. The margin fell because of the second row. The first was a separate mistake that would have reached the next purchase order. Two conversations, both with the evidence on screen.
FIFO, if you need it
The moving average is the default and suits most organizations; we set out the trade-off in FIFO versus weighted average. Some do need FIFO — a group that reports on it, an auditor who asks for it. Inventory Defaults now offers it. Under FIFO each receipt is a cost layer and every issue uses up the oldest layers first, at what those units actually cost. The item’s unit cost becomes the value of the layers still on the shelf divided by their quantity, so every report that values stock reads the FIFO figure without changing anything else.
- Layers are written under both methods, so the receipt history exists whichever one you use, and the Cost Layers report lists what is on the shelf, oldest first, at what it cost.
- Switching never revalues stock. On the day of the switch each item’s open layers close into one at that day’s cost, so the ledger and the stock valuation agree, and the new method applies from the next movement.
- Stock no layer explains, such as opening stock, becomes an opening layer at the current cost before the next movement; layers that add up to more than the shelf are trimmed, oldest first. FIFO never costs units that are not there.
What FIFO does not change
Neither method restates the past. A late freight invoice or a correction is a new movement dated when it is made, under FIFO exactly as under the moving average — the argument in the cost you cannot go back and change still stands. What FIFO changes is which cost leaves with each unit.
Three questions about your costs
Who changed this item’s cost last, and why?
What you will probably hear
We would have to check the receipts.
How to read it
Then a typed edit and a genuine receipt are indistinguishable after the fact.
Can an import change a unit cost?
What you will probably hear
Probably.
How to read it
Ask whether it leaves a record when it does. A bulk change with no trail is the hardest kind to unwind.
If we switched to FIFO, what would happen to our stock value?
What you will probably hear
It would be recalculated.
How to read it
A switch that revalues history moves your balance sheet on the day you change a setting. Ask for one that starts from today.
What AWRA OpsHub does today
- A valuation audit trail of every unit-cost and buying-price change, with old and new value, on-hand quantity, method, reason, reference and user, written by the item itself.
- Filters by date, reason, item and reference, with CSV and PDF export, on the web and in the app.
- A choice of moving average or FIFO per organization, with layers kept under both and a switch that revalues nothing.
- A Cost Layers report listing every receipt still on the shelf, oldest first, with remaining quantity and landed cost.
- A stock ledger reconciliation and an inventory exception list beside them, for the quantity half of the same question.
More we can add to your workspace
- An alert when a cost moves by more than a set percentage, sent to whoever owns the item’s category, before the margin report shows it.
- A valuation method chosen item by item, for a catalogue where a few lines need a different basis.
- A standard cost with variance reporting, for manufacturers who cost against a target.
Where we point you to a specialist
- We will not restate a cost that has already been used. A correction is a new movement dated today, under either method.
The cost-movement alert sits directly on the audit rows that already exist.
Anything above that you need, we can build for you
Everything listed above as something we can add describes what ships in the standard product today — it is a starting point, not a limit on what AWRA OpsHub can do for your organisation. Kenya's eTIMS integration and its maintained payroll engine are both in the product because clients needed them and commissioned them; neither appeared by itself, and the same door is open for whatever you just read about. One qualification so this is worth what it claims: a small number of things on this blog we deliberately leave to a specialist rather than build — a statutory ledger we will not sign our name to, a rule that would decide a tax question for you, a clinical or member-funds record that belongs in a regulated system — and where that is true the post says so in those words. Everything else is a scope, a timeline and a price.
The operational work, which is what most commissions actually are
An extra approval stage in a chain that does not match the standard one, a custom field set on employees or assets that only your sector needs, an expiry that has to block an order rather than send an email, a report your board asks for in a shape nothing produces, or a scanner or weighbridge feeding the goods-in door. These are the commissions we are asked for most often and the smallest ones we quote — and unlike a revenue-authority pipeline, none of them waits on a regulator.
The module-shaped additions, which are the ones readers ask for most often
A price list with real discount authority, a customer-facing quotation that expires, a bill of materials or recipe costing, a staff advance that is issued, acquitted and chased, a member or unit ledger, a matching rule that holds a payment. Each of these is a build rather than a setting, and each has been quoted before — a bigger piece of work than a custom field, with a written spec and a date instead of a roadmap slide.
The report, document or pack nothing currently produces
The board pack in the shape your board actually asks for, a donor or funder layout, an invoice or receipt template carrying what your regulator or your customer expects, a dataset the report builder cannot reach yet. Usually the fastest thing on this list to deliver, because the data is already in the system.
Systems, rails and hardware you already run
The accounting package, CRM, online store, core banking or custom database you intend to keep — connected through our API so a fact is entered once and appears everywhere it is needed. Plus the physical edge: a scanner, a scale, a weighbridge or a till peripheral feeding the door it belongs to.
How it works: you describe the requirement, we return a written scope, timeline and cost, and once agreed it is built into your environment and maintained as part of the product. Nothing here waits on a regulator or a published specification, which is why operational builds are the ones we quote fastest. Tell us the requirement that would otherwise rule us out — that is a better first conversation than a demo.
Tell us what your operation needsSee inventory costing
Moving average or FIFO, landed costs on receipts, and an audit trail of every cost change.
Explore inventory managementFrequently asked questions
Can I see who changed an item’s unit cost?
Yes. The Valuation Audit Trail report lists every change to an item’s unit cost or buying price, with the old and new values, the quantity on hand, the valuation method, the reason, a reference and the user who made it.
Can a cost change without appearing in the audit trail?
No. The trail is written by the item record itself whenever its unit cost or buying price changes, so receipts, imports, assemblies, returns and manual edits all leave a row.
Does AWRA support FIFO costing?
Yes. Moving average is the default, and an organization can switch to FIFO in its inventory settings. Under FIFO each receipt is a cost layer and issues use up the oldest layers first.
Does switching to FIFO revalue my stock?
No. On the day of the switch each item’s open layers are closed into one at that day’s unit cost, so the stock value does not move, and the new method applies from the next movement.
Can a past cost be corrected retrospectively?
No. Under either method a correction is a new movement dated when it is made, and costs already used by earlier movements stay as they were.