Who can use this: Owner, Manager, Accountant. URL / Route:
/finance/ar/refund-receipts(finance.ar.refund-receipts.index). Detail:finance.ar.refund-receipts.show,edit,update,create,store,destroy. Action endpoints:finance.ar.refund-receipts.post,void,feature:tracker.credit_notesANDfeature:tracker.record_offline_payments(both default: enabled). Permissions:sales.refunds.view,sales.refunds.create,sales.refunds.edit_draft,sales.refunds.delete,sales.refunds.post,sales.refunds.void.
Purpose
A Refund receipt records cash going back to a customer — the actual money-out movement that pairs with a Credit note. Use it when:
- a customer returns goods and you refund the money,
- a customer overpaid and you return the excess,
- a deposit is being returned because a sale fell through.
The difference between this and a Credit note: a credit note only reduces the customer's AR balance (bookkeeping). A refund receipt also debits Cash/Bank — it's an actual disbursement.
Step by step
Browse refund receipts
Open /finance/ar/refund-receipts. Each row shows the number, date, customer, amount, source account (Cash/Bank), and status.
Create a refund receipt
Route: finance.ar.refund-receipts.create / store. Permission: sales.refunds.create.
- Click New refund receipt.
- Pick the Customer.
- Set the Date.
- Pick the Source account — the Cash / Bank account the refund is paid from.
- Enter the Amount and a Reference / Method (Cash / Bank transfer / Card / Cheque).
- (Optional) Link the originating Credit note or Invoice for the audit trail.
- Save as Draft or Save and Post.
Edit a draft / Delete a draft / Print a PDF
finance.ar.refund-receipts.edit / update for drafts; finance.ar.refund-receipts.destroy to delete drafts; finance.ar.refund-receipts.pdf for the PDF.
Post a refund receipt
Route: finance.ar.refund-receipts.post. Permission: sales.refunds.post.
Writes the GL journal:
- Debit the customer's AR control account (reducing the credit owed to them), OR Debit a Refunds expense account, depending on whether the refund consumes an existing credit balance or creates one from scratch.
- Credit the Cash / Bank account.
If the refund applies to a Credit note's unapplied balance, the credit note's open amount is reduced by the refund amount.
Void a posted refund receipt
Route: finance.ar.refund-receipts.void. Permission: sales.refunds.void.
Reverses the GL journal, restores the Credit note's unapplied balance (if linked), and marks the refund Void. Use when the refund was issued in error.
How the journal looks
A JOD 117 refund that consumes an existing credit note's unapplied balance:
| Account | Debit | Credit |
|---|---|---|
| AR — Customer credit (note) | 117.00 | |
| Bank | 117.00 |
The credit note's unapplied balance drops to zero; the cash leaves the bank.
A JOD 117 refund without a linked credit note (e.g. customer never had a credit on the books — the refund creates one and immediately settles it):
| Account | Debit | Credit |
|---|---|---|
| Refunds & allowances (expense) | 117.00 | |
| Bank | 117.00 |
A partial refund of a JOD 117 credit note — refunding only JOD 50, leaving JOD 67 on account:
| Account | Debit | Credit |
|---|---|---|
| AR — Customer credit (note) | 50.00 | |
| Bank | 50.00 |
The credit note's unapplied balance becomes JOD 67 and stays available for future invoices.
Common mistakes
- "Source account must be Cash / Bank." Refund receipts cannot be paid from payment-receivable accounts, Undeposited Funds, or AR accounts. Pick the real bank or cash account the money is leaving.
- "I issued a refund but the credit note still shows the same unapplied balance." The refund only reduces the credit note's unapplied balance if you linked the credit note on the refund. Re-open the refund, link it, and re-post.
- "Period locked" → posting and voiding both blocked. Issue the refund dated in an open period if appropriate.
- Currency mismatch. The customer's currency determines the refund currency. To refund in a different currency, settle the credit note in the customer's currency first, then use the bank's FX features to pay them in another.
Behaviour and rules
- Refund-receipt JE source label. On the Journal entries page, the refund JE is tagged with the green Refund Receipt chip.
- Payments page. Refund receipts also surface on the Payments page tagged Refund Receipt with a Money In chip (from the customer's perspective the money goes back, but from the books' perspective the cash account is credited — the Payments page presents the workflow, not the GL direction). Filter to
source_kind=refund_receiptto see all of them. - Period lock. Posting / voiding require the date's period to be open.
- Source account must be a real cash / bank account — payment receivables and Undeposited Funds do not qualify.
Permissions / restrictions
- View / create / edit drafts / post:
sales.refunds.{view,create,edit_draft,post}. - Void / delete drafts:
sales.refunds.{void,delete}.
Related
- Credit notes — the bookkeeping side of customer credits.
- Retainers — refund the unallocated balance of a retainer.
- Sales receipts — refund a walk-in sale.
- Invoices — refund an overpaid invoice.
- Payments — every refund receipt appears here as a "Refund Receipt" row.
- Customers — refund history shown on the customer profile.
- Banking — match refund outflows against bank statements.
- Reports — Customer Balance Summary, Cash Flow.