What Is a Stock Adjustment? (Write-offs, Shrinkage & Corrections)
A stock adjustment is how you tell the system the shelf was right and the record was wrong. Done well, it is an audit trail of reality; done casually, it is where inventory fraud and quiet losses disappear.
However disciplined a stockroom is, the record and the shelf will eventually disagree. A count finds fewer units than the system claims; a bag of cement has hardened; a returned item was never logged back in. A stock adjustment is the transaction that corrects the recorded quantity to match physical reality — and because it changes inventory value without a sale or a purchase behind it, it is one of the most sensitive entries in the whole system. Every adjustment is, in effect, an admission that something happened off the books. The question is whether you capture what.
What actually triggers an adjustment
Adjustments are not a single event but a family of them, and lumping them together destroys the very information that makes them useful. The main causes:
- Shrinkage — stock that has gone missing to theft, unrecorded issues, or supplier short-delivery. The reason you most need to see clearly.
- Damage & spoilage — breakage, expiry, and goods that perished in storage; a write-off with a physical cause.
- Count corrections — the physical cycle count found a genuine discrepancy the system needs to accept.
- Data-entry errors — a receipt keyed as 100 instead of 10, a wrong unit of measure, a transfer never recorded.
- Found stock — items that turn up in the wrong bin or were never booked in; a positive adjustment.
Why the reason code is everything
An adjustment without a reason is just a number changing. An adjustment with a reason is a data point: "we lost KES 40,000 to expiry in the pharmacy this quarter" or "damage in receiving has doubled since we changed carriers." When every adjustment carries a mandatory reason code, the sum of them becomes a management report — a map of exactly where and why stock is leaking. When adjustments are anonymous, that same leakage vanishes into a single "inventory shrinkage" line that tells you the money is gone but never why.
The control that matters most
Because a stock adjustment writes off value with no sale behind it, it is the natural hiding place for theft: adjust the record down, walk out with the difference. The defenses are simple and non-negotiable — every adjustment needs a reason code, an attributed user, a timestamp, and, above a threshold, an approver who is not the person raising it. An adjustment nobody has to justify is an invitation.
Adjustments and your accounts
A negative adjustment reduces inventory value and lands as a cost — usually cost of goods sold or a dedicated write-off account — so it flows straight into your margins. This is why casual adjusting is dangerous beyond the theft risk: unexplained write-offs quietly erode profit and distort the true cost of what you sell. Clean, reason-coded adjustments keep inventory value honest and give finance a defensible trail when the auditor asks why the stock figure moved without a transaction.
A defensible adjustment process
- Every adjustment carries a mandatory reason code from a fixed list.
- The user and timestamp are recorded automatically — no anonymous edits.
- Adjustments above a value threshold need second-person approval.
- Reasons roll up into a report: shrinkage, damage, and corrections tracked separately.
- Large or frequent adjustments on the same item flag for review.
What AWRA OpsHub does today
- A reason on every adjustment, resolved from a reason catalogue you maintain. If no reason is configured for the operation, the adjustment is refused rather than written without one.
- A named user on both submission and approval, held separately, so the two hands are distinguishable.
- An approval step gated by its own permission — approving an adjustment is a distinct grant from raising one.
- Full audit logging of who changed what, when, from where.
- Workflow triggers on adjustment created, updated and deleted, so you can route a write-off to a manager, post it to Slack or raise an approval task.
- File attachments on the adjustment, so a disposal note or a photo of the damage can sit with the record.
- A value threshold on approval — shipped 2026-08-01. Set an amount under Inventory Defaults and any adjustment at or above it needs a second, senior permission to approve, and — separately, and not overridable by any grant — cannot be approved by the person who raised it. Value is quantity × weighted average cost, with issues and receipts counted as absolute value so an adjustment that moves stock out and back does not net to zero and slip under the line. Leave the threshold blank and nothing changes.
More we can add to your workspace
- Anomaly detection, flagging a user whose write-offs are unusual or a reason code suddenly used ten times more often. Those patterns are visible today in reports somebody reads on a rhythm.
- Compulsory attachments. You can attach evidence today; requiring it is what turns "photo required for damage write-offs" from a social rule into a system one.
- A threshold that varies by warehouse, reason code or item class, with a second tier above it. One organisation-wide threshold ships today.
Until 2026-08-01 this section said the threshold was a workflow rule you had to build. It is now a field. The control that still does the most work is the cheapest one: separate the permission to raise an adjustment from the permission to approve it, and make sure nobody holds both — which is exactly what the threshold now enforces for you above a value you choose.
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 needsAdjustments are where several different problems surface as one number. Separating them — procedural leaks from genuine theft — is the subject of stock control in Kenya.
Make every write-off explain itself
Stock adjustments with a catalogued reason, a named submitter and a separately-permissioned approver — so leakage becomes a report, not a mystery.
Explore inventory managementFrequently asked questions
What is a stock adjustment?
It is a transaction that corrects the recorded quantity of an item to match what is physically present, without a sale or purchase behind it. Adjustments cover shrinkage, damage, count corrections, data-entry errors, and found stock — and because they change inventory value directly, they are among the most control-sensitive entries in a system.
Why do stock adjustments need reason codes?
Because without them, all your losses collapse into one anonymous "shrinkage" figure that says money is gone but never why. Mandatory reason codes let you separate theft from damage from miscounts, turning the sum of adjustments into a management report that shows exactly where stock is leaking.
How can stock adjustments be used to hide theft?
A person can adjust the recorded quantity down to match a shelf they have quietly emptied, so the loss looks like a routine correction. The defenses are reason codes, an attributed user and timestamp on every adjustment, and second-person approval above a value threshold — controls that make an unexplained write-off impossible to bury.
Do stock adjustments affect my profit?
Yes. A negative adjustment reduces inventory value and posts as a cost, usually to cost of goods sold or a write-off account, so it reduces margin directly. That is why controlled, reason-coded adjustments matter — casual ones erode profit and distort the true cost of goods without anyone noticing.