Skip to content
Shops & retail

Stock and counter sales for Cambodian shops

A flat monthly price, no per-employee charge, and no HR or payroll you do not need. Just stock, customers, and a clean sales trail.

Riel change, rounded to the nearest 100

A Cambodian shop quotes in dollars, takes payment in either currency, and gives change in riel rounded to the nearest 100 — because notes below that are not in practical circulation. Every one of those roundings is a few hundred riel of variance, and across a busy day across several tills it is a real number that has to land somewhere in the accounts rather than being absorbed silently by whoever counted the drawer. Humaneti applies the rounding rule at the till, records the rounding difference as its own line, and carries it into the day's reconciliation so the variance you investigate is genuine variance rather than arithmetic.

Closing a drawer that holds two currencies

A single-currency close is a subtraction. A dual-currency close is not: the cashier counts dollars and riel separately, the system expects a specific mix based on the day's sales and the rate the till was set to, and a shortfall in one currency can be a surplus in the other because someone gave change from the wrong side. Humaneti closes each currency on its own line, shows the expected against the counted for both, and requires a reason on a variance above a threshold you set. The shift cannot be closed without it, which is what turns "the drawer was short again" into a specific cashier, a specific shift and a specific amount.

Where the stock actually went between counts

Shrinkage in a small Cambodian retail operation is usually not theft. It is a transfer between outlets nobody wrote down, a damaged item thrown away, a promotional giveaway, or a sale rung up against the wrong SKU. If the only two data points are last quarter's count and this quarter's, all four look identical and none can be fixed. Humaneti requires a reason code on every non-sale stock movement, so the quarterly variance decomposes into categories you can act on — and a branch whose "damaged" line is four times everyone else's becomes visible without anyone having to go looking.

Paying staff who worked four shifts across two branches

Retail payroll is not a monthly salary problem, it is a rota problem. Part-time and casual staff move between outlets, cover shifts at short notice, and are often paid a different rate for a Sunday or a late close. Reconstructing that from a paper rota at month-end is where the errors and the arguments come from. Humaneti derives payroll from the shifts actually worked and approved at the branch, so the manager who knows whether someone turned up is the one who confirms it, and the payroll officer is assembling an already-agreed number rather than adjudicating a dispute.

Promotions that have to end when they end

A price change in a small retail chain is rarely one action. It is a decision, a shelf label, a till configuration, and — if any outlet misses one of those — a week of selling at the wrong price and a reconciliation nobody can explain. Cambodian retailers run more of these than most, because seasonal and festival promotions are a real part of the calendar rather than an occasional campaign. Humaneti holds the price and its validity period against the item rather than against the till, so a promotion starts and ends everywhere on the same date without anyone visiting each outlet. The version that was live on a given day is retained, which is what makes a customer query about last week's price answerable rather than a matter of opinion.

Knowing which outlet actually makes money

Most small chains know their total margin and guess at the per-branch one, because rent, staff and stock losses are recorded centrally while only sales are recorded per site. That guess is usually wrong in a specific and expensive way: the busiest outlet looks the most profitable because it sells the most, when its labour cost per dollar of sales is the highest in the group. Humaneti codes staff cost, stock movement and expense claims to the branch that incurred them, so contribution per outlet is a report rather than an argument — and the branch that should be closed, or the one that deserves another member of staff, is identifiable before the annual accounts confirm it a year late.

Cash that has to reach the bank

Retail in Cambodia is still substantially a cash business, and the gap between the drawer being counted and the money being banked is where most losses actually occur — not at the till, but in the hours afterwards. A close that produces a figure and nothing else leaves that gap unrecorded. Humaneti carries the counted amount forward as a balance held by a named person until a banking record clears it, so an unbanked float has an owner and an age rather than being an assumption. It is a small piece of process, and it is the one that most reliably reduces unexplained variance in a multi-outlet operation, because it makes the handover a record rather than a habit.

Counting stock without closing the shop

A full stocktake means closing, and closing means a day of lost trade — which is why small Cambodian retailers do it rarely and then discover a quarter's worth of drift at once. Cycle counting is the alternative: a short count of a small section, done frequently enough that a discrepancy is found while its cause is still identifiable. The obstacle is rarely willingness; it is that a partial count against a system which only understands full counts creates more confusion than it resolves. Humaneti accepts a count for a subset of items and adjusts only those, keeping the variance and its reason against that count. Done weekly on a rotating section, the quarterly surprise disappears and the annual stocktake becomes a confirmation rather than an investigation.

What to reconcile at the end of every trading day

  • Dollars counted against dollars expected, and riel against riel — never a single combined figure.
  • The rounding difference as its own line, so it is not mistaken for a shortfall.
  • A reason recorded on any variance above your threshold, before the shift can close.
  • Non-sale stock movements coded — damage, transfer, giveaway — not left to the quarterly count.
  • The float handed over to a named person, with the banking that clears it.

Problems we hear about

  • Stock counted by hand and never matching the shelf

  • Sales written in a notebook with no customer history

  • Paying for HR and payroll features a small shop will never use

What changes with Humaneti

  • Flat monthly price with no per-employee charge
  • Stock deducted automatically as goods are sold
  • Move up to SME when you need HR, payroll, or accounting

Recommended modules

A practical rollout path

  1. 1

    Map the current Shops & retail process, owners, records, and control gaps

  2. 2

    Configure shared people, organization, project, budget, and role context

  3. 3

    Roll out the highest-priority workflows with approvals and evidence

  4. 4

    Measure adoption, exceptions, cycle time, and reporting readiness

Talk to our team

Get a walkthrough tailored to your operations.