to select ↑↓ to navigate
ERPNext

ERPNext

Open in ChatGPT
Ask ChatGPT about this page
Open in Claude
Ask Claude about this page

Refunds

Refunds

Sometimes you need to refund a customer — wrong product shipped, duplicate payment, returns, dispute settlement. Mollie supports refunds back to the original payment method automatically.

When refunds are possible

  • Within the original transaction's refund window. Mollie holds refund eligibility for typically 6 months from the original payment date for most methods; longer for some cards. Past that, the refund has to happen via bank transfer (which is what the Refunds out of window section below covers).
  • Up to the original amount. Mollie won't process a refund larger than what was paid. Partial refunds are fine.
  • Only on settled payments. A refund initiated before Mollie has settled the original payment will be processed but may show as a hold rather than an immediate credit.

How to initiate a refund

From the Payment Entry that received the Mollie payment:

  1. Open the Payment Entry.
  2. Click the Refund via Mollie button (the integration adds this button to Payment Entries that came from Mollie).
  3. In the dialog, enter:
    • Amount — defaults to the full Payment Entry amount; reduce for a partial refund.
    • Description — appears on the customer's statement.
  4. Confirm. The integration calls Mollie's refund API.
  5. On success, the dialog closes and an Integration Request record is created with the Mollie refund ID (re_xxx).

The original Payment Entry is not modified. Instead, a separate Payment Entry is created with a negative amount, referencing the same Sales Invoice or Customer.

How the refund settles

Refunds back through the original method:

  • iDEAL / Bancontact — credit back to the originating bank account within 1–2 business days.
  • Credit card — credit back to the card, usually 3–5 business days. Some issuers take up to 10 days to show the credit.
  • SEPA Direct Debit — back to the originating IBAN.
  • PayPal — back to PayPal balance.

The customer sees the refund in their bank statement / card statement referenced to the original payment.

Refunds out of window

If the original Mollie payment is past its refund window (or wasn't through Mollie at all), you have to handle the refund manually:

  1. Get the customer's IBAN.
  2. Use the SEPA batch feature in erpnext_netherlands to send the refund as part of your next payment batch.
  3. Manually reconcile the resulting bank-debit against the original Sales Invoice (now over-credited) and a Refund Note or Credit Note.

This is more work but unavoidable for old payments.

What about chargebacks?

A chargeback is not the same as a refund. If a customer disputes a card payment with their bank instead of asking you for a refund:

  • Mollie notifies you via email and via the dashboard.
  • The disputed amount is held against your Mollie balance.
  • You have a window (typically 7 days) to provide evidence (proof of delivery, signed contract, etc.).
  • Mollie's dashboard handles the dispute workflow entirely.
  • The integration does NOT create automatic ERPNext records for chargebacks — they happen in Mollie's UI.

Once the chargeback is settled, you may need to manually adjust the ERPNext Payment Entry to reflect the final outcome (full reversal, partial recovery, or full win).

Common mistakes

  • Don't manually create a negative Payment Entry first. Let the integration create it after Mollie confirms the refund. Otherwise you'll end up with two negative entries (one from you, one from the webhook).
  • Don't refund through Mollie's dashboard then create a separate Payment Entry in ERPNext. The webhook will fire from the Mollie dashboard refund too; it'll create the Payment Entry automatically. Doing both gives you a double-refund in the books.
  • Don't refund after the customer has already disputed. The refund + chargeback can collide; resolve the chargeback first.
Last updated 3 days ago
Was this helpful?
Thanks!