[fix] Wrong company's default tax fetch (#11927)

diff --git a/erpnext/controllers/accounts_controller.py b/erpnext/controllers/accounts_controller.py
index fb97c91..8daf3fd 100644
--- a/erpnext/controllers/accounts_controller.py
+++ b/erpnext/controllers/accounts_controller.py
@@ -233,9 +233,10 @@
 		tax_master_doctype = self.meta.get_field("taxes_and_charges").options
 
 		if self.is_new() and not self.get("taxes"):
-			if not self.get("taxes_and_charges"):
+			if self.company and not self.get("taxes_and_charges"):
 				# get the default tax master
-				self.taxes_and_charges = frappe.db.get_value(tax_master_doctype, {"is_default": 1})
+				self.taxes_and_charges = frappe.db.get_value(tax_master_doctype,
+					{"is_default": 1, 'company': self.company})
 
 			self.append_taxes_from_master(tax_master_doctype)
 
@@ -717,8 +718,12 @@
 	return frappe.db.get_value("Account", account_head, ["tax_rate", "account_name"], as_dict=True)
 
 @frappe.whitelist()
-def get_default_taxes_and_charges(master_doctype):
-	default_tax = frappe.db.get_value(master_doctype, {"is_default": 1})
+def get_default_taxes_and_charges(master_doctype, company=None):
+	if not company: return {}
+
+	default_tax = frappe.db.get_value(master_doctype,
+		{"is_default": 1, "company": company})
+
 	return {
 		'taxes_and_charges': default_tax,
 		'taxes': get_taxes_and_charges(master_doctype, default_tax)
diff --git a/erpnext/crm/doctype/opportunity/opportunity.py b/erpnext/crm/doctype/opportunity/opportunity.py
index b8077fe..9b5d6a6 100644
--- a/erpnext/crm/doctype/opportunity/opportunity.py
+++ b/erpnext/crm/doctype/opportunity/opportunity.py
@@ -232,7 +232,7 @@
 		quotation.conversion_rate = exchange_rate
 
 		# get default taxes
-		taxes = get_default_taxes_and_charges("Sales Taxes and Charges Template")
+		taxes = get_default_taxes_and_charges("Sales Taxes and Charges Template", quotation.company)
 		if taxes.get('taxes'):
 			quotation.update(taxes)
 
diff --git a/erpnext/public/js/controllers/transaction.js b/erpnext/public/js/controllers/transaction.js
index 3492ad9..8dbb996 100644
--- a/erpnext/public/js/controllers/transaction.js
+++ b/erpnext/public/js/controllers/transaction.js
@@ -235,7 +235,8 @@
 			return frappe.call({
 				method: "erpnext.controllers.accounts_controller.get_default_taxes_and_charges",
 				args: {
-					"master_doctype": taxes_and_charges_field.options
+					"master_doctype": taxes_and_charges_field.options,
+					"company": me.frm.doc.company
 				},
 				callback: function(r) {
 					if(!r.exc) {
@@ -420,8 +421,11 @@
 					me.frm.set_value("tc_name", company_doc.default_terms);
 				}
 
-				me.frm.script_manager.trigger("currency");
-				me.apply_pricing_rule();
+				frappe.run_serially([
+					() => me.frm.script_manager.trigger("currency"),
+					() => me.apply_default_taxes(),
+					() => me.apply_pricing_rule()
+				]);
 			}
 		}