Stock Discrepancy: 7 Reasons Your Stock Doesn't Match and How to Fix It

A stock discrepancy between your app and your shelves can usually be traced. Learn 7 common causes, how to prevent them, and how to trace them in stock history.

A stock discrepancy happens when the quantity in your records or POS app differs from what is actually on the shelf. It usually comes down to one of seven things: incoming goods not recorded, sales rung up as a custom item, unit mix-ups, damaged goods not recorded, goods used by the shop owner, input errors during a stock take, or goods that went missing.

The good news is that most discrepancies can be traced and prevented with small habits. Below you will find how to recognize each cause, a worked example of tracing the numbers, and the steps on iPhone or iPad.

7 causes of stock discrepancy and how to prevent them

Look at which way the difference goes. If the stock in the app is higher than the physical count, some goods went out without being recorded. If it is lower, some goods came in without being recorded.

1. Incoming goods not recorded

Goods arrive from the supplier and go straight onto the shelf, but the purchase is never entered. The stock in the app ends up lower than on the shelf, and an item can look "sold out" when it is actually there.

How to prevent it: record the purchase when the goods arrive, before the carton is opened. Keep supplier invoices in one folder and make one person responsible for recording incoming goods.

2. Sold as a custom item even though the product exists

The cashier is in a hurry, cannot find the product in the list, and sells it as a custom item instead. The money is recorded, but that product's stock does not go down. The result is app stock higher than physical stock.

How to prevent it: make it a rule that custom items are only for goods not yet entered, services, or money that is not from a product. Whenever a custom item is used for a new product, add that product the same day.

3. Unit mix-ups: cartons and pieces confused

A purchase of 2 cartons of mineral water with 24 bottles each is recorded as 2 bottles, so the app shows 46 bottles fewer than the shelf. The other way round, a sale of 1 carton recorded as 1 bottle leaves the app 23 bottles higher than it should be.

How to prevent it: always keep stock in the smallest unit, then create carton or pack units with their own contents and barcode. The wholesale and retail pricing per carton and per piece guide explains how.

4. Returns, damage, or expired goods not recorded

Dented goods are thrown away, expired milk is pulled from the shelf, or goods are sent back to the supplier, but nobody records it. The app stock ends up higher than the physical stock.

How to prevent it: set aside one box just for damaged and expired goods. Record the reduction when an item goes into the box, not at the end of the month.

5. Goods used by the owner or staff

Sugar for the home kitchen, instant noodles for staff lunch, or plastic bags for shop use. The amounts are small, but if it happens every day, you will feel the gap at the end of the month.

How to prevent it: agree on a "take it, record it" rule. Goods used by the household or staff are recorded as a stock reduction, or paid for like any other customer would.

6. Input errors during a stock take

Similar variants get swapped, for example the 600 ml and 1.5 L sizes. A number may also be mistyped or a shelf counted twice. The telltale sign: a discrepancy appears, then "disappears" at the next stock take in the opposite direction.

How to prevent it: do stock takes in pairs, one person counting and one recording, then recount products with large differences. The full steps are in the stock take guide.

7. Missing goods

Goods taken by a customer without paying, sent to the wrong place, or gone without a trace. This is the least pleasant cause, so make sure you have checked the other six before concluding that goods were lost.

How to prevent it: keep small, high-value items near the checkout counter, keep the shelves visible from the register, and count high-risk items more often. For money and transactions, also read how to prevent cashier theft with fair rules.

How to trace a stock discrepancy through its history

Every product follows the same formula: Opening + In − Out = Closing. If the closing stock in your records differs from the physical count, look for the part where the numbers do not add up.

An example for 600 ml mineral water during October:

DescriptionQuantity (bottles)
Opening stock, October 1120
In: purchase of 2 cartons of 24+48
Out: sales−33
Out: damaged (leaking packaging)−2
Closing stock in records133
Physical count, October 31109
Discrepancy−24

The math: 120 + 48 − 35 = 133, because the 35 bottles out are 33 sold and 2 damaged. The physical count is 109, so the discrepancy is 109 − 133 = −24 bottles.

24 is exactly the contents of one carton. That is a strong clue: most likely one carton was sold as a custom item, or one carton was recorded as received before it actually arrived.

