diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index 33a3f31..5dff001 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -153,3 +153,4 @@
 execute:frappe.delete_doc("Page","stock-level")
 erpnext.patches.v5_0.reclculate_planned_operating_cost_in_production_order
 erpnext.patches.v5_0.repost_requested_qty
+erpnext.patches.v5_0.fix_taxes_and_totals_in_party_currency
\ No newline at end of file
diff --git a/erpnext/patches/v5_0/fix_taxes_and_totals_in_party_currency.py b/erpnext/patches/v5_0/fix_taxes_and_totals_in_party_currency.py
new file mode 100644
index 0000000..38ee2ff
--- /dev/null
+++ b/erpnext/patches/v5_0/fix_taxes_and_totals_in_party_currency.py
@@ -0,0 +1,63 @@
+
+# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
+# License: GNU General Public License v3. See license.txt
+
+import frappe
+from frappe.model.meta import get_field_precision
+
+def execute():
+	selling_doctypes = ["Quotation", "Sales Order", "Delivery Note", "Sales Invoice"]
+	buying_doctypes = ["Supplier Quotation", "Purchase Order", "Purchase Receipt", "Purchase Invoice"]
+	
+	for dt in selling_doctypes:
+		update_values(dt, "Sales Taxes and Charges")
+
+	for dt in buying_doctypes:
+		update_values(dt, "Purchase Taxes and Charges")
+		
+def update_values(dt, tax_table):
+	rate_field_precision = get_field_precision(frappe.get_meta(dt + " Item").get_field("rate"))
+	tax_amount_precision = get_field_precision(frappe.get_meta(tax_table).get_field("tax_amount"))
+	
+	# update net_total, discount_on
+	frappe.db.sql("""
+		UPDATE
+			`tab{0}`
+		SET
+			total_taxes_and_charges = round(base_total_taxes_and_charges / conversion_rate, {1})
+		WHERE
+			docstatus < 2
+			and ifnull(base_total_taxes_and_charges, 0) != 0
+			and ifnull(total_taxes_and_charges, 0) = 0
+	""".format(dt, tax_amount_precision))
+	
+	# update net_amount
+	frappe.db.sql("""
+		UPDATE
+			`tab{0}` par, `tab{1}` item
+		SET
+			item.net_amount = round(item.base_net_amount / par.conversion_rate, {2}),
+			item.net_rate = round(item.base_net_rate / par.conversion_rate, {2})
+		WHERE
+			par.name = item.parent
+			and par.docstatus < 2
+			and ((ifnull(item.base_net_amount, 0) != 0 and ifnull(item.net_amount, 0) = 0)
+				or (ifnull(item.base_net_rate, 0) != 0 and ifnull(item.net_rate, 0) = 0))
+	""".format(dt, dt + " Item", rate_field_precision))
+
+	# update tax in party currency
+	frappe.db.sql("""
+		UPDATE
+			`tab{0}` par, `tab{1}` tax
+		SET
+			tax.tax_amount = round(tax.base_tax_amount / par.conversion_rate, {2}),
+			tax.total = round(tax.base_total / conversion_rate, {2}),
+			tax.tax_amount_after_discount_amount = round(tax.base_tax_amount_after_discount_amount / conversion_rate, {2})
+		WHERE
+			par.name = tax.parent
+			and par.docstatus < 2
+			and ((ifnull(tax.base_tax_amount, 0) != 0 and  ifnull(tax.tax_amount, 0) = 0)
+				or (ifnull(tax.base_total, 0) != 0 and ifnull(tax.total, 0) = 0)
+				or (ifnull(tax.base_tax_amount_after_discount_amount, 0) != 0 and 
+					ifnull(tax.tax_amount_after_discount_amount, 0) = 0))
+	""".format(dt, tax_table, tax_amount_precision))
\ No newline at end of file
diff --git a/erpnext/patches/v5_0/taxes_and_totals_in_party_currency.py b/erpnext/patches/v5_0/taxes_and_totals_in_party_currency.py
index c595f4e..f4ed66b 100644
--- a/erpnext/patches/v5_0/taxes_and_totals_in_party_currency.py
+++ b/erpnext/patches/v5_0/taxes_and_totals_in_party_currency.py
@@ -46,17 +46,16 @@
 		WHERE
 			docstatus < 2
 	""".format(dt, net_total_precision))
-
-
+	
 	# update net_amount
 	frappe.db.sql("""
 		UPDATE
 			`tab{0}` par, `tab{1}` item
 		SET
-			item.base_net_amount = item.base_amount,
-			item.base_net_rate = item.base_rate,
-			item.net_amount = round(item.base_net_amount / par.conversion_rate, {2}),
-			item.net_rate = round(item.base_net_rate / par.conversion_rate, {2}),
+			item.base_net_amount = round(item.base_amount, {2}),
+			item.base_net_rate = round(item.base_rate, {2}),
+			item.net_amount = round(item.base_amount / par.conversion_rate, {2}),
+			item.net_rate = round(item.base_rate / par.conversion_rate, {2}),
 			item.base_amount = round(item.amount * par.conversion_rate, {2}),
 			item.base_rate = round(item.rate * par.conversion_rate, {2})
 		WHERE
@@ -69,12 +68,12 @@
 		UPDATE
 			`tab{0}` par, `tab{1}` tax
 		SET
-			tax.base_tax_amount = tax.tax_amount,
-			tax.tax_amount = round(tax.base_tax_amount / par.conversion_rate, {2}),
+			tax.base_tax_amount = round(tax.tax_amount, {2}),
+			tax.tax_amount = round(tax.tax_amount / par.conversion_rate, {2}),
 			tax.base_total = round(tax.total, {2}),
-			tax.total = round(tax.base_total / conversion_rate, {2}),
+			tax.total = round(tax.total / conversion_rate, {2}),
 			tax.base_tax_amount_after_discount_amount = round(tax.tax_amount_after_discount_amount, {2}),
-			tax.tax_amount_after_discount_amount = round(tax.base_tax_amount_after_discount_amount / conversion_rate, {2})
+			tax.tax_amount_after_discount_amount = round(tax.tax_amount_after_discount_amount / conversion_rate, {2})
 		WHERE
 			par.name = tax.parent
 			and par.docstatus < 2
