A Discount Nobody Had to Authorise
A discount at this till is four columns: the sale, the line, a free-text description and an amount. No approver, no reason code, no limit and no user. It is a record of what happened, and it is not a control over whether it should have.
Ask a retailer where their margin goes and very few will say theft. Most will say discounting, and they will say it with the weary certainty of somebody who has done the arithmetic more than once.
The discount is the one giveaway that is authorised by the person giving it, at the moment of giving it, with no second party involved. That makes it structurally different from every other loss a shop suffers, and it is why a discount record is worth reading carefully before you trust it.
Four columns
The discount record in this product holds the sale it belongs to, the line it belongs to if it is a line discount, a free-text description, and an amount. That is the whole model.
| What a discount control usually has | Here |
|---|---|
| A user who applied it | No column. Attribution runs through the sale's cashier. |
| An approver, for anything above a limit | No column, and no limit to be above. |
| A reason from a fixed list | Free text. Whatever was typed, including nothing. |
| A type — percentage, amount, promotion, staff | No column. Everything is an amount. |
| A ceiling per cashier or per transaction | None. Nothing is refused. |
| The sale, the line and the amount | Yes, all three. |
Attributable to a session is not the same as attributable to a person, and one counter with two people on it is where the difference lives.
What that does and does not mean
It means every discount is recorded, permanently, against the sale that carried it, with an amount you can total and report on. That is genuinely useful and it is more than a paper till gives you. You can find out how much was discounted last month, on which lines, on which days.
It means you cannot find out who authorised it as distinct from who rang it up, why they did, or whether anybody would have said yes. And nothing at the counter will ever refuse.
Where a discount record sits on the control spectrum
No record at all
A price typed over. Common on older tills.
Amount recorded
Reportable in total. Where this product sits.
Attributed to a person
Comparable between cashiers. The first real control.
Reason from a fixed list
Analysable rather than readable.
Approved above a threshold
A second person involved. The one that changes behaviour.
Refused above a ceiling
The till says no. Rarely wanted, occasionally essential.
The step from 25 to 50 is the cheapest and the largest. Everything above 50 is refinement; below it, comparison between people is impossible.
The management practice that works anyway
Discounting is one of the few retail problems where measurement does most of the work, because it is not usually theft. It is usually a person being kind, or being tired, or wanting the queue to move.
-
Total discounts as a percentage of sales, weekly
One number, tracked over time. A shop that has never seen this number is always surprised by it.
-
Split by counter and by shift
This is the workaround for the missing user column. A counter with one person on a shift is effectively attributed, and most are.
-
Read the descriptions, once a month, out loud
Free text is bad data and excellent evidence. Ten minutes of reading tells you what your policy actually is, as opposed to what it says.
-
Publish the number to the people giving them
The single most effective intervention available, and it requires no software change at all.
The comparison that makes this concrete
In the stock module, an adjustment above a configurable value requires a specific permission and cannot be approved by the person who raised it — separation of duties, not overridable by any grant. That is what a value-gated control looks like in this product. It exists, it works, and none of it is at the till.
What AWRA OpsHub does today
- A discount record against a sale or a specific line, with an amount.
- A free-text description field, so a reason can be captured where somebody types one.
- Discount totals available in POS reporting, so the aggregate is measurable by day, counter and period.
- The sale itself carries its cashier and its counter, which is the basis of the shift-level attribution described above.
What it does not do
- A user or approver on the discount record. Four columns, and none of them is a person.
- Any threshold, limit or ceiling on a discount amount or percentage.
- Any approval step, manager override prompt or second-person authorisation at the counter.
- A fixed reason list, so discount reasons cannot be analysed, only read.
- A discount type, so promotional, staff and negotiated discounts are indistinguishable.
- Any alert on an unusual discount pattern by cashier, item or time of day.
Not ours, by choice
- The gap file records this as a priority item because it is a control gap rather than a missing convenience, and the cheapest fix — a user column — is also the one that unlocks everything else.
- This product does have value-gated approval with separation of duties, in the stock module. The absence at the till is an inconsistency rather than a position.
- Nothing here is Moroccan. Casablanca is here because counter negotiation is ordinary commercial practice in that market, which makes the difference between recording and gating a live operational question rather than a theoretical one.
What is not built for Morocco today can still be built for you
Anything described above as not built is a statement about what ships in the standard product today — not a limit on what AWRA OpsHub can do in Morocco. Kenya's eTIMS integration and its maintained payroll engine exist because Kenyan clients needed them and commissioned them; neither appeared by itself. The same door is open here. If DGI e-invoicing, a French or Arabic interface, a bank or mobile money feed, a statutory return format, a rule your own operation needs that the standard one does not have, or a link to a system you already run is what stands between you and a decision, tell us and we will scope it as a build — written spec, timeline and price — before you commit to anything.
DGI declarations and e-invoicing
Declaration output in the format the administration expects and electronic invoicing against any prescribed interface — with retries, a failure queue and a reconciliation report rather than a black box.
French and Arabic interface, banks and payments
Interface language and document templates in French or Arabic with right-to-left layout, plus bank feeds and local payment gateways wired into the Payments Register.
The operational work, which is what most commissions actually are
An extra approval stage in a chain that does not match the standard one, a custom field set on employees or assets that only your sector needs, an expiry that has to block an order rather than send an email, a report your board asks for in a shape nothing produces, or a scanner or weighbridge feeding the goods-in door. These are the commissions we are asked for most often and the smallest ones we quote — and unlike a revenue-authority pipeline, none of them waits on a regulator.
Payroll and statutory returns
IR and CNSS declarations produced in the layout your filing body expects, generated from live payroll records rather than rebuilt in a spreadsheet each month.
Systems you already run
The accounting package, CRM, online store or custom database you intend to keep — connected through our API so a fact is entered once and appears everywhere it is needed.
How it works: you describe the requirement, we return a written scope, timeline and cost, and once agreed it is built into your environment and maintained as part of the product. No roadmap slide, and no pretending in a demo that something exists when it does not.
Tell us what you need integratedOur position
Measure first. A weekly discount percentage split by counter and shift will change behaviour before any software does, and it works today with what is recorded. If you need a genuine gate — a threshold, an approver, a refusal — that is a build, and it is a small one; say so before a trial rather than after the first bad month.
Four questions about discounting at any till
Which person applied this discount?
A good answer sounds like
A name, on the discount itself.
What it actually means
Ours answers with the sale's cashier, which is the shift rather than the hand. Ask them to show you the column.
What is the largest discount that can be given without anyone else?
A good answer sounds like
A number.
What it actually means
If the answer is "there is no limit", the system records discounting and does not govern it. That is ours, stated plainly.
Is the reason a list or a text box?
A good answer sounds like
A list.
What it actually means
A text box gives you evidence you must read. A list gives you data you can chart. Both are useful; only one scales.
Show me discounts by cashier for last month.
A good answer sounds like
A report, immediately.
What it actually means
The measurement above depends entirely on this existing. Check it rather than assuming it.
Ask for the four columns
Whatever till you are evaluating, ask what a discount record actually stores. It is a short answer, and it tells you immediately whether you are buying a control or a receipt.
Talk about till controlsFrequently asked questions
Can I stop cashiers discounting entirely?
Not with a rule at the till. Discounting is controlled by who is permitted to use the sale screen and by what you tell them, not by a refusal in the software — there is no threshold to configure.
Does the receipt show the discount?
Yes, as a line the customer can see, which matters more than it sounds: a discount visible on the customer's copy is a discount the customer would query if it were not real.
Would a manager PIN at the counter be enough?
It is the usual shape and it would need an approver column to record anything, which is the same build. A prompt that authorises nothing durable is theatre; the value is in the record it leaves behind.