fix: do not set payment terms for return invoices
This commit is contained in:
@@ -339,7 +339,9 @@ erpnext.accounts.PurchaseInvoice = class PurchaseInvoice extends erpnext.buying.
|
|||||||
party_type: "Supplier",
|
party_type: "Supplier",
|
||||||
account: this.frm.doc.credit_to,
|
account: this.frm.doc.credit_to,
|
||||||
price_list: this.frm.doc.buying_price_list,
|
price_list: this.frm.doc.buying_price_list,
|
||||||
fetch_payment_terms_template: cint(!this.frm.doc.ignore_default_payment_terms_template),
|
fetch_payment_terms_template: cint(
|
||||||
|
(this.frm.doc.is_return == 0) & !this.frm.doc.ignore_default_payment_terms_template
|
||||||
|
),
|
||||||
},
|
},
|
||||||
function () {
|
function () {
|
||||||
me.apply_pricing_rule();
|
me.apply_pricing_rule();
|
||||||
|
|||||||
@@ -342,6 +342,9 @@ erpnext.accounts.SalesInvoiceController = class SalesInvoiceController extends (
|
|||||||
account: this.frm.doc.debit_to,
|
account: this.frm.doc.debit_to,
|
||||||
price_list: this.frm.doc.selling_price_list,
|
price_list: this.frm.doc.selling_price_list,
|
||||||
pos_profile: pos_profile,
|
pos_profile: pos_profile,
|
||||||
|
fetch_payment_terms_template: cint(
|
||||||
|
(this.frm.doc.is_return == 0) & !this.frm.doc.ignore_default_payment_terms_template
|
||||||
|
),
|
||||||
},
|
},
|
||||||
function () {
|
function () {
|
||||||
me.apply_pricing_rule();
|
me.apply_pricing_rule();
|
||||||
|
|||||||
@@ -450,6 +450,11 @@ class AccountsController(TransactionBase):
|
|||||||
)
|
)
|
||||||
|
|
||||||
def validate_invoice_documents_schedule(self):
|
def validate_invoice_documents_schedule(self):
|
||||||
|
if self.is_return:
|
||||||
|
self.payment_terms_template = ""
|
||||||
|
self.payment_schedule = []
|
||||||
|
return
|
||||||
|
|
||||||
self.validate_payment_schedule_dates()
|
self.validate_payment_schedule_dates()
|
||||||
self.set_due_date()
|
self.set_due_date()
|
||||||
self.set_payment_schedule()
|
self.set_payment_schedule()
|
||||||
@@ -464,7 +469,7 @@ class AccountsController(TransactionBase):
|
|||||||
self.validate_payment_schedule_amount()
|
self.validate_payment_schedule_amount()
|
||||||
|
|
||||||
def validate_all_documents_schedule(self):
|
def validate_all_documents_schedule(self):
|
||||||
if self.doctype in ("Sales Invoice", "Purchase Invoice") and not self.is_return:
|
if self.doctype in ("Sales Invoice", "Purchase Invoice"):
|
||||||
self.validate_invoice_documents_schedule()
|
self.validate_invoice_documents_schedule()
|
||||||
elif self.doctype in ("Quotation", "Purchase Order", "Sales Order"):
|
elif self.doctype in ("Quotation", "Purchase Order", "Sales Order"):
|
||||||
self.validate_non_invoice_documents_schedule()
|
self.validate_non_invoice_documents_schedule()
|
||||||
|
|||||||
@@ -2451,7 +2451,7 @@ erpnext.TransactionController = class TransactionController extends erpnext.taxe
|
|||||||
payment_terms_template() {
|
payment_terms_template() {
|
||||||
var me = this;
|
var me = this;
|
||||||
const doc = this.frm.doc;
|
const doc = this.frm.doc;
|
||||||
if(doc.payment_terms_template && doc.doctype !== 'Delivery Note') {
|
if(doc.payment_terms_template && doc.doctype !== 'Delivery Note' && doc.is_return == 0) {
|
||||||
var posting_date = doc.posting_date || doc.transaction_date;
|
var posting_date = doc.posting_date || doc.transaction_date;
|
||||||
frappe.call({
|
frappe.call({
|
||||||
method: "erpnext.controllers.accounts_controller.get_payment_terms",
|
method: "erpnext.controllers.accounts_controller.get_payment_terms",
|
||||||
|
|||||||
Reference in New Issue
Block a user