Merge pull request #30443 from frappe/mergify/bp/develop/pr-30438
fix: Incorrect default amount to pay for POS invoices (backport #30438)
diff --git a/erpnext/public/js/controllers/taxes_and_totals.js b/erpnext/public/js/controllers/taxes_and_totals.js
index 047ec81..9fae73c 100644
--- a/erpnext/public/js/controllers/taxes_and_totals.js
+++ b/erpnext/public/js/controllers/taxes_and_totals.js
@@ -34,12 +34,12 @@
frappe.model.set_value(item.doctype, item.name, "rate", item_rate);
}
- calculate_taxes_and_totals(update_paid_amount) {
+ async calculate_taxes_and_totals(update_paid_amount) {
this.discount_amount_applied = false;
this._calculate_taxes_and_totals();
this.calculate_discount_amount();
- this.calculate_shipping_charges();
+ await this.calculate_shipping_charges();
// Advance calculation applicable to Sales /Purchase Invoice
if(in_list(["Sales Invoice", "POS Invoice", "Purchase Invoice"], this.frm.doc.doctype)
@@ -275,8 +275,7 @@
calculate_shipping_charges() {
frappe.model.round_floats_in(this.frm.doc, ["total", "base_total", "net_total", "base_net_total"]);
if (frappe.meta.get_docfield(this.frm.doc.doctype, "shipping_rule", this.frm.doc.name)) {
- this.shipping_rule();
- this._calculate_taxes_and_totals();
+ return this.shipping_rule();
}
}
diff --git a/erpnext/public/js/controllers/transaction.js b/erpnext/public/js/controllers/transaction.js
index fa41e1b..c9faf68 100644
--- a/erpnext/public/js/controllers/transaction.js
+++ b/erpnext/public/js/controllers/transaction.js
@@ -974,6 +974,9 @@
return this.frm.call({
doc: this.frm.doc,
method: "apply_shipping_rule",
+ callback: function(r) {
+ me._calculate_taxes_and_totals();
+ }
}).fail(() => this.frm.set_value('shipping_rule', ''));
}
}