---
title: "Refunding a customer"
description: "Send money back from any paid payment — back the way it came, into the customer's bank account, or to a supplier — with approval before anything moves."
lastModified: "2026-08-27"
lang: "en"
wordCount: 2586
url: https://qualyhq.com/training/payments/refunding-a-customer
---
## Site navigation

- [For schools](/international-education/for-schools.md) — For international education schools
- [For agents](/international-education/for-education-agents.md) — For international education agents
- [Explore](/training.md) — Watch videos on how to use Qualy
- [About](/about.md) — Learn about Qualy's mission and values
- [Pricing](/pricing)
- [5-min demo](/demo.md)
- [Login](https://dashboard.qualyhq.com)

# Refunding a customer

> Send money back — original method, bank account, or supplier — with approval built in.

## At a glance

- **Intended for:** Admins & accountants
- **Available in:** All plans
- **Reading time:** 6 minutes
- **Last updated:** 12th August 2026

## Quick summary

A refund in Qualy is its own object with its own trail — who asked for it, who approved it, where the money went. You pick the customer, the payments to send back, and the amount per payment (partial is fine). Then three decisions: the refund currency (the original, or converted to another), where the money goes (back the way it was paid, to the customer's bank account, or to a supplier), and who funds it (you, or a supplier). Nothing moves until the refund is approved, and every refund needs approval unless you've set an explicit auto-approve policy.

## Overview

Refunds used to be something you asked us to do. Now they're a first-class part of the dashboard: a refund has its own page, its own number, a reason, an approval trail, and a record of exactly where the money went and who funded it.

One refund can cover several payments from the same customer, as long as they share a currency and payment method — refund a whole enrolment in one go rather than payment by payment. And the route the money takes back is a real decision, not an automatic mirror of how it arrived: back to the original payment method, into the customer's bank account (in the original currency or converted), or to a supplier instead of the customer.

The one rule that never bends: **nothing moves until the refund is approved.**

## Where refunds live

Refunds sit under **Payments** in the main menu. The page lists every refund with its status, and the tabs across the top split them into **Needs attention**, **In progress**, **Needs review**, **Approved**, **Completed**, and **Supplier funding** — that last one is money suppliers owe you for refunds, not refunds themselves.

![The Payments menu open over the dashboard, with Refunds listed under other options](/images/training/payments/refunding-a-customer/01-refunds-in-payments-menu.png)

You can start a refund from several places, and they all open the same form:

- The **'New refund'** button on the Refunds page.
- **'Start a new refund'** on the Payments page, and in the quick actions bar.
- A transaction's options menu — this pre-selects that customer, and you pick the exact payment from their refundable ones.

## Starting a refund

1. Hit **'New refund'**. Choose the customer.
2. Give a **Reason**. This is internal — the customer never sees it, but your approver and your future self will.
3. Pick the payments to refund from **'Payments available to refund'**. Each one you add shows its refundable balance, and you can lower the amount for a partial refund.

![The New refund modal with Leonardo Pataca selected, a reason typed, and his payments listed as available to refund](/images/training/payments/refunding-a-customer/02-new-refund-contact-and-payments.png)

A refund covers one currency and one payment method at a time. Once you've added a payment, anything the customer paid in a different currency or method greys out — the form tells you how many are hidden and why. Start a separate refund for those.

The subtitle of the form says it plainly: nothing moves until it's approved. You can build the whole refund, close it, and nobody has been charged or paid anything until it's created *and* approved.

## Where the money goes

Two choices shape the route: the refund currency, and the destination.

**Refund currency** — 'Original currency' sends back the same currency the customer paid in. 'Convert to another' pays out in a different currency to a bank account; see the next section.

**How the refund is sent** — three destinations:

- **'Back to the original payment method'** — the money returns the way it came in. A card payment becomes a card reversal, a PIX becomes a PIX devolução to the origin account. This is the default and the right answer for most refunds, because the payer sees the money exactly where they'd look for it.
- **'To the customer's bank account'** — pays into a bank account on the customer's profile instead. Use it when the original method can't take the money back, or the customer asks for a different account.
- **'To the supplier'** — pays the supplier instead of the customer, as a payout to their account. The customer receives nothing on this route; it exists for cases where the refund is really a settlement between you and the supplier.

![The refund form showing the three destination options and the who's-funding choice below them](/images/training/payments/refunding-a-customer/03-destination-and-funding-options.png)

You never pick the rail under a destination — PIX vs TED, card network, bank transfer — Qualy resolves that from the account and the currencies, and the refund's detail page shows what was used ('Card reversal', 'PIX transfer', and so on).

The destination you choose is honoured strictly. If a refund can't be delivered the way you chose — say a PIX devolução is rejected because the gateway's return window has passed — it fails visibly and can be retried or re-routed. Money never quietly goes somewhere you didn't choose.

## Refunding in a different currency

Choose 'Convert to another' and pick the currency. Two things to know:

The customer needs a bank account in that currency on file first. Without one, the form blocks with exactly this: 'This refund route requires a destination bank account that belongs to the contact'. Add the account on the customer's profile, then come back.

![The refund form with Convert to another selected and the warning that the route requires a destination bank account](/images/training/payments/refunding-a-customer/05-cross-currency-needs-bank-account.png)

Then choose which side carries the exchange-rate risk, under **Exchange rate**:

- **'Use the rate on the day it's paid'** — the rate is taken at settlement. If it has drifted too far from the rate you saw when creating the refund, the refund pauses and comes back for re-approval rather than going out at a rate nobody signed off.
- **'Lock today's rate'** — the customer's amount is pinned now. If the rate moves before settlement, you absorb the difference, and the refund never pauses.

## Who funds it

**'You'** — the refund comes from your funds. How that's collected depends on your gateway: in Australia it's debited from your bank account by direct debit automatically; in Brazil we create a PIX charge and the refund goes out once you've paid it. When one refund covers several payments, you pay **once** — one debit, one PIX QR — and Qualy fans the individual refunds out from it.

**'A supplier'** — the supplier's share is tracked, and the form says exactly what will happen for your setup: either the supplier is billed up front (a PIX charge is issued to them, and the refund is released to the customer when they pay), or the customer is refunded through you now and the supplier's debt is recorded as **Supplier funding** for you to receive later.

![The who's-funding choice with A supplier selected, showing the supplier picker and the note about how supplier funding is tracked](/images/training/payments/refunding-a-customer/04-supplier-funding-selected.png)

If commissions on the original payment were already paid out to partners, Qualy records each partner's share of the refund as a 'Paid-split recovery' entry under Supplier funding. Recording is automatic; collecting never is. Nothing is deducted from future payouts unless you settle the entry yourself.

## Fees and reducing taxes

Two optional deductions, both applied to every payment in the refund:

- **'Charge a fee for the refund'** — percentage or fixed. The fee is kept from the refund amount, so the customer receives less.
- **'Reducing tax (%)'** — for taxes that must come off a refund, with an option to apply it after currency conversion.

The full amount still comes off the payment — deductions change what the customer receives, not what the payment's balance shows as refunded. The **'Note to customer'** field is the place to explain a deduction in the customer's own language; it's shown to them, unlike the reason.

## Approval

Hit **'Create refund'** and the refund lands in **Needs review**. Someone with approval rights signs off in Approvals — the same place as payment and payout approvals — and only then does anything start moving.

There is no quiet path around this. A refund without a matching approval policy waits for a human; it never treats "no policy" as permission. If you want small refunds to go through without a click, set an explicit auto-approve policy for them.

![A refund's detail showing the completed approval trail and the where-it-goes card: customer's original payment method, card reversal, AUD, funded by you](/images/training/payments/refunding-a-customer/06-refund-detail-approval-and-route.png)

## Tracking a refund

The refund moves through **Needs review → Approved → Processing → Completed**, with two states worth knowing on the way:

- **'Awaiting funding'** — the refund is waiting on money in, not money out: your PIX or debit hasn't cleared, or the supplier hasn't paid. It resumes on its own when the funding lands.
- **'Partially completed'** — in a multi-payment refund, some payments refunded and at least one failed. **'Retry failed items'** on the refund reopens only the failed ones; the rest stay done.

![The Refunds page listing refunds with their status, payments, method and date](/images/training/payments/refunding-a-customer/07-refunds-list.png)

Each payment inside the refund carries its own status too — Pending, Awaiting funding, Settling, Refunded, Failed — so on a bundle you can see exactly which payment is where. A refund that was never funded can be abandoned (**'Abandon refund'** — cancels the pending funding payment, marks the refund failed); one that hasn't started processing can be cancelled outright. Once money has moved, neither applies.

## When a payment isn't in the picker

![The New refund modal showing the message 'This contact has no payments available to refund'](/images/training/payments/refunding-a-customer/08-no-payments-available.png)

The picker lists payments that are paid, have refundable balance left, and have no other refund in flight. A payment can be missing because:

- It was never paid, or was canceled.
- It's already fully refunded.
- Another refund covering it is still in progress — one live refund per payment at a time.
- It's in a different currency or method than the payments already in this refund — it's not gone, start a separate refund for it.

If none of those explain it, contact support with the payment number and we'll look at the specific payment rather than leaving you guessing.

## Frequently asked questions

### It says 'This contact has no payments available to refund' — why?

The payment picker only lists payments that are paid, still have a refundable balance, and aren't already covered by a refund in flight. So unpaid or canceled payments won't show, fully refunded ones won't show, and a payment with a live refund against it won't show until that refund finishes or is canceled. If a payment you can see on the customer's profile still doesn't appear and none of those explain it, contact support and we'll look at the specific payment.

### The student accidentally paid twice — can I refund just one of the payments?

Yes. Start a new refund, select only the duplicated payment, and send it back — with 'Back to the original payment method' the money returns the way it came in, which is usually what the payer expects for a duplicate. If you'd rather keep the money and move it to another invoice instead of sending it back, that's a reallocation rather than a refund — contact support and we'll help you move it.

### Can I refund part of a payment?

Yes. Each payment in the refund has its own amount field, capped at the refundable balance shown under it ('Up to A$X refundable'). One thing to size correctly up front: a payment supports one refund. Once a refund against it has gone through, you can't raise a second one against the same payment for the remainder. Check the amount before it's approved.

### Has the money actually gone back? How do I check?

Open the refund from the Refunds page — its timeline shows exactly where it is. 'Refunded' against a payment means the money left through the gateway. The 'Where it goes' card tells you how it travelled: 'Back to the original payment method' means it returned the same way it came in (a card reversal lands back on the card, a PIX devolução back at the origin account), so that's where the payer should look. You can download a refund receipt from the refund to send to the customer.

### What exchange rate does a cross-currency refund use?

You choose when you create it. 'Use the rate on the day it's paid' means the rate is taken at settlement — and if it has moved too far from the rate you saw at creation, the refund pauses for re-approval instead of going out at a rate nobody signed off. 'Lock today's rate' pins the customer's amount at creation — if the rate moves, you cover the difference and the refund never pauses. Neither option ever silently delivers a different amount than the one approved.

### Who pays for the refund — us or the school?

Your choice, per refund, under 'Who's funding the refund'. Pick 'You' and it comes from your funds. Pick 'A supplier' and the supplier's share is tracked as supplier funding — depending on the setup, the supplier is either billed up front and the refund is released once they pay, or you refund the customer now and collect from the supplier later via the Supplier funding tab. Separately, if commissions on the original payment were already paid out to partners, Qualy records a 'Paid-split recovery' entry for each partner's share. It is recorded automatically but never collected automatically — nothing is deducted from anyone's future payouts unless you settle it yourself.

### Why is the refund stuck on 'Awaiting funding'?

Because it's waiting on money in, not money out — the funding payment hasn't landed yet. If you're funding it, that's your PIX charge or direct debit still clearing; if a supplier is funding it, they haven't paid yet. It moves on by itself the moment the funding arrives. If it will never be paid, use 'Abandon refund' — that cancels the pending funding payment and marks the refund as failed.

### Can I cancel a refund after creating it?

Yes, up until it starts processing — 'Cancel refund' is under the refund's Options while it's in draft, review, or approved. A refund that's waiting on funding that will never arrive is abandoned instead ('Abandon refund'), which cancels the pending funding payment. Once the money has actually moved, it can't be pulled back — you'd be looking at a new payment from the customer instead.

### I marked a payment as paid by mistake — is undoing that a refund?

No. A refund sends real money back through a payment provider. If the payment record itself is the mistake — marked paid by accident, recorded twice — fix the record instead: open the transaction and reject or reverse it. Raising a refund against a payment that never actually came through Qualy would send the customer money they never paid you.

### Does the customer get back exactly what they paid?

Only if you deduct nothing and stay in the original currency. A refund fee (percentage or fixed) and any reducing tax are kept from the refund, so the customer receives less than the amount that comes off the payment — the form states this next to the deduction fields, and the note to customer is where you explain it to them. On a cross-currency refund the delivered amount also depends on the rate option you chose. What the customer receives is always shown before you create the refund.

### Where do I see what a supplier owes us for refunds?

The 'Supplier funding' tab on the Refunds page. Each entry shows the supplier, the amount owed to you, and the refund it came from. When the money arrives, mark it received — a funding receipt is generated that the supplier can book. Entries marked 'Paid-split recovery' are commission shares from already-paid-out splits; they sit in the same list but are only ever settled manually.

## Prefer doing this via the Qualy API?

Head over to our developer docs for everything you need—endpoints, examples, and simple how-tos.

[View API Docs](https://docs.qualyhq.com/docs)

## More on Qualy

**Industries**

- [For schools](/international-education/for-schools.md) — For international education schools
- [For agents](/international-education/for-education-agents.md) — For international education agents

**Support**

- [Training](/training.md)
- [System status](https://qualyhq.statuspage.io/) — Qualy system status
- [Product updates](https://changelog.qualyhq.com) — As we work on Qualy, here we spotlight what we’ve learned and updated across our products
- [Contact](/contact-us.md)

**Product**

- [Demo](/demo.md)
- [Enterprise](/enterprise.md)
- [Testimonials](/testimonials.md) — Learn what some customers have to say about Qualy
- [About](/about.md) — Learn about Qualy's mission and values
- [Blog](/blog) — International education payments blog by Qualy
- [Trust center](/trust.md)
- [API](/api.md) — Qualy API for international education payments
- [Zapier](/zapier.md) — Connect Qualy to 7,000+ apps with Zapier
- [NexPay](/nexpay.md) — Qualy + NexPay — automate everything around the payment

**Legal**

- [General terms](/terms-and-conditions.md)
- [Payer terms](/terms-for-payers.md)
- [Privacy policy](/privacy-policy.md)
- [BECS DDR](/becs-dd-service-agreement.md)
