Returns are where billing software usually gets vague, which is a problem, because returns are where arguments start.
Tied to the original bill
A sales return is raised against the bill it came from, and it keeps that link โ the parent bill number and date travel with it. You are never guessing which sale a refund belongs to.
Cash back or store credit
When you settle it, you say how: a cash refund handed back, or store credit left on the customer's account. Whichever you pick, the reversal posts to the ledger, so the customer's balance and your day's cash both reflect it without a second entry. A return can also be cancelled, and that cancellation reverses cleanly too.
Related posts
Why we built billing that keeps working with the internet down
The connection drops exactly when the queue is longest. Here is what ZingBills does instead of showing you a spinner.
Fourteen reports, and the two we would open first
Sales tell you how busy you were. Profit tells you whether it was worth it. Start with the item-wise breakdown.
Expiry dates that discount themselves
Set the window once, and the discount starts appearing on the billing screen before the stock turns into a write-off.