diff --git a/erpnext/public/js/erpnext.bundle.js b/erpnext/public/js/erpnext.bundle.js
index 0f4a650..3d5025d 100644
--- a/erpnext/public/js/erpnext.bundle.js
+++ b/erpnext/public/js/erpnext.bundle.js
@@ -25,5 +25,6 @@
 import "./templates/crm_activities.html";
 import "./templates/crm_notes.html";
 import "./controllers/accounts.js"
+import "./utils/landed_taxes_and_charges_common.js";
 
 // import { sum } from 'frappe/public/utils/util.js'
diff --git a/erpnext/public/js/utils/landed_taxes_and_charges_common.js b/erpnext/public/js/utils/landed_taxes_and_charges_common.js
new file mode 100644
index 0000000..c71f77d
--- /dev/null
+++ b/erpnext/public/js/utils/landed_taxes_and_charges_common.js
@@ -0,0 +1,62 @@
+
+erpnext.landed_cost_taxes_and_charges = {
+	setup_triggers: function(doctype) {
+		frappe.ui.form.on(doctype, {
+			refresh: function(frm) {
+				let tax_field = frm.doc.doctype == 'Landed Cost Voucher' ? 'taxes' : 'additional_costs';
+				frm.set_query("expense_account", tax_field, function() {
+					return {
+						filters: {
+							"account_type": ['in', ["Tax", "Chargeable", "Income Account", "Expenses Included In Valuation", "Expenses Included In Asset Valuation"]],
+							"company": frm.doc.company
+						}
+					};
+				});
+			},
+
+			set_account_currency: function(frm, cdt, cdn) {
+				let row = locals[cdt][cdn];
+				if (row.expense_account) {
+					frappe.db.get_value('Account', row.expense_account, 'account_currency', function(value) {
+						frappe.model.set_value(cdt, cdn, "account_currency", value.account_currency);
+						frm.events.set_exchange_rate(frm, cdt, cdn);
+					});
+				}
+			},
+
+			set_exchange_rate: function(frm, cdt, cdn) {
+				let row = locals[cdt][cdn];
+				let company_currency = frappe.get_doc(":Company", frm.doc.company).default_currency;
+
+				if (row.account_currency == company_currency) {
+					row.exchange_rate = 1;
+					frm.set_df_property('taxes', 'hidden', 1, row.name, 'exchange_rate');
+				} else if (!row.exchange_rate || row.exchange_rate == 1) {
+					frm.set_df_property('taxes', 'hidden', 0, row.name, 'exchange_rate');
+					frappe.call({
+						method: "erpnext.accounts.doctype.journal_entry.journal_entry.get_exchange_rate",
+						args: {
+							posting_date: frm.doc.posting_date,
+							account: row.expense_account,
+							account_currency: row.account_currency,
+							company: frm.doc.company
+						},
+						callback: function(r) {
+							if (r.message) {
+								frappe.model.set_value(cdt, cdn, "exchange_rate", r.message);
+							}
+						}
+					});
+				}
+
+				frm.refresh_field('taxes');
+			},
+
+			set_base_amount: function(frm, cdt, cdn) {
+				let row = locals[cdt][cdn];
+				frappe.model.set_value(cdt, cdn, "base_amount",
+					flt(flt(row.amount)*row.exchange_rate, precision("base_amount", row)));
+			}
+		});
+	}
+}
diff --git a/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.js b/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.js
index 9c1a809..8215efc 100644
--- a/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.js
+++ b/erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.js
@@ -1,10 +1,9 @@
 // Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
 // License: GNU General Public License v3. See license.txt
 
-{% include 'erpnext/stock/landed_taxes_and_charges_common.js' %};
-
 frappe.provide("erpnext.stock");
 
