Inventory shrinkage is costing you money. Learn what causes it — theft, admin errors, supplier issues, damage, and more — and how to prevent it with practical strategies and the right tools.
You check your inventory system and it says you have 24 units of a product. You walk to the shelf and count 18. Six units are gone. They were not sold. They were not donated. They simply vanished from your records. That gap between what your system says and what you actually have is inventory shrinkage, and it eats into your profit with every missing unit.
Shrinkage happens in every retail business. The question is not whether you have it, but how much. Some losses are unavoidable, but most can be prevented with the right processes and habits. This guide explains what inventory shrinkage is, how to measure it, what causes it, and what you can do to reduce it. Every strategy here is actionable for a small business owner.
You do not need a big budget or a security team. You need awareness, consistent processes, and a system that records every stock movement accurately.
## What Is Inventory Shrinkage?
Inventory shrinkage is the difference between the stock quantity your system records and the quantity you physically have on hand. If your system shows 50 units of a product but you count 47 on the shelf, you have 3 units of shrinkage.
Shrinkage does not include products you intentionally removed from sale, such as discontinued items, samples, or promotional giveaways. It refers only to inventory that was lost, stolen, damaged, or recorded incorrectly.
The formula is simple:
Shrinkage = System Records − Physical Count
When the result is positive, you have fewer items than expected. That is shrinkage. A negative result means you have more items than expected, which usually points to a different kind of recording error.
## How to Calculate Your Shrinkage Rate
Knowing your shrinkage in units is useful, but calculating it as a percentage of sales gives you a benchmark you can compare over time.
### Shrinkage Rate Formula
Shrinkage Rate (%) = (Shrinkage Value ÷ Total Sales) × 100
### Shrinkage Value Formula
Shrinkage Value = Shrinkage in Units × Cost Per Unit
### Worked Example
You run a small grocery store. At your last stock take, you found the following for one product category:
<table class="w-full text-left border-collapse"><thead><tr class="border-b border-gray-300"><th class="py-2 pr-4 font-semibold">Item</th><th class="py-2 pr-4 font-semibold">System Qty</th><th class="py-2 pr-4 font-semibold">Physical Qty</th><th class="py-2 pr-4 font-semibold">Difference</th><th class="py-2 pr-4 font-semibold">Cost Per Unit</th><th class="py-2 font-semibold">Shrinkage Value</th></tr></thead><tbody><tr class="border-b border-gray-200"><td class="py-2 pr-4">Cooking Oil (1L)</td><td class="py-2 pr-4">120</td><td class="py-2 pr-4">114</td><td class="py-2 pr-4">6</td><td class="py-2 pr-4">Rp 15,000</td><td class="py-2">Rp 90,000</td></tr><tr class="border-b border-gray-200"><td class="py-2 pr-4">Sugar (1kg)</td><td class="py-2 pr-4">85</td><td class="py-2 pr-4">82</td><td class="py-2 pr-4">3</td><td class="py-2 pr-4">Rp 12,000</td><td class="py-2">Rp 36,000</td></tr><tr class="border-b border-gray-200"><td class="py-2 pr-4">Instant Noodles</td><td class="py-2 pr-4">200</td><td class="py-2 pr-4">195</td><td class="py-2 pr-4">5</td><td class="py-2 pr-4">Rp 2,500</td><td class="py-2">Rp 12,500</td></tr><tr class="border-b border-gray-200"><td class="py-2 pr-4 font-medium">Total</td><td class="py-2 pr-4"></td><td class="py-2 pr-4"></td><td class="py-2 pr-4">14</td><td class="py-2 pr-4"></td><td class="py-2">Rp 138,500</td></tr></tbody></table>
If your total sales for that category during the period were Rp 15,000,000, your shrinkage rate is:
Shrinkage Rate = (Rp 138,500 ÷ Rp 15,000,000) × 100 = 0.92%
A rate under 1% is considered good for most retail stores. Between 1% and 2% is average. Above 2%, you have a problem worth investigating. Above 4%, your profits are being seriously affected.
### How Often to Calculate Shrinkage
Calculate your shrinkage rate after every full physical stock take. If you do stock taking quarterly, calculate it four times per year. This gives you a trend line you can watch. If the rate goes up from one quarter to the next, you know something changed and needs attention.
For faster detection, supplement full stock takes with cycle counting. Track shrinkage by category or by high-value product on a weekly basis. This catches problems early, before they grow into significant losses.
### Common Calculation Mistakes
Using sell price instead of cost price. Shrinkage value should be based on what you paid for the product, not what you sell it for. Your profit margin is lost on top of the cost, so using sell price overstates the loss.
Including products that were intentionally removed. Discontinued items, samples, and promotional stock should be recorded separately. If they are mixed into your regular inventory count, your shrinkage rate will look worse than it actually is.
Not separating shrinkage from stock adjustments. If you wrote off damaged products during the period, those units should be tracked as damage, not lumped into unexplained shrinkage. Keep separate records for each type of inventory loss so you know where to focus your prevention efforts.
Skipping the calculation because the numbers are small. A difference of two units on a cheap item seems harmless, but small discrepancies across hundreds of products add up. Calculate every time, even when the numbers look clean.
## Common Causes of Inventory Shrinkage
Shrinkage comes from several sources. Most small businesses experience a mix of these causes. Understanding each one helps you target your prevention efforts where they will have the most impact.
- Theft: both internal (employees) and external (shoplifters, fraud)
- Administrative errors: data entry mistakes that create phantom inventory
- Supplier discrepancies: incorrect quantities or products delivered
- Damage and spoilage: products ruined during handling, storage, or due to expiry
- Handling and storage mistakes: misplaced products, incorrect storage conditions
The sections below explain each cause in detail and give you specific actions to reduce it.
## Internal Theft
Internal theft is one of the most common and costly sources of shrinkage in small businesses. It happens when employees take products, cash, or give unauthorised discounts to friends and family.
### Opportunity vs Intent
Most employees do not start a job intending to steal. Internal theft usually happens when three conditions align: a person feels pressure (financial or personal), they can rationalise the act (the store will not miss it, everyone does it), and they have the opportunity. As a business owner, you cannot control the first two, but you can control the opportunity.
Reducing opportunity is the most effective prevention strategy. When stealing requires effort, collusion, or risk of discovery, most people will not attempt it.
### Segregation of Duties
One person should not control an entire transaction from start to finish. If the same employee receives stock, records it in the system, and sells it, there is no check on their work. Segregate these responsibilities:
- The person who receives stock should not be the only one who records it in the system.
- The person who processes sales should not be the only one who reconciles cash at the end of the day.
- The person who does stock adjustments should not be the only one who approves them.
In a very small store with only one or two staff, full segregation may not be possible. In that case, you as the owner should regularly review adjustment logs, cash reports, and stock changes. Random checks are more effective than scheduled ones.
### Approval Workflow
Stock adjustments — increasing or decreasing inventory quantities outside of sales and receipts — should require approval. When an employee notices a discrepancy and wants to correct it, the adjustment should be reviewed by a second person before it is applied.
This does not mean every adjustment needs a lengthy process. For a small store, it can be as simple as: the employee notes the discrepancy, you review it at the end of the day, and you approve or question it. The key is that adjustments are not made in secret.
### Audit Trail
Every stock movement should be recorded with: who made the change, what was changed, when it was changed, and why. When every adjustment has a named person attached to it, employees know their actions are tracked. This alone reduces suspicious behaviour.
Review the audit trail regularly. Look for patterns: adjustments made by the same person repeatedly, adjustments made outside business hours, or adjustments to high-value products. These patterns deserve attention.
### Ethical Workplace Culture
Prevention is not just about rules. It is also about culture. Employees who feel respected, fairly compensated, and part of the team are less likely to steal. Communicate clearly that inventory accuracy is everyone's responsibility, not just the owner's.
Set a clear policy about theft and explain the consequences. Make sure every employee knows that stealing hurts the business, and that hurting the business ultimately hurts everyone who works there. Frame it as a shared problem, not a threat.
## External Theft
Shoplifting and customer fraud are external sources of shrinkage. Small stores are especially vulnerable because they often lack the security infrastructure of larger retailers.
Simple measures reduce external theft significantly:
- Arrange your store layout so staff can see most areas from the counter.
- Do not pile high-value items near the entrance where someone can grab and leave.
- Greet every customer who enters. Acknowledging customers makes potential shoplifters feel noticed.
- Keep the store organised. Messy shelves and cluttered aisles make it easy to conceal items.
- Train staff to watch for suspicious behaviour: customers who avoid eye contact, wear large bags or loose clothing, or move through the store quickly without shopping.
- Verify cash payments for large denominations. Check for counterfeit notes.
None of these measures requires expensive cameras or security guards. Awareness and simple procedures are effective deterrents.
## Administrative Errors
More shrinkage is caused by honest mistakes than by theft. Administrative errors create discrepancies between your system and reality without anyone taking a product. These errors are the easiest to fix because they start with improving your processes.
### Duplicate Receiving
A supplier delivers 20 units. Your staff records 20 units in the system, then later accidentally records the same delivery again. Your system now shows 40 units, but you only have 20. The extra 20 units are phantom stock that you will look for during stock taking and never find.
Prevention: Mark paper delivery notes as entered immediately after recording them. Use barcode scanning at receiving so the system checks whether the purchase order for that delivery has already been received.
### Wrong Quantity Entered
A supplier delivers 24 units of a product. The staff member typing the receipt enters 42 by accident. The system shows 18 extra units that do not exist. Later, when stock seems healthy, you are actually running low.
Prevention: Scan products at receiving instead of typing quantities. If you must type, have a second person verify the entry for large deliveries. Compare the delivery note to the purchase order before entering.
### Wrong Barcode
Two products look similar but have different barcodes. During receiving or checkout, the wrong barcode is scanned. The stock level for product A decreases when it should have decreased for product B. Both products now have incorrect quantities.
Prevention: Verify product names on screen after scanning. Do not rely on barcodes alone during checkout — confirm the product name matches what the customer is buying.
### Incorrect Stock Adjustment
An employee notices a discrepancy during a spot check. They adjust the stock level in the system by entering a new quantity. But they enter the wrong number — typing 15 instead of adjusting to the actual count of 18. The adjustment creates a new discrepancy instead of fixing the original one.
Prevention: Always record the physical count and let the system calculate the difference. Do not manually type new stock levels. Use the adjustment feature that records the reason and the physical count.
### Unrecorded Returns
A customer returns a defective product. The staff processes the refund but forgets to add the product back into inventory. The system shows one fewer unit than actually exists. Over time, unrecorded returns create a growing gap between system and reality.
Prevention: Link refunds to inventory restoration in your POS. When a refund is processed, the product should automatically return to stock. If your system does this automatically, the only risk is forgetting to process the return altogether.
For more on the types of mistakes that affect inventory accuracy, read our guide on <a href="/blog/common-inventory-management-mistakes">common inventory management mistakes to avoid</a>.
## Supplier Discrepancies
Sometimes the error is not yours — it is your supplier's. But if you do not catch it at receiving, it becomes your problem.
### Short Shipments
Your supplier delivered 48 units but the delivery note says 50. If your staff records 50 in the system, you now have 2 units of phantom inventory. Those 2 units will show as shrinkage during your next stock take.
### Incorrect Products
The supplier delivered product A but you ordered product B. If you record product B in the system because that is what the purchase order says, you will have a discrepancy for both products.
### Damaged Deliveries
Products arrive damaged and cannot be sold. If you accept the delivery without noting the damage, the system records the full quantity while the shelf has fewer sellable units.
### Receiving Verification Process
A consistent receiving process prevents supplier-related shrinkage:
- Compare the delivery to your purchase order before accepting.
- Count every unit. Do not trust the delivery note without verifying.
- Scan each product or, if scanning is not available, check quantities against your order.
- Note any damage or discrepancy on the delivery note before signing.
- Have the delivery driver sign your copy of the discrepancy record.
- Enter receipt data into your system on the same day, not later in the week.
### Proof-of-Delivery Documentation
Keep a copy of every delivery note with your annotations. If a discrepancy is discovered later, the annotated delivery note is your evidence. Without it, the supplier will assume the delivery was correct and you will bear the loss.
A receiving log with columns for date, supplier, purchase order number, expected quantity, received quantity, and noted discrepancies helps you track supplier performance over time. If one supplier consistently delivers short, you have data to back up a complaint or a switch.
## Inventory Damage and Spoilage
Products get damaged before they reach the customer. When they do, the system still shows them as available inventory. That creates shrinkage unless you record the damage immediately.
### Handling Damage
Products are dropped, crushed, or torn during receiving, stocking, or checkout. Prevention: train staff to handle products carefully, organise shelves so products are not stacked precariously, and use proper storage containers for fragile items.
### Storage Damage
Products stored in the wrong conditions deteriorate. Heat, humidity, sunlight, and pests all cause damage. Prevention: store products according to manufacturer guidelines, rotate stock using FIFO (first in, first out), and inspect storage areas weekly for signs of damage.
### Expired Inventory
Products that pass their expiry date become unsaleable. If they remain in your system as available stock, they create a discrepancy. Prevention: check expiry dates during receiving, mark products that are approaching expiry, and remove expired products from inventory immediately with a documented adjustment.
### Environmental Conditions
Flooding, power outages, and pest infestations can destroy inventory quickly. Prevention: keep products off the floor, use sealed containers for food items, maintain a clean storage area, and have a plan for protecting inventory during power outages or extreme weather.
The key to reducing damage-related shrinkage is to record damage the moment it happens. When a product breaks, do not throw it away and forget about it. Record a damage adjustment in your system right away. This keeps your inventory records accurate and gives you data on which products are most prone to damage.
## How Barcode Scanning Reduces Shrinkage
Barcode scanning is the single most effective tool for reducing administrative shrinkage. It eliminates the human errors that create phantom inventory.
When you scan a product during receiving, the system records exactly what arrived, no typing mistakes. When you scan during checkout, the correct product is deducted from stock, not a similar one typed from memory. When you scan during stock taking, the count is tied to the correct product every time.
The effect is cumulative. Fewer errors at each stage means fewer discrepancies at stock taking. Barcode scanning does not stop theft or damage, but it removes the layer of uncertainty that hides those problems. When your records are accurate, you can trust that any remaining discrepancy is actual shrinkage that needs investigation, not a data entry error.
For a detailed overview of how barcodes work, read our guide on <a href="/blog/understanding-barcode-types">barcode types for retail stores</a>.
## Shrinkage Investigation Workflow
When you find a discrepancy during stock taking, follow this workflow to determine the cause and prevent it from happening again.
<table class="w-full text-left border-collapse"><thead><tr class="border-b border-gray-300"><th class="py-2 pr-4 font-semibold">Step</th><th class="py-2 pr-4 font-semibold">Purpose</th><th class="py-2 pr-4 font-semibold">Action</th><th class="py-2 font-semibold">Example</th></tr></thead><tbody><tr class="border-b border-gray-200"><td class="py-2 pr-4 font-medium">1. Detect</td><td class="py-2 pr-4">Find the discrepancy</td><td class="py-2 pr-4">Compare physical count to system record</td><td class="py-2">System shows 30, you count 24 → 6 unit gap</td></tr><tr class="border-b border-gray-200"><td class="py-2 pr-4 font-medium">2. Verify</td><td class="py-2 pr-4">Confirm the count is correct</td><td class="py-2 pr-4">Recount the product. Check if any stock is misplaced in other areas</td><td class="py-2">Count again. Check back room. Still 24 → discrepancy confirmed</td></tr><tr class="border-b border-gray-200"><td class="py-2 pr-4 font-medium">3. Investigate</td><td class="py-2 pr-4">Find the root cause</td><td class="py-2 pr-4">Review sales history, delivery receipts, adjustment logs, and refund records for this product</td><td class="py-2">Adjustment log shows a correction of −6 units last month with no reason recorded</td></tr><tr class="border-b border-gray-200"><td class="py-2 pr-4 font-medium">4. Identify Cause</td><td class="py-2 pr-4">Determine what happened</td><td class="py-2 pr-4">Classify the cause: theft, admin error, supplier issue, damage, or unknown</td><td class="py-2">No clear cause found → record as unexplained shrinkage</td></tr><tr class="border-b border-gray-200"><td class="py-2 pr-4 font-medium">5. Correct Records</td><td class="py-2 pr-4">Update inventory to match reality</td><td class="py-2 pr-4">Adjust system quantity to match physical count. Record the reason</td><td class="py-2">Set system to 24. Reason: stock count adjustment, unexplained</td></tr><tr class="border-b border-gray-200"><td class="py-2 pr-4 font-medium">6. Prevent Recurrence</td><td class="py-2 pr-4">Stop it from happening again</td><td class="py-2 pr-4">Implement a process change based on the cause</td><td class="py-2">Require reason for all future adjustments. Train staff on adjustment procedure</td></tr></tbody></table>
Follow this workflow for every discrepancy, no matter how small. The sixth step is the one that reduces future shrinkage. Without it, the same problem will repeat.
## KPIs to Monitor Shrinkage
Track these metrics to measure how well your shrinkage prevention efforts are working.
### Shrinkage Rate
The percentage of inventory value lost to shrinkage relative to total sales. Your target should be under 1.5% for most retail stores. Track it quarterly and watch the trend. If it goes up, investigate.
### Shrinkage Value
The total monetary value of lost inventory in rupiah. This tells you how much shrinkage is actually costing your business. Even if your shrinkage rate is low, a high value on expensive products demands attention.
### Inventory Accuracy
The percentage of products where the system count matches the physical count. A product is accurate only if the numbers match exactly. If you have 500 products and 450 match, your accuracy is 90%. Aim for 95% or higher. Low accuracy hides shrinkage problems.
### Adjustment Frequency
The number of stock adjustments made per week or per month. A high number of adjustments suggests that errors are being introduced somewhere in your process. Track who makes the adjustments and which products they affect. A sudden increase in adjustments is a warning sign.
### Cycle Count Accuracy
If you do cycle counting, track the accuracy of each cycle count. If a category consistently shows low accuracy, focus your prevention efforts there. Cycle count accuracy often reveals problems before they appear in your quarterly shrinkage rate.
Review these KPIs monthly. Share them with your staff. When employees see that you are watching the numbers, they pay more attention to accuracy. For more on using data to run your store, see our guide on <a href="/blog/how-to-manage-inventory-for-small-business">inventory management for small businesses</a>.
## How Inventory Software Helps
Inventory software does not replace the prevention strategies above, but it makes every one of them easier to implement. Here is how.
### Barcode Scanning
Software that supports barcode scanning eliminates manual entry errors at receiving, checkout, and stock taking. Every scan records the correct product and quantity. For products without existing barcodes, you can generate and print your own.
### Audit History
Every stock movement is recorded with a timestamp and the user who performed it. You can review the complete history of any product to see when discrepancies first appeared. This traceability discourages theft and helps you identify training gaps.
### Inventory Adjustments
When you need to correct a stock level, the adjustment is recorded with the reason, the old quantity, the new quantity, and who made the change. This creates a clean trail for your shrinkage investigation workflow.
### Cycle Counting
Software can guide your cycle counting schedule by selecting which products to count each week. Some systems prioritise high-value items, fast-moving products, or items that have not been counted recently. This ensures your counting effort is focused where it matters most.
### Stock Taking Support
During a full physical count, you can scan products and enter quantities directly into the system. When the count is complete, the software compares your physical counts to system records and highlights every discrepancy automatically. No manual cross-referencing.
### Exception Reporting
The system can flag unusual patterns: negative stock levels, unusually high adjustments, sudden changes in inventory turnover, or products that are frequently counted as discrepancies. These exceptions tell you where to look for problems.
### Inventory Reconciliation
After a stock take, reconciliation reports show you which products had discrepancies, the size of each difference, and the total shrinkage value. You can sort by product, category, or value to focus on the most significant losses.
Solutions such as <a href="/features/inventory-management">JayaOS Inventory Management</a> include these capabilities. The software handles the data capture and reporting so you can focus on investigating and preventing the underlying causes.
## Printable Shrinkage Worksheet
Use this worksheet during your stock take to record discrepancies and track them through the investigation workflow. Copy the table for each product category or stock taking session.
<table class="w-full text-left border-collapse"><thead><tr class="border-b border-gray-300"><th class="py-2 pr-4 font-semibold">Product</th><th class="py-2 pr-4 font-semibold">Expected Qty</th><th class="py-2 pr-4 font-semibold">Physical Qty</th><th class="py-2 pr-4 font-semibold">Difference</th><th class="py-2 pr-4 font-semibold">Possible Cause</th><th class="py-2 pr-4 font-semibold">Action Taken</th><th class="py-2 font-semibold">Verified By</th></tr></thead><tbody><tr class="border-b border-gray-200"><td class="py-2 pr-4"></td><td class="py-2 pr-4"></td><td class="py-2 pr-4"></td><td class="py-2 pr-4"></td><td class="py-2 pr-4"></td><td class="py-2 pr-4"></td><td class="py-2"></td></tr><tr class="border-b border-gray-200"><td class="py-2 pr-4"></td><td class="py-2 pr-4"></td><td class="py-2 pr-4"></td><td class="py-2 pr-4"></td><td class="py-2 pr-4"></td><td class="py-2 pr-4"></td><td class="py-2"></td></tr><tr class="border-b border-gray-200"><td class="py-2 pr-4"></td><td class="py-2 pr-4"></td><td class="py-2 pr-4"></td><td class="py-2 pr-4"></td><td class="py-2 pr-4"></td><td class="py-2 pr-4"></td><td class="py-2"></td></tr><tr class="border-b border-gray-200"><td class="py-2 pr-4"></td><td class="py-2 pr-4"></td><td class="py-2 pr-4"></td><td class="py-2 pr-4"></td><td class="py-2 pr-4"></td><td class="py-2 pr-4"></td><td class="py-2"></td></tr></tbody></table>
Fill in one row per product with a discrepancy. The Difference column is Physical Qty minus Expected Qty. A negative number means you have fewer than expected. Use the Possible Cause column to classify the type of shrinkage. Use Action Taken to record what you did — adjusted the system, investigated further, or implemented a new procedure. The Verified By column should be signed off by a second person.
Keep completed worksheets in a binder or scan them into a digital folder. Over time, you will build a record of shrinkage patterns that helps you target your prevention efforts.
## Frequently Asked Questions
### What is the difference between shrinkage and stock-out?
Shrinkage is inventory that exists in the system but not on the shelf. A stock-out is when a product is not available for sale because you ran out. Shrinkage can cause stock-outs because the system says you have stock when you do not, so you do not reorder in time.
### Is inventory shrinkage taxable?
Shrinkage reduces your taxable profit because it increases the cost of goods sold. You write off the value of lost inventory as an expense. Keep detailed records of your stock take results and adjustments to support your tax filings.
### Can shrinkage be completely eliminated?
No. Some level of shrinkage is unavoidable in any retail business. The goal is to reduce it to an acceptable level — typically under 1.5% of sales — and to catch problems early before they grow. Perfect accuracy is not realistic, but consistent improvement is.
### How do I know if my shrinkage is caused by theft or an admin error?
Review the audit trail. If the system shows a stock change that you cannot trace to a sale, receipt, or adjustment, it is likely a data entry error. If the records are clean but the product is missing, theft or damage is more likely. Patterns across multiple stock takes help distinguish between the two.
### Should I confront an employee I suspect of theft?
Do not confront anyone without evidence. Use your system's audit trail to gather data first. If you see a pattern of adjustments or sales that point to a specific person, review the evidence carefully before taking action. Consult with a legal or HR professional about how to handle the situation appropriately.
### How does cycle counting help with shrinkage detection?
Cycle counting catches discrepancies between full stock takes. If you count a category every week and find a recurring shortage on the same product, you can investigate immediately instead of waiting for the quarterly stock take. This early detection prevents small discrepancies from becoming large losses.
## Building Your Shrinkage Prevention System
Reducing inventory shrinkage is not a one-time project. It is an ongoing process of measurement, investigation, and improvement. Here is a summary of where to start:
1. Calculate your current shrinkage rate. You cannot improve what you do not measure.
2. Implement barcode scanning at receiving, checkout, and stock taking.
3. Set up a consistent receiving verification process.
4. Establish an approval workflow for stock adjustments.
5. Train staff to record damage, returns, and adjustments immediately.
6. Perform regular stock taking and cycle counting.
7. Investigate every discrepancy using the six-step workflow.
8. Track your KPIs monthly and look for trends.
9. Review your shrinkage rate quarterly and adjust your prevention strategies.
Start with step one. A full physical count gives you your baseline. Once you know where you stand, the remaining steps give you a clear path to improvement.
For a complete guide on conducting your stock take, read our <a href="/blog/stock-taking-guide-small-business">step-by-step stock taking guide</a>. It covers everything from preparation to reconciliation so you can run an accurate count that gives you reliable data.
Free to use. Works online and offline. No credit card required.