A coded reason for a void, a return or a discount
The customer asks: A coded reason when a cashier voids, returns or discounts
- Verdict: Ready, with limits (3)
- Door: Configure · area: Till controls and approvals › Cash, voids and returns
- Recipe: Set a shop up with no code
- Sample: S5 — the configuration pack: reasons, IMEI, a line detail, member pricing
- Checked: carried 2026-10-15 · not re-run
What you build
Reason Code Master rows and the switch for each type in Retail Setting (a void reason also needs save_voided_transaction).
Limits
- The till asks for the reason, but the server does not insist: a sale discount with no reason code still books.
- Item-return and sale-return reasons: not run.
- Offline: not run.
Tell the customer
The cashier picks a coded reason for each void, return and discount, and the reason is kept on the sale.
What next
- Tell the customer the 3 limits above, and write them into the proposal.
- Follow the recipe: Set a shop up with no code.
- Copy the sample: S5 — the configuration pack: reasons, IMEI, a line detail, member pricing, and change it.
- Build and test it on your sandbox (request one if you have none; what is on it).
- Check it on your sandbox as the people who will use it; where it touches a price or a total, the money kit's release gate proves it (testing and release).
- Make the same settings on the customer's site, from the list you wrote down, through the customer's own change process.
Nothing to code: write down each setting you make on your sandbox, so it is made the same way on the customer's site.
Related needs
- Members pay less, by tier — Ready, with limits (5)
- One more detail on a line, for goods with no serial number — Ready, with limits (2)
- Record the IMEI of every phone sold, and never sell one twice — Ready, with limits (2)
- Cashiers count the drawer without seeing what the till expects — Ready
Start a project shortlist with this need · Put it in your blueprint · Every need