An order you can follow when tracing:

  1. Make sure the physical count is right. Count again, including stock in the storeroom and under the counter.
  2. Match incoming goods against supplier invoices. The number of cartons on the invoice should match what was recorded.
  3. Check sales around suspicious dates. Look for sales with custom items or odd quantities.
  4. Read the pattern in the numbers. A discrepancy that is a multiple of a carton's contents is usually a unit problem. Small differences that keep appearing are usually goods used by the shop, damaged, or missing.
  5. Ask the team without accusing anyone. Often someone remembers, for example "yesterday someone bought a whole carton".

Fixing stock discrepancies in KasirPOS (iPhone/iPad)

KasirPOS is an iPhone POS app and iPad app that records every stock change as history: sales, purchases, stock counts, and returns. This history is your main tool for tracing discrepancies.

View stock history per product

In the Products tab, open the product and choose Stock History. You can see when stock went up or down and why. For all products at once, open More › Stock, Purchases & Stock Count › Stock History for All Products.

Use the Stock Report for a period

The Stock Report in the same menu shows Opening, In, Out, and Closing for each product. It looks much like the example table above, so you only need to compare the Closing figure with your physical count.

Record incoming goods and non-sale outgoing goods

Goods from suppliers are recorded in More › Stock, Purchases & Stock Count › Purchases / Stock In. Damaged, expired, or self-used goods are recorded per product with Adjust / Count Stock on the product page; write the reason in the notes.

When to use Check & Fix Stock

The More › Stock, Purchases & Stock Count › Check & Fix Stock menu recalculates each product's stock figure from its history. Use it when a product's stock figure does not match the total of its own history.

This menu does not count the goods on your shelves. If goods really were lost or damaged without being recorded, the history does not know about it either. To bring the app in line with the shelves, you still need a stock take.

Tip: The order is: run Check & Fix Stock, trace the history for large discrepancies, then do a stock take. The stock take figures become the new stock that matches the shelves.

Keep an eye on low stock

Fill in Min Stock for each product so the app warns you when stock runs low. The list is in More › Stock, Purchases & Stock Count › Low Stock. Items that keep running out on the shelf while the app still shows stock are a sign of a discrepancy worth checking.

KasirPOS can also send a daily low-stock reminder as a notification on your iPhone or iPad. Turn it on in More › Widget & Stock Reminders.

Help on the product and stock menus is on the KasirPOS support page.

Small habits that keep stock accurate

  • Record purchases when goods arrive, not later that night.
  • Get used to scanning barcodes with an iPhone or a scanner at the register so the right product is always sold, not a custom item.
  • Keep carton barcodes and piece barcodes separate.
  • Record damaged, expired, returned, and self-used goods the same day.
  • Do a rolling stock take of one or two shelves every week.
  • Treat discrepancies as a process problem, not a hunt for someone to blame.

Frequently asked questions

Why is the stock in my POS app different from the stock on the shelf?

Usually because some goods came in or went out without being recorded. Examples: a purchase not yet entered, goods sold as a custom item, cartons and pieces mixed up, damaged or self-used goods not recorded, input errors during a stock take, or missing goods. Trace it through that product's stock history, then correct it with a stock take.

How much stock discrepancy is normal?

There is no single number that applies to every shop. It is more useful to calculate the discrepancy in rupiah and compare it month to month. If the value goes up, or discrepancies keep showing up on the same products, a process needs fixing. Set your own tolerance that makes sense for your shop.

Does Check & Fix Stock in KasirPOS match the stock to the goods on the shelf?

No. Check & Fix Stock recalculates stock figures from the history recorded on your iPhone or iPad, so the figures match their history. Goods lost or damaged without being recorded cannot be detected from the history. To match the app's stock to the goods on the shelf, do a stock take.

How do I record damaged goods so the stock stays accurate?

Record the stock reduction on the day you find the damaged goods, with the reason. In KasirPOS for iPhone and iPad, open the product in the Products tab, choose Adjust / Count Stock, reduce the quantity, and write the reason. The change goes into the stock history, so it is easy to trace at the next stock take.

KasirPOS for iPhone and iPad

Record sales, stock, and customer debt from your phone or iPad. Every feature is free, with no ads, no account to sign up for, and it keeps working without internet.

Download on the App Store