Correct way to refund a customer payment

I tried that, still giving me the same error. Also tried on demo.erpnext.com 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

https://github.com/frappe/erpnext/issues/12994

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

Thanks

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??

I’d like to add my vote for a standard way of handling this. Just came across this issue for the first time today and expected to find a nice built in way of doing this as I’ve come accustomed to find in ERPNext, but disappointed to see that it hasn’t been addressed. I don’t think I have enough experience with the code base yet to make a proper PR for this issue, but I’ll give it a try if no one else does.

1 Like

+1 for this issue to be resolved.

Hello,

I have found the correct way to enter such transactions. Receive the payment to a holding account using the payments window, please note it must be a bank account. then create a journal to another account (example Deposit for future allocation, this is a current liability account). When you are ready to make the refund create a journal from (example Deposit for future allocation) to the default debtors account and use Payment Reconciliation to reconcile the customer’s account. You can then go to the Payment Entry window hit pay, party type: customer: fill the details including the payment method and bank account details enter the refund amount, under references select journal enter the transaction that was used to bring the amount back to the debtors and save. Transaction complete

Please try and try to solve this. appreciate it

Hello

Do you mean the standard way to refund?

erpnext payment entry must allow pay to customer with adding a check on custiomer master that enable paying to that special customer and only allow some role to enable it
It is really top required and most annoying problem we faced .

Thanks

Looks like this is now available in version-15. fix: payments irrespective of party types by GursheenK · Pull Request #37828 · frappe/erpnext · GitHub

I’m working on making a backport request to version-14.

1 Like