Quick answer
A refund in Xero is always two layers: a document that reverses value (a credit note, or an existing overpayment) and a payment recorded on that document that moves the cash. To refund a customer, raise and approve the credit note, then either record the cash refund on it or reconcile the credit note against the bank statement line when the money leaves [1] . Refunds you receive from suppliers are the same shape in reverse: supplier credit note, refund received on it, match the deposit.
Why the two-layer shape matters
The temptation is to code the bank line directly: refund paid out to the revenue account, supplier refund received to the expense account. The arithmetic survives; everything else degrades. There is no link to the original transaction, so the contact’s history shows an invoice fully paid and an unexplained payment. The tax reversal never happens, because bank codings do not adjust the return the original document reported into. And receivables or payables for that contact stop agreeing with what actually happened commercially. Xero’s own walk-through of credit note scenarios shows the same logic: a credit note against the sales account reduces reported sales and adjusts the tax liability, which a bank coding never does [1] .
Refunding a customer
- Open the original invoice and add a credit note from Invoice Options, trimmed to the amount being refunded. For a goodwill refund with no specific invoice, raise a standalone credit note coded to the original revenue account.
- Approve the credit note. If the invoice is still unpaid, Xero prompts you to apply the credit to it, which reduces the amount owing instead of creating a refund [1] ; for a cash refund, leave the credit note unapplied.
- On the credit note, record the cash refund: amount, date, and the bank account it will leave from. Or skip this step and reconcile the credit note directly against the statement line when the money leaves, which applies the refund for you [1] .
- When the outgoing payment appears in the bank feed, match it against the recorded refund (or, if you did not record one, select the credit note in Find and Match).
If the customer’s money sits as an overpayment (they paid twice, or paid after the credit), skip the credit note: open the overpayment and record the refund on it directly. Xero’s example is a 250 invoice paid with 300, leaving the customer’s account 50 in credit; you can refund the 50 or agree to hold it against their next invoice [1] . The choice between allocating a credit to future invoices and refunding it is commercial, not technical; ongoing customers usually prefer allocation, which is covered in the customer payments guide.
Recording a refund from a supplier
Money coming back from a supplier needs a supplier credit note behind it: mirror the relevant lines of the original bill, same accounts, same tax rates, then record the refund receipt on the credit note and match the bank deposit to it. Two cases to distinguish. A refund for returned goods or a billing error reverses the expense and the input tax, which the mirrored credit note does automatically. A rebate or volume discount granted at period end is not a correction of any one bill; it can still run through a credit note, but coded to wherever your firm books supplier rebates.
If the refund arrives before you have raised anything, reconcile the deposit against a supplier credit note through Find and Match rather than against the next bill that happens to fit the amount. Matching by amount alone is the quickest way to pay a bill with money that was never a payment.
Partial refunds, credits held, and the one-receipt rule
Credit notes do not have to be refunded. When a fully paid invoice is partly reversed, the credit note stays as awaiting payment and Xero prompts you to apply it the next time you invoice that customer, or you can offset it alongside open invoices in one reconciliation [1] . A discount agreed after invoicing is a credit note against a discounts account, applied to the invoice, so sales and discounts both report correctly [1] .
One receipt, one record. If you record a refund on the credit note and then also match the bank line to the credit note itself, the same money is accounted for twice. Pick one route: record the refund and match the line to that refund, or leave the credit note open and reconcile the line to it.
Card refunds through payment processors
When the original sale settled through a payment service, refund through the same service so the money and the records travel together: the processor claws the amount back from the next settlement, and the settlement match then includes the refund. The trap is issuing the refund in the processor’s dashboard and never recording the Xero side; the settlement arrives short, and the difference gets forced into fees or written off. Every processor refund needs its Xero credit note and refund, just like a bank refund. Processor fees on the original sale are usually not returned, so the refund amount and the clawback can differ by the fee; record the fee as an expense, not as part of the refund.
Tax effects
A credit note that mirrors the original tax rates reverses the output tax (customer side) or the input tax (supplier side) on the return for the period the credit note is dated [1] . The refund itself is cash settlement with no tax effect. This is why a refund recorded as a bank coding is dangerous: the tax authority has already been told about the sale or the purchase, and nothing tells it about the reversal. Where the original transaction was in a foreign currency, the credit note should be in that currency too; exchange differences land in the currency gains account, not in the refund, as the foreign currency guide explains.
Common mistakes
- Bank lines coded straight to revenue or expense accounts with no credit note, silently skipping the tax reversal [1] .
- Refunds recorded on the invoice as a negative payment rather than on a credit note, which some workflows allow but which scrambles payment history.
- Recording a refund on the credit note and then matching the statement line to the credit note as well, so one receipt is counted twice.
- Processor refunds handled in the dashboard only, surfacing later as unexplained settlement shortfalls.
- Refunding an amount that a credit already covered by allocation, returning the same value twice.
- Supplier refund deposits matched to new sales invoices because the amount happened to fit; Find and Match by contact, not amount alone.
Software that helps
- Xero’s credit note and overpayment refund flows cover the mechanics natively, including reconciling a credit note straight from the bank feed [1] .
- ExpenseFlow keeps the supplier side tidy from the start: bills are captured as documents, coded with the correct tax treatment, and posted to Xero after approval, so when a refund lands there is a clean bill history to raise the credit note against.
- Payment service integrations bring processor refunds into the settlement match instead of leaving them as dashboard-only events.
Related guides
Start with credit notes in Xero, the document layer under every refund; then customer payments for allocation versus refund decisions, and bank statements for the matching surface. Glossary: credit note, debit note, reconciliation.
References
Sources and references
Every figure, threshold, deadline, and regulatory rule cited in this guide is traceable to an official government publication. URLs are reproduced in full so any reader can verify the claim at source. Numbers are subject to change at each fiscal event; we re-check this list at every quarterly refresh of this guide.
-
[1]
Xero Central · Common scenarios for credit notes
https://central.xero.com/s/article/Common-scenarios-for-credit-notesCredit note against sales reduces reported sales and adjusts tax; apply to an unpaid invoice; hold a credit for a paid invoice until the next invoice; offset with open invoices in reconciliation; discounts via a credit note; cash refund by applying it or reconciling the credit note; overpayment held or refunded.
Retrieved 2026-10-10
From ExpenseFlow
Expense coding on autopilot
ExpenseFlow reads every receipt, assigns the right tax treatment and account code, and syncs to Xero or QuickBooks Online once you approve.