Skip to content
EncoderPOS8 min read

How POS Inventory Management Works

Every shop owner has had the same conversation. The system says eleven, the shelf says seven, and nobody can say when the four went missing.

Stock figures rarely break in one dramatic moment. They drift — a sale rung up under the wrong product, a delivery received on paper but not in the system, a return handed back over the counter and never recorded. Each is small. Together they make the number on the screen something you check rather than trust.

The one rule: every movement is a transaction

Accurate inventory is not a matter of counting more often. It is a matter of making sure there is no way for stock to move without the system knowing.

There are only five ways stock legitimately moves: it is sold, it is purchased, it is returned by a customer, it is returned to a supplier, or it is transferred between branches. If all five are transactions in the same system that holds the stock figure, the figure cannot drift. If any of them happens somewhere else — on paper, in a notebook, in a second system — it will.

This is why inventory bolted onto a POS as a separate module tends to disappoint. The reconciliation between the two is exactly where the drift lives. In EncoderPOS the stock figure and the sale are the same record: billing a product decrements it, receiving a purchase order increments it, and a credit note puts it back.

Reorder points: knowing before the shelf is empty

The second inventory problem is not accuracy, it is timing. Being out of stock on a fast line costs more than carrying it, and you usually find out from a customer.

A reorder point is a number you set per product — the level at which you need to order more. When stock falls below it, the product surfaces on a low-stock report instead of waiting to be noticed.

Setting them is less scientific than it sounds. Take how many you sell in a typical week, multiply by how many weeks the supplier takes to deliver, and add a little. Revisit the fast lines after a season. Products that never trigger the alert have their point set too low; products that are always on the list have it set too high or a supplier problem.

Batches, expiry dates and serial numbers

A plain stock count — 'we have 40' — is enough for a t-shirt. It is not enough for a medicine, a carton of milk or a laptop.

Three ways a unit needs to be individually identified

  • Batches group units that arrived together, usually at the same cost. A pharmacy or grocery needs this to rotate stock and to pull a specific delivery if there is a problem with it.
  • Expiry dates turn dated stock into a report rather than a shelf inspection. What expires in the next thirty days is a question the system should answer.
  • Serial numbers identify a single unit. For electronics this is what ties a warranty claim to the sale that created it.

Landed cost, and why your margin report may be wrong

This is the part most shops get wrong, and it is the one that changes decisions.

Suppose you buy a product for Rs 800 and sell it for Rs 1,000. Your margin looks like 20%. But the shipment cost Rs 40 a unit in freight and duty, so the real cost was Rs 840 and the real margin is 16%. Across a thin-margin category, that difference decides whether a line is worth stocking.

Landed cost means recording freight, duty and handling against the goods receipt and apportioning it across the units received, so each unit carries what it truly cost to put on the shelf. EncoderPOS captures landed cost at goods receipt and then records that cost on the sale line when the unit sells.

The second half of that sentence matters as much as the first. If a report prices profit using today's purchase price rather than what the sold unit actually cost, your historical margins change every time a supplier raises a price. Cost belongs on the sale line, fixed at the moment of sale.

Returns, and the bestseller that is not one

A product that sells 500 units and has 180 handed back is not a bestseller, but it will look like one in any report that ranks by units sold or gross revenue.

Returns have to be netted off before anything is ranked — and the return has to move the stock back into inventory at the same time, or the count drifts again. Handling a return as a credit note that adjusts stock, revenue and the customer balance in one operation is the only version of this that holds together.

Multi-branch: the same stock, in the wrong place

Once there is a second outlet, a new problem appears that has nothing to do with accuracy: stock is correct, and it is at the wrong branch.

Solving it needs two things. A per-branch view, so you can see where the units actually are, and transfers recorded as movements rather than as an adjustment out of one branch and an adjustment into another. Recorded transfers keep both branches' history intact. Adjustments quietly destroy it.

Multi-branch stock and transfers are what turn three shops with a stock problem into one business with three shelves.

A short checklist

If you are auditing your own setup, these are the questions that find the drift.

Where accuracy is usually lost

  • Can stock move without a transaction being recorded? Deliveries signed for on paper are the usual culprit.
  • Are returns recorded as credit notes that move stock, or handed back informally?
  • Does your profit report use the cost at the time of sale, or today's purchase price?
  • Is freight included in unit cost, or treated as a separate expense?
  • Do reorder points exist on your top fifty lines, or only in someone's head?
  • Are branch transfers recorded as transfers, or as two adjustments?

Where to go next

Inventory accuracy is a structural property, not a discipline. Get the transactions right and the count follows.

See how EncoderPOS handles inventory, or read what to look for when choosing POS software for a small business.

See how EncoderPOS handles all of this

Point of sale, inventory, purchasing, branches and reporting in one system. Seven days free, no card required.

  • No card required
  • 7-day free trial
  • Setup help included