Refunds and returns

Money back and stock back are two separate decisions, and the screen asks them separately.


A refund is never an edit. The original sale stays exactly as it was recorded, and the refund is a new document written against it, so the history of what happened remains readable afterwards. Every refund answers two questions: how much money goes back to the customer, and whether the goods return to the shelf.

Who can give a refund

Refunding is deliberately not a cashier's permission. The Owner and Manager roles carry it as standard and the Cashier role does not, for the same reason a cashier cannot void a bill or apply a discount: these are the three acts that make money disappear, and a shop is safer when they need a second person. If you need refunds to be part of a cashier's job in your shop, the Cashier role is yours to edit and the permission can be added to your own copy of it.

The money

Money goes back only up to what the customer actually paid in cash or by card on that bill. A cash refund comes out of the drawer, and the shift expects to be lighter by exactly that amount when it is counted at the end. The part of a bill paid with loyalty points or put on a customer's account is never paid out of the drawer: it goes back to the points or to the account, as described below.

The stock

Whether the goods go back on the shelf is a choice you make on each refund, not something that happens automatically. Choosing to put the stock back appends compensating movements through the same ledger every other stock change goes through. Choosing not to, which is the damaged-goods case, returns the money and writes no stock movement at all, and the decision itself is recorded on the refund so that the gap between money returned and stock returned is explainable later.

When a void is the right thing instead

A void is a full refund of an entire bill. It returns the whole amount, puts every item back into stock through the same stock ledger, and closes the bill for good: afterwards it will take no further refunds and no further payments. It cannot be undone. Use it when the whole transaction was a mistake, and use a refund when the customer is genuinely bringing part of a real sale back.

Loyalty points and account customers

A refund on a customer's bill settles both of their balances for you. Points the customer earned on the refunded goods are taken back, points they spent on the bill are returned to them, and the part of the bill that was put on their account is credited back to it. Each is worked out in proportion to how much of the bill is refunded, so two part refunds add up to exactly one full one. Every one of these movements is a new line in the customer's history rather than an edit, so their statement shows what happened and when.