Credit refunds
A credit refund pays the customer back as store credit instead of cash from the drawer. The same 5-step return wizard drives it — invoice lookup, line picker, dispositions, defect routing, confirm — only the settlement account at the final step changes. The refund builds the customer’s running balance so they can spend it next visit, withdraw it later, or apply it to outstanding debt.
When to use credit vs cash refund
Pick the destination by what the customer wants and what the till can accommodate.
Use store credit when…
- The customer is happy to spend it on a future purchase (and is likely to come back).
- The cash drawer is running low or no shift is open.
- The original sale was on a card terminal that’s offline — credit avoids reversing through a disconnected device.
- A regular customer with an open tab is returning something — credit can offset their debt cleanly without two separate cash movements.
Use cash (or original method) when…
- Customer specifically asks for cash and you have it.
- The original sale was a one-off (no expectation of a return visit).
- Local consumer-protection rules require cash refunds for the original tender method.
The flow — same wizard, one different choice
Open the wizard
Either click Apply Refund on the invoice detail page, or hit Ctrl R from POS to start a fresh wizard.
Steps 1 to 4 — same as any other refund
Pick the invoice, the lines, the per-unit dispositions (resaleable / defect / dispose), and route any defects. None of these steps differ from a cash refund. See the wizard deep-dive for the per-step mechanics.
Step 5 — pick Store credit as the refund destination
At the confirm step, the refund-destination picker offers Cash, the original payment method (when the original sale was on card or transfer), and Store credit. Pick Store credit. The amount field is locked to the computed refund total — you cannot partially split between cash and credit at this step.
Confirm
The refund posts atomically. The customer’s creditBalance increases by the refund amount, a type='credit' transaction lands in customer_credit_transactions linked back to the return, and the journal entry posts.
What posts to the books
For a 300 refund issued as store credit:
- DR 4020 (Sales Returns) 300 — contra-revenue
- CR 2100 (Customer Credits) 300 — liability owed to customer
Compare with the same refund taken in cash:
- DR 4020 (Sales Returns) 300
- CR 1010-xxx (cash sub-account) 300
The contra-revenue side is identical — both flows reduce net revenue equally on the P&L, so the gross-profit figure is the same. The settlement account is the only line that flips: cash drains the drawer; credit grows the customer’s running balance.
If the original sale carried VAT or shipping, those reverse on additional lines (DR 2020 for VAT and DR 4040 for shipping), but the customer-side total — what hits 2100 — is the gross refund amount including VAT and shipping. The customer takes back what they paid, including taxes; the books unwind every leg of the original sale.
Debt deductions — closely related path
If the customer already owes you money (open partial invoices, opening balance), a third refund destination appears: Apply to debt. This routes the refund as a payment against AR rather than to credit or cash:
- DR 4020 (Sales Returns) 300
- CR 1100 (Accounts Receivable) 300
The contra-revenue posts the same way; the customer’s balance decreases. No cash moves. No credit is created. This is the cleanest way to handle “customer is returning a defective item and they still owe 200 from last month” — the refund clears that 200 and any remainder can spill into credit on a separate transaction if the customer prefers.
Friction to know about
- Step 5 doesn’t show Store credit as an option — the customer wasn’t attached to the original invoice, or the customer has been deleted. Refunds that lack a customer reference can only refund to cash or the original payment method. If you need credit, edit the invoice’s customer first (when permitted) or use cash and create a manual credit adjustment afterwards.
- Credit balance didn’t update after refund — the wizard’s confirm step was interrupted (network hiccup, page closed mid-submit) and the return landed in
pendingstatus. Find the return in the Returns list and resume it. The credit transaction only writes when the return reachescompleted. - The “Apply to debt” option doesn’t appear — the customer has no debt (
balance = 0). If they only have credit balance, the option is hidden.
Where it shows up afterwards
- Customer detail header — net balance recomputes; cyan credit badge if the refund pushed the customer into credit territory.
- Customer statement — one row dated to the refund, with the running balance reduced (or pushed negative).
- Returns list — the return record carries a Credit chip alongside the refund amount.
- Trial balance —
2100credit balance grows;4020debit balance grows by the same amount. - Balance sheet —
2100Customer Credits liability rises.