From dcbcc596f2004643acde442128137e0ac778a4fe Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Mon, 6 Oct 2025 11:27:55 +0530 Subject: [PATCH] fix: Set paid amount automatically only if return entry validated and has negative grand total (#49829) --- erpnext/controllers/accounts_controller.py | 10 +++++----- erpnext/public/js/controllers/taxes_and_totals.js | 1 + 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/erpnext/controllers/accounts_controller.py b/erpnext/controllers/accounts_controller.py index 5c9663d2b52..7ce9dc89146 100644 --- a/erpnext/controllers/accounts_controller.py +++ b/erpnext/controllers/accounts_controller.py @@ -228,6 +228,11 @@ class AccountsController(TransactionBase): self.validate_date_with_fiscal_year() self.validate_party_accounts() + if self.doctype in ["Sales Invoice", "Purchase Invoice"]: + if self.is_return: + self.validate_qty() + else: + self.validate_deferred_start_and_end_date() self.validate_inter_company_reference() # validate inter company transaction rate @@ -279,11 +284,6 @@ class AccountsController(TransactionBase): self.set_advance_gain_or_loss() - if self.is_return: - self.validate_qty() - else: - self.validate_deferred_start_and_end_date() - self.validate_deferred_income_expense_account() self.set_inter_company_account() diff --git a/erpnext/public/js/controllers/taxes_and_totals.js b/erpnext/public/js/controllers/taxes_and_totals.js index e8903e8b9a8..3e36387c066 100644 --- a/erpnext/public/js/controllers/taxes_and_totals.js +++ b/erpnext/public/js/controllers/taxes_and_totals.js @@ -78,6 +78,7 @@ erpnext.taxes_and_totals = class TaxesAndTotals extends erpnext.payments { if ( this.frm.doc.doctype === "Purchase Invoice" && this.frm.doc.is_return && + this.frm.doc.grand_total < 0 && this.frm.doc.grand_total > this.frm.doc.paid_amount ) { this.frm.doc.paid_amount = flt(this.frm.doc.grand_total, precision("grand_total"));