Shrinkage is the gap between the stock your records say you have and the stock you actually have, after allowing for sales. It is loss that never shows as a line in any report.
Customer theft, staff theft, short deliveries, damage, expiry and plain mistakes all land in the same number. That is why it is hard to fight until you split it into causes.
Where shrinkage comes from
Stock comes in from suppliers, sits in a store, moves between branches and goes out through sales. A loss can happen at every step.
- Receiving: the supplier delivers less than the delivery note says, or damaged goods, and nobody checks. You pay for stock that never arrived.
- Storage: theft, damage, spoilage, pests, expiry.
- Transfers: goods leave one branch and never arrive, or arrive short, and nobody is responsible.
- Selling: items handed over without being scanned, a wrong price, or a void or refund where the goods left.
- Adjustments: stock written off or corrected for no good reason, sometimes to hide a theft.
- Recording mistakes: wrong units (pieces against cartons), a receipt entered twice, a product entered twice under different codes.
Some of this is theft and some is mistakes. The way to find out is the same.
Step 1: Get the record right
You cannot spot a gap if the record is wrong to begin with.
- One record per product, with clear units and one code. Duplicates ruin counts.
- A cause for every movement: sale, goods received, transfer, count or adjustment. Stock should never change without one of these.
- An opening count you trust, for each branch and store.
- Locked history. Nobody should edit movements afterwards. Corrections are new entries with a reason.
If staff can change a quantity directly with no trail, nothing else here will work.
Step 2: Control three weak points
Receiving
Never accept a delivery without counting it against the order and the delivery note. Record what you actually received, not what you ordered.
Compare the supplier’s bill with what arrived before you pay. If the bill includes goods you did not get, you are paying for shrinkage you could have avoided.
Transfers
Use a “sent” step and a “received” step. When a branch sends goods, stock leaves it and sits “in transit”. When the other branch receives and counts them, it confirms.
Anything in transit for days is a question. Never let a transfer be a single step that changes both branches at once.
Adjustments
Every manual adjustment needs a reason. Above a limit you set, it needs a second person’s approval.
Look at adjustments in a weekly review. Check the size, who made them, the time and whether they were back-dated. Large adjustments at odd hours, or by someone who also looks after the stock, deserve a question.
Step 3: Use counts to find the gap
A count compares the physical stock with the system quantity and records the difference.
Count a few items at a time
One big yearly count stops the shop. Instead, count a small group of products each week. Rotate through the whole range over a few months.
Count the most valuable, most stolen or most popular products more often. This is less disruptive. It also finds problems while the cause is still fresh.
How to run a count
- Count blind. The person counting should not see the system quantity first.
- Have a second person recount any difference above a set size.
- Freeze movements for the counted items while you count. Or record the time, so late sales are accounted for.
- Record the difference for each product with a reason. Then post the adjustment with approval.
- Set a difference limit. Differences above it must be looked into, not just posted.
Step 4: Read the reports that show losses
A few views show most problems:
- Loss by product: which products lose the most, in units and in value. Some are theft-prone. Some are measured in awkward units.
- Loss by branch and by period: a jump in one branch after a staff change is a clue.
- Stock gone with no matching sale: movements out that no sale, transfer or count explains.
- Negative stock: a product sold when the system said you had none. Either receipts are late or the stock record is wrong.
- Adjustments over time: the total value and who made them.
- Margin by product: a falling margin with no price change can mean costs are rising. Or it can mean goods are leaving without the full price.
Step 5: Look into a gap in the right order
When a gap appears, rule out the innocent causes first.
- Recording mistakes: duplicate codes, wrong units, a receipt entered twice, a late entry.
- Timing: goods sold but not yet recorded, or received but not yet booked.
- Short delivery: compare delivery notes with receipts.
- Transfers: look for goods in transit or booked to the wrong branch.
- Process breaks: items handed over without scanning, or bundles not scanned.
- Theft: only after the above, with evidence, and a fair conversation.
Write down what you found each time. Patterns across weeks help more than any single case.
Make it someone’s job
Shrinkage that belongs to everyone belongs to no one. Name a person at each branch who is responsible for the count. Name a second person, independent of them, who reviews the differences.
Share the result with the team in plain terms. Shrinkage often falls just because staff know it is measured.
Where software helps
If stock lives in a record where every movement has a cause, the system can look for these patterns every day.
Ziira’s inventory keeps movements that cannot be edited. It has transfers in transit, adjustments that need a reason and approval, and counts with a difference limit.
Ziira Intelligence uses that history. It flags stock that disappears without a sale, odd-hour or back-dated adjustments, and negative stock.
On other systems, the checks on your existing system work from a stock-movement export. There is one limit. Negative-stock alerts need your opening stock, so they are only as good as the history you connect.
The rule is the same with or without software. Record every movement with a cause, control the weak points, count in rotation, and look at the gap every week.