Point-of-sale software is bought to solve a counter problem: bill the customer quickly and accurately, print a receipt, take the payment. Most systems do that well, and once the queue moves, the purchase is considered successful.
The consequence is that POS is evaluated as a till and deployed as one. Meanwhile the data crossing that counter is the most complete record a retailer has of what customers actually do — and in most installations it is used to answer one question.
Sales is not margin
Every POS reports revenue. Far fewer report contribution, because that requires cost of goods to be current, and keeping it current requires purchasing to be connected to selling.
Without it, a branch can grow revenue while shrinking profit — discounting to hit a sales target, shifting mix towards high-turnover low-margin lines — and every report on the manager's desk will look like success. The correction arrives at year-end from the accountant, months after the behaviour that caused it.
The minimum useful version
Cost of goods attached to the item at the point of sale, so every transaction carries its own margin. Not a monthly average applied retrospectively — that smooths away exactly the variation you needed to see.
Four questions a POS should answer and usually cannot
Which branch is drifting?
Not which branch sells most — that is mostly a function of location and footfall. Which branch's stock accuracy, discount rate, void rate or basket size has moved relative to its own history. Absolute comparisons between branches tell you about their catchments. Trend comparisons against themselves tell you about their management.
What is not selling?
Sales reports are built around what sold, so slow-moving stock is defined by absence and is correspondingly hard to see. Yet it is where working capital goes to sit. A report of lines with stock on hand and no movement in sixty days is trivial to produce and rarely produced.
When do we actually need staff?
Transaction timestamps describe the shape of the trading day precisely — where the peaks are, how long they last, how much they differ by branch and by weekday. Rosters in most retail businesses are set by convention and adjusted by complaint. The data to set them properly is already in the system.
Which discounts are we actually giving?
Discretionary discount at the counter is a normal part of retail and a normal place for margin to leak. Recording it as a discount reason code rather than an adjusted price is a small configuration decision with a large reporting consequence: it turns an invisible cost into a measurable one, per branch and per operator.
Stock accuracy is the foundation
None of the above is reliable if the system's stock figure does not match the shelf, and in most retail businesses it does not. Every sale, return, transfer, breakage, sample and purchase must move stock, and the ones that get skipped are always the manual ones: the breakage nobody recorded, the transfer done by phone.
Two practical measures help more than any report:
- Cycle counting rather than annual stock-take. Counting a rotating subset continuously catches drift while it is still small and traceable, instead of producing one large unexplainable adjustment a year.
- Making the correct path the easy path. If recording a breakage takes six taps and ignoring it takes none, it will be ignored — and no amount of policy changes that.
Offline is not an edge case
In many markets, connectivity at the counter is intermittent. A POS that stops selling when the line drops is not a POS; it is a website with a cash drawer. The counter must keep operating locally and reconcile when the connection returns — which also means the sync must handle conflicts properly rather than assuming the last write wins.
This is worth testing before purchase, not after. Ask to see a sale completed with the network disconnected, and then ask to see what happens to the stock figure when it comes back.
Key takeaways
- Most POS systems report revenue accurately and margin badly, because cost of goods is not kept current.
- Attach cost of goods at the point of sale so every transaction carries its own margin.
- Compare branches against their own history, not against each other — absolute comparisons mostly describe catchment.
- Slow-moving stock is invisible in sales reporting by construction, and it is where working capital sits.
- Stock accuracy underpins everything: cycle count continuously and make the correct path the easy one.
- Test offline selling and reconciliation before buying, not after.
Questions or a correction? Contact the 2M team. Examples explain a method; results depend on your operation and configuration.
