How to handle excess customer payment and refund/dispute in ERPNext v15 without Credit Note?

I have a scenario in ERPNext v15 where a customer has a Sales Invoice of ₹400, but the customer accidentally paid ₹600.

So:

  • Sales Invoice = ₹400

  • Payment received = ₹600

  • Excess payment = ₹200

The Sales Invoice amount of ₹400 is correct. There is no return, price adjustment, or change in the invoice amount. The customer simply paid ₹200 extra and now wants the ₹200 refunded.

Our company only creates Sales Invoices. We do not use Sales Orders.

I also do not want to create a custom DocType or customize ERPNext.

I understand that I can create a Payment Entry for ₹600 and allocate ₹400 against the Sales Invoice, leaving ₹200 as an unallocated/customer advance amount.

My questions are:

  1. What is the standard ERPNext v15 way to handle this ₹200 excess payment?

  2. If the customer wants the ₹200 refunded instead of adjusting it against a future invoice, what is the correct standard accounting flow?

  3. Can I create a Payment Entry to pay/refund the customer directly in ERPNext v15?

  4. How should the original ₹200 unallocated amount be handled before creating the refund Payment Entry?

  5. Is a Journal Entry + Payment Entry required, similar to the approach described in older Frappe forum discussions?

  6. How can I keep a proper accounting trail from:
    Sales Invoice → Customer Payment → Excess ₹200 → Refund ₹200
    without using a Credit Note/Debit Note?

  7. Is there any standard ERPNext feature for recording the customer’s refund/dispute request against a Sales Invoice? The standard Issue DocType does not have a Sales Invoice reference field; it only has fields such as Lead, Contact, Project, Company, etc.

  8. If there is no dedicated dispute/refund workflow, what is the recommended standard ERPNext v15 workflow for this scenario?

I specifically want a standard ERPNext v15 solution without customization, without Sales Orders, and without creating a Credit Note/Debit Note, because the Sales Invoice itself is correct and only the customer has made an excess payment.

hi there,

for a ₹600 customer payment against a ₹400 Sales Invoice, the standard ERPNext v15 approach is to record the full ₹600 as a Payment Entry (Receive), allocate ₹400 against the Sales Invoice, and leave the remaining ₹200 as the customer’s unallocated amount/customer advance… if the customer wants the ₹200 refunded rather than applied to a future invoice, process the refund as a Payment Entry (Pay) for ₹200, debiting the customer’s receivable/advance balance and crediting the bank or cash account, this allows the original Sales Invoice to remain unchanged because there is no return, price adjustment, or correction to the sale…

A Credit Note is therefore not appropriate for the overpayment itself, and a separate Journal Entry is not required just to process the refund…

the resulting audit trail is:

Sales Invoice ₹400 → Customer Payment ₹600 → ₹400 allocated + ₹200 customer credit → ₹200 refund, leaving the customer’s balance at zero and the net bank increase at ₹400.

1 Like

you can simply pay the customer the $200 under payment entry then you choose pay then part type you choose customer