Void vs refund: what is the difference?
A void cancels a sale before the card batch has settled, so no money moves; a refund sends money back after the sale has settled.
Both undo a sale, but they work at different points in the payment's life. A card payment is first authorised, then held in the terminal's open batch until the batch closes, and only then settled to the merchant's bank. A void removes the transaction from the open batch: the charge never settles, and the customer usually sees the pending amount drop off. A refund is a new transaction in the opposite direction, used once the original has settled.
That difference matters for fees and timing. A void normally costs nothing, because the transaction never settled. A refund is processed like a sale in reverse, may still carry a fee on the original charge, and can take several business days to reach the customer's account. If a mistake is caught the same day, void it. If the customer comes back tomorrow, refund it.
For cash the difference is mostly about records. A void says the sale should never have happened (wrong item rung, duplicate sale). A refund says the sale happened and the goods came back. Both should need a manager's permission and both should show on the end-of-day report, because voids and refunds are where most till fraud hides.
In SeroPOS both live in Recent Transactions in the side drawer: open a sale and choose Void Sale or Refund Sale, then pick which payment to void or refund. Card voids and refunds run on the terminal. To return a single item, turn on Return on the cart line instead. Refunds and edits are controlled by role permissions, and returns show on the DSR.
At 1:10 pm a server rings a $38.50 lunch twice on the same card. The manager voids the duplicate before the batch closes at 11 pm, so the customer is never charged. A week later a guest returns a $60 bottle of wine bought on credit; the batch has long settled, so the store issues a $60 refund to the same card.