refactor: fetch rate directly from the account head
diff --git a/erpnext/hr/doctype/expense_claim/expense_claim.js b/erpnext/hr/doctype/expense_claim/expense_claim.js
index deb6e1d..40bec6d 100644
--- a/erpnext/hr/doctype/expense_claim/expense_claim.js
+++ b/erpnext/hr/doctype/expense_claim/expense_claim.js
@@ -361,16 +361,9 @@
 frappe.ui.form.on("Expense Taxes and Charges", {
 	account_head: function(frm, cdt, cdn) {
 		var child = locals[cdt][cdn];
-		if(child.account_head && !child.description && !child.rate) {
+		if(child.account_head && !child.description) {
 			// set description from account head
 			child.description = child.account_head.split(' - ').slice(0, -1).join(' - ');
-
-			// set the tax rate from account head
-			frappe.db.get_value("Account", child.account_head, "tax_rate").then((r) => {
-				if(r.message) {
-					frappe.model.set_value(cdt, cdn, 'rate', r.message.tax_rate);
-				}
-			});
 			refresh_field("taxes");
 		}
 	},
diff --git a/erpnext/hr/doctype/expense_taxes_and_charges/expense_taxes_and_charges.json b/erpnext/hr/doctype/expense_taxes_and_charges/expense_taxes_and_charges.json
index 8caf0a9..be51c43 100644
--- a/erpnext/hr/doctype/expense_taxes_and_charges/expense_taxes_and_charges.json
+++ b/erpnext/hr/doctype/expense_taxes_and_charges/expense_taxes_and_charges.json
@@ -53,6 +53,7 @@
   },
   {
    "columns": 2,
+   "fetch_from": "account_head.tax_rate",
    "fieldname": "rate",
    "fieldtype": "Float",
    "in_list_view": 1,
@@ -91,7 +92,7 @@
   }
  ],
  "istable": 1,
- "modified": "2019-06-11 14:19:34.780611",
+ "modified": "2019-06-19 17:47:40.236436",
  "modified_by": "Administrator",
  "module": "HR",
  "name": "Expense Taxes and Charges",