Bug in invoices and corresponding payments


I have found a problem I think is a bug.

I have a Sales Order with X amount. I have created an invoice with 30% advanced payment. Then, my customer pays the whole Sales Order, instead of just the advanced.

I have created the new invoice for the 70% left. Finally, I registered the payment for the first invoice, but the amount was not the invoice amount, but the sales order amount.

The problem is that, if Sales Order was fully paid, all associated invoice should change status to paid also.

In my case, the second invoice remained unpaid. I edited it, and tried to generate a payment with amount of 0 but system did not allow that.

I think this should be fixed, but at the moment, what workaround can I try?



It looks like one makes a payment entry into the customer’s account then makes advance payments againts the invoice from that account?

I have found another bug related the same thing.

I have created an invoice today. That invoice has due date 1 month later, however, it was paid today. Payment was validated however, invoice remains unpaid (I have 6 invoices in the same case)

Could the cause be because invoice is not due yet?


Hi Jaime,

I’m a little confused. You say you have a Sales Order for X Amount. Then you receive an advance payment of 30% on this. You need to do a payment entry against the Sales Order and book 0.3*X against the Sales Order.

Then you are ready to Invoice. Now you could choose to make an Invoice for 30% of the Sales Order amount (though I’m intrigued as to how you’d do that. Maybe the Sales Order is for Y Pieces or Nos and you are invoicing for 0.3Y Pieces or Nos.

ERPNext will not offset the 30% Payment 100% against this Invoice. I think ERPNext will still link the 30% Payment against the Sales Order and won’t let you book any payments against the Sales Invoices made against this Sales Order more than X.

I think what you should do is:

Option 1:
Book Sales Order for X
Book 30% Payment against this Sales Order
Now make Invoices linking the Sales Order as per your shipments for this X amount that translates into Y Pieces or Nos or Kg or whatever
As you receive Payments against your Sales Invoice, ERPNext should not let you receive payments after X amount. If it does, there’s some control that’s missing on ERPNext.

Option 2:

Make a Sales Order for X.
Make a Sales Invoice for 0.3X
Book the 0.3
X payment completely against this Sales Invoice

Hope this helps.



Is there a way to sum up the paid amount of an invoice? For example if there is a credit note or journal entry or payment entry that was tagged to the invoice to write off the outstanding amount?

Also, to make the paid amount visible on the invoice regardless the checkbox “Is POS” is ticked?