Skip to content

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.

Updated 5 May 2026·For v2.2.0·4 min read

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

1

Open the wizard

Either click Apply Refund on the invoice detail page, or hit Ctrl R from POS to start a fresh wizard.

2

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.

3

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.

return wizard · step 5 · refund destination · store credit selected
4

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.

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 pending status. Find the return in the Returns list and resume it. The credit transaction only writes when the return reaches completed.
  • 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 balance2100 credit balance grows; 4020 debit balance grows by the same amount.
  • Balance sheet2100 Customer Credits liability rises.