diff --git a/erpnext/controllers/accounts_controller.py b/erpnext/controllers/accounts_controller.py index c2fd009fc4a..fb8b26085eb 100644 --- a/erpnext/controllers/accounts_controller.py +++ b/erpnext/controllers/accounts_controller.py @@ -231,6 +231,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 @@ -282,11 +287,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 fe0110ce2cb..d8c81b726ee 100644 --- a/erpnext/public/js/controllers/taxes_and_totals.js +++ b/erpnext/public/js/controllers/taxes_and_totals.js @@ -76,9 +76,10 @@ erpnext.taxes_and_totals = class TaxesAndTotals extends erpnext.payments { // Update paid amount on return/debit note creation if ( - this.frm.doc.doctype === "Purchase Invoice" - && this.frm.doc.is_return - && (this.frm.doc.grand_total > this.frm.doc.paid_amount) + 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")); }