+erpnext.landed_cost_taxes_and_charges.setup_triggers("Landed Cost Voucher");
 erpnext.stock.LandedCostVoucher = class LandedCostVoucher extends erpnext.stock.StockController {
 	setup() {
 		var me = this;
diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.js b/erpnext/stock/doctype/stock_entry/stock_entry.js
index 403e04a..e9b7949 100644
--- a/erpnext/stock/doctype/stock_entry/stock_entry.js
+++ b/erpnext/stock/doctype/stock_entry/stock_entry.js
@@ -3,7 +3,7 @@
 frappe.provide("erpnext.stock");
 frappe.provide("erpnext.accounts.dimensions");
 
-{% include 'erpnext/stock/landed_taxes_and_charges_common.js' %};
+erpnext.landed_cost_taxes_and_charges.setup_triggers("Stock Entry");
 
 frappe.ui.form.on('Stock Entry', {
 	setup: function(frm) {
@@ -56,7 +56,7 @@
 
 		frappe.db.get_value('Stock Settings', {name: 'Stock Settings'}, 'sample_retention_warehouse', (r) => {
 			if (r.sample_retention_warehouse) {
-				var filters = [
+				let filters = [
 							["Warehouse", 'company', '=', frm.doc.company],
 							["Warehouse", "is_group", "=",0],
 							['Warehouse', 'name', '!=', r.sample_retention_warehouse]
@@ -75,17 +75,19 @@
 		});
 
 		frm.set_query('batch_no', 'items', function(doc, cdt, cdn) {
-			var item = locals[cdt][cdn];
+			let item = locals[cdt][cdn];
+			let filters = {};
+
 			if(!item.item_code) {
 				frappe.throw(__("Please enter Item Code to get Batch Number"));
 			} else {
 				if (in_list(["Material Transfer for Manufacture", "Manufacture", "Repack", "Send to Subcontractor"], doc.purpose)) {
-					var filters = {
+					filters = {
 						'item_code': item.item_code,
 						'posting_date': frm.doc.posting_date || frappe.datetime.nowdate()
 					}
 				} else {
-					var filters = {
+					filters = {
 						'item_code': item.item_code
 					}
 				}
@@ -686,7 +688,6 @@
 	},
 
 	process_loss_percentage(frm) {
-		debugger
 		if (frm.doc.process_loss_percentage) {
 			frm.doc.process_loss_qty = flt((frm.doc.fg_completed_qty * frm.doc.process_loss_percentage) / 100 , precision("process_loss_qty", frm.doc));
 			refresh_field("process_loss_qty");
diff --git a/erpnext/stock/landed_taxes_and_charges_common.js b/erpnext/stock/landed_taxes_and_charges_common.js
deleted file mode 100644
index 1d76a3d..0000000
--- a/erpnext/stock/landed_taxes_and_charges_common.js
+++ /dev/null
@@ -1,61 +0,0 @@
-let document_list = ['Landed Cost Voucher', 'Stock Entry', 'Subcontracting Order', 'Subcontracting Receipt'];
-
-document_list.forEach((doctype) => {
-	frappe.ui.form.on(doctype, {
-		refresh: function(frm) {
-			let tax_field = frm.doc.doctype == 'Landed Cost Voucher' ? 'taxes' : 'additional_costs';
-			frm.set_query("expense_account", tax_field, function() {
-				return {
-					filters: {
-						"account_type": ['in', ["Tax", "Chargeable", "Income Account", "Expenses Included In Valuation", "Expenses Included In Asset Valuation"]],
-						"company": frm.doc.company
-					}
-				};
-			});
-		},
-
-		set_account_currency: function(frm, cdt, cdn) {
-			let row = locals[cdt][cdn];
-			if (row.expense_account) {
-				frappe.db.get_value('Account', row.expense_account, 'account_currency', function(value) {
-					frappe.model.set_value(cdt, cdn, "account_currency", value.account_currency);
-					frm.events.set_exchange_rate(frm, cdt, cdn);
-				});
-			}
-		},
-
-		set_exchange_rate: function(frm, cdt, cdn) {
-			let row = locals[cdt][cdn];
-			let company_currency = frappe.get_doc(":Company", frm.doc.company).default_currency;
-
-			if (row.account_currency == company_currency) {
-				row.exchange_rate = 1;
-				frm.set_df_property('taxes', 'hidden', 1, row.name, 'exchange_rate');
-			} else if (!row.exchange_rate || row.exchange_rate == 1) {
-				frm.set_df_property('taxes', 'hidden', 0, row.name, 'exchange_rate');
-				frappe.call({
-					method: "erpnext.accounts.doctype.journal_entry.journal_entry.get_exchange_rate",
-					args: {
-						posting_date: frm.doc.posting_date,
-						account: row.expense_account,
-						account_currency: row.account_currency,
-						company: frm.doc.company
-					},
-					callback: function(r) {
-						if (r.message) {
-							frappe.model.set_value(cdt, cdn, "exchange_rate", r.message);
-						}
-					}
-				});
-			}
-
-			frm.refresh_field('taxes');
-		},
-
-		set_base_amount: function(frm, cdt, cdn) {
-			let row = locals[cdt][cdn];
-			frappe.model.set_value(cdt, cdn, "base_amount",
-				flt(flt(row.amount)*row.exchange_rate, precision("base_amount", row)));
-		}
-	});
-});
diff --git a/erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js b/erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js
index 15a2ac9..f2b395a 100644
--- a/erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js
+++ b/erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js
@@ -3,7 +3,7 @@
 
 frappe.provide('erpnext.buying');
 
-{% include 'erpnext/stock/landed_taxes_and_charges_common.js' %};
+erpnext.landed_cost_taxes_and_charges.setup_triggers("Subcontracting Order");
 
 frappe.ui.form.on('Subcontracting Order', {
 	setup: (frm) => {
diff --git a/erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.js b/erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.js
index 5ee1f7b..94a2589 100644
--- a/erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.js
+++ b/erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.js
@@ -3,7 +3,7 @@
 
 frappe.provide('erpnext.buying');
 
-{% include 'erpnext/stock/landed_taxes_and_charges_common.js' %};
+erpnext.landed_cost_taxes_and_charges.setup_triggers("Subcontracting Receipt");
 
 frappe.ui.form.on('Subcontracting Receipt', {
 	setup: (frm) => {
diff --git a/erpnext/www/book_appointment/index.js b/erpnext/www/book_appointment/index.js
index d02cdad..71a34d4 100644
--- a/erpnext/www/book_appointment/index.js
+++ b/erpnext/www/book_appointment/index.js
@@ -243,7 +243,7 @@
 }
 
 function get_form_data() {
-    contact = {};
+    let contact = {};
     let inputs = ['name', 'skype', 'number', 'notes', 'email'];
     inputs.forEach((id) => contact[id] = document.getElementById(`customer_${id}`).value)
     return contact
