Frappe Cloud Support Partners Foundation Frappe School

Correct way to refund a customer payment

We have customers who make payments via credit card that we may have to refund down the line. What is the right way to handle this in ERPNext? I can’t seem to create a Payment Entry for paying the customer as it says “Cannot Pay to Customer without any negative outstanding invoice”. Cancelling the payment is not an option as we still need to show the funds coming in and being paid back out.


Make credit note using journal entry, while making journal entry select entry type as Credit Note. For more details check below link

1 Like

I tried that, still giving me the same error. Also tried on to make sure it wasn’t just my install.

The error says you need a negative invoice. You should create a credit note from the customers invoice before ERPNext will allow you pay the customer

What if the payment isn’t related to a particular invoice? Often these credit card payments will be proforma, and we only invoice when the goods are shipped. Sales orders will not be going on ERPNext.

I see. ERPNext only checks Sales/Purchase invoices for negatives. Please report this on ERPNext

Done, thanks.

Hi all,

It’s been exactly 3 years since this issue was logged on Github… seems like it’s still not resolved?

Still no way to properly refund an advance payment in ERPNext!

Pls help fix


Unsure what the problem - In Journal entry for Debtors Account you can select party type customer and specific Customer name - and so the journal entry refund payment is applied to that specific customer.

In payment entry if the customer has negative balance it lets you post payment entry to that customer as I recall… reverse for supplier (excess payment received back).

I belive It does not solve the issue, for 2 major reasons

1 - ERPNext try to ensure that a party always have a single one debit and credit account.
2 - When validating accounts payable/receivable reporta, ERPNext doesnt will handle different accounts per party, what will give wrong balances.

1 Like

Just a work around:

  1. JE - debit customer and credit cash
  2. Go to payment reconciliation tool and reconcile the payment with the JE
    All the accounts will be proper.
1 Like

Hi @Shah1

Yes, you’re correct. This is the workaround we also found but it seems too hacky… this scenario is so common that it should be handled in a standard way!

Kind regards,

1 Like

Agreed. The payment entry shouldn’t check for an outstanding negative invoice on type : pay.

Payment Requests done are also un-refundable. Stripe payments are currently unrefundable via the system.

Still this problem is not fixed??