Skip to main content

Operative Guide: Withdrawal Refunds

Yuyo avatar
Written by Yuyo
Updated today

This guide explains what a “refund” means for withdrawals, why it happens, and what Ops must do when it happens—using the dashboard flow shown in your image.


1) What “Refunded” means (for withdrawals)

A withdrawal refund happens when a withdrawal was already disbursed (paid out) but later the SPEI/bank network reverses it. Tonder detects this automatically and moves the withdrawal to refunded. (docs.tonder.io)

Key clarifications:

  • This is not a “payment refund” to the end-user.

  • It means the money is returned to the merchant sub-account (the balance that funded the withdrawal). (docs.tonder.io)

  • refunded is terminal: once refunded, it will not move to any other status. (docs.tonder.io)


2) The standard refund flow (what you’ll see in the dashboard)

Typical sequence:

  1. pending → request created

  2. processing → approved and being sent

  3. sent_to_provider → submitted to SPEI/bank network

  4. paid_full → provider confirmed payout

  5. refunded → network reversed it (final) (docs.tonder.io)

In your screenshot example, the timeline shows:

  • Processing → Sent to provider → Paid in full → Refunded (same amount)

Important operational note:

  • Sometimes you may see refunded without ever seeing paid_full in notifications, because Tonder intentionally delays the paid_full notification and can suppress it if the reversal comes quickly. (docs.tonder.io)


3) Why refunds happen (most common causes)

When a withdrawal is refunded, you’ll usually get a reason provided by the bank/SPEI system. Common examples include: (docs.tonder.io)

  • Cuenta inexistente (destination account doesn’t exist)

  • CLABE incorrecta (invalid/incorrect CLABE)

  • Cuenta cancelada (account closed)

  • Fondos insuficientes (insufficient funds at receiving institution)

  • Operación no permitida (transfer not permitted for that account)

Sometimes the reason may be “Unknown error” if the network did not provide one. (docs.tonder.io)


4) What Ops must do when a withdrawal is refunded (Checklist)

A) Confirm the case in Tonder

  • Open the withdrawal detail in Dashboard (Transactions / Withdrawals).

  • Confirm:

    • Status = Refunded

    • Amount & currency

    • Reason (if present)

    • Timeline (for audit)

B) Confirm funds returned to the merchant sub-account

  • Treat Refunded as: “Funds are back in the merchant’s withdrawal funding balance.” (docs.tonder.io)

  • If your internal ledger exists:

    • Record a reversal entry (same amount) tied to the withdrawal ID.

C) Credit the end-user inside the merchant system (if applicable)

Operationally, the end-user did not receive the money (or it was pulled back), so:

  • Ensure the merchant/end-user balance is restored (or the payout request is reopened) according to merchant rules.
    Tonder’s recommended approach is to credit the corresponding amount to the withdrawal recipient in your system. (docs.tonder.io)

D) Notify the recipient (and/or merchant)

  • Communicate clearly:

    • “Your withdrawal was returned by the recipient bank/network.”

    • Include the reason if available.

    • Provide next step: verify CLABE/account and retry. (docs.tonder.io)

E) Decide the next action

  • If the reason is correctable (CLABE/account issue):

    • Ask for corrected details → create a new withdrawal. (docs.tonder.io)

  • If it’s not correctable / unclear (Unknown error):

    • Ask user to reconfirm bank details and retry once.

    • Escalate to internal investigation if repeated.


5) “Do / Don’t” rules for Ops

Do

  • Treat Refunded as final and reconciled (no further state changes). (docs.tonder.io)

  • Always capture the reason and attach it to the case notes. (docs.tonder.io)

  • Guide the merchant/user toward correcting bank details and retrying.

Don’t

  • Don’t tell the user “Tonder refunded you to your bank.”
    This refund is to the merchant sub-account, not to the recipient’s bank. (docs.tonder.io)

  • Don’t attempt to “cancel” or modify a refunded withdrawal—terminal means no further actions apply. (docs.tonder.io)

Did this answer your question?