diff --git a/erpnext/accounts/doctype/payment_entry/payment_entry.py b/erpnext/accounts/doctype/payment_entry/payment_entry.py index 1f5fba52a6..3b3c78f3b2 100644 --- a/erpnext/accounts/doctype/payment_entry/payment_entry.py +++ b/erpnext/accounts/doctype/payment_entry/payment_entry.py @@ -98,7 +98,6 @@ class PaymentEntry(AccountsController): if self.difference_amount: frappe.throw(_("Difference Amount must be zero")) self.make_gl_entries() - self.make_advance_gl_entries() self.update_outstanding_amounts() self.update_advance_paid() self.update_payment_schedule() @@ -152,7 +151,6 @@ class PaymentEntry(AccountsController): ) super(PaymentEntry, self).on_cancel() self.make_gl_entries(cancel=1) - self.make_advance_gl_entries(cancel=1) self.update_outstanding_amounts() self.update_advance_paid() self.delink_advance_entry_references() @@ -1055,6 +1053,8 @@ class PaymentEntry(AccountsController): else: self.make_exchange_gain_loss_journal() + self.make_advance_gl_entries(cancel=cancel) + def add_party_gl_entries(self, gl_entries): if self.party_account: if self.payment_type == "Receive": @@ -1163,6 +1163,9 @@ class PaymentEntry(AccountsController): invoice.reference_doctype, invoice.reference_name, "posting_date" ) + if getdate(posting_date) < getdate(self.posting_date): + posting_date = self.posting_date + dr_or_cr = "credit" if invoice.reference_doctype == "Sales Invoice" else "debit" args_dict["account"] = invoice.account args_dict[dr_or_cr] = invoice.allocated_amount