fix: Add python 3 compatible string types
diff --git a/erpnext/public/js/controllers/taxes_and_totals.js b/erpnext/public/js/controllers/taxes_and_totals.js
index a25429f..9a5f81c 100644
--- a/erpnext/public/js/controllers/taxes_and_totals.js
+++ b/erpnext/public/js/controllers/taxes_and_totals.js
@@ -290,8 +290,8 @@
 					company: me.frm.doc.company,
 					tax_category: cstr(me.frm.doc.tax_category),
 					item_codes: item_codes,
-					item_tax_templates: item_tax_templates,
-					item_rates: item_rates
+					item_rates: item_rates,
+					item_tax_templates: item_tax_templates
 				},
 				callback: function(r) {
 					if (!r.exc) {
diff --git a/erpnext/stock/get_item_details.py b/erpnext/stock/get_item_details.py
index 3785035..c64084f 100644
--- a/erpnext/stock/get_item_details.py
+++ b/erpnext/stock/get_item_details.py
@@ -436,15 +436,15 @@
 	return itemwise_barcode
 
 @frappe.whitelist()
-def get_item_tax_info(company, tax_category, item_codes, item_tax_templates=None, item_rates=None):
+def get_item_tax_info(company, tax_category, item_codes, item_rates=None, item_tax_templates=None):
 	out = {}
-	if isinstance(item_codes, string_types):
+	if isinstance(item_codes, (str,)):
 		item_codes = json.loads(item_codes)
 
-	if isinstance(item_rates, string_types):
+	if isinstance(item_rates, (str,)):
 		item_rates = json.loads(item_rates)
 
-	if isinstance(item_tax_templates, string_types):
+	if isinstance(item_tax_templates, (str,)):
 		item_tax_templates = json.loads(item_tax_templates)
 
 	for item_code in item_codes:
@@ -514,7 +514,7 @@
 		return None
 
 	# do not change if already a valid template
-	if args.get('item_tax_template') in [t.item_tax_template for t in taxes]:
+	if args.get('item_tax_template') in {t.item_tax_template for t in taxes}:
 		out["item_tax_template"] = args.get('item_tax_template')
 		return args.get('item_tax_template')