Field Rename: rate field mass replacement
diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
index 87efde8..c702c92 100644
--- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
+++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
@@ -169,13 +169,13 @@
 			super(DocType, self).validate_with_previous_doc(self.tname, {
 				"Purchase Order Item": {
 					"ref_dn_field": "po_detail",
-					"compare_fields": [["import_rate", "="]],
+					"compare_fields": [["rate", "="]],
 					"is_child_table": True,
 					"allow_duplicate_prev_row_id": True
 				},
 				"Purchase Receipt Item": {
 					"ref_dn_field": "pr_detail",
-					"compare_fields": [["import_rate", "="]],
+					"compare_fields": [["rate", "="]],
 					"is_child_table": True
 				}
 			})
diff --git a/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py b/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py
index 9fa7680..0c6ac44 100644
--- a/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py
+++ b/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py
@@ -229,9 +229,9 @@
 			"item_code": "_Test Item Home Desktop 100",
 			"item_name": "_Test Item Home Desktop 100",
 			"qty": 10,
-			"import_rate": 50,
-			"import_amount": 500,
 			"rate": 50,
+			"import_amount": 500,
+			"base_rate": 50,
 			"amount": 500,
 			"uom": "_Test UOM",
 			"item_tax_rate": json.dumps({"_Test Account Excise Duty - _TC": 10}),
@@ -246,9 +246,9 @@
 			"item_code": "_Test Item Home Desktop 200",
 			"item_name": "_Test Item Home Desktop 200",
 			"qty": 5,
-			"import_rate": 150,
-			"import_amount": 750,
 			"rate": 150,
+			"import_amount": 750,
+			"base_rate": 150,
 			"amount": 750,
 			"uom": "_Test UOM",
 			"expense_account": "_Test Account Cost for Goods Sold - _TC",
@@ -371,7 +371,7 @@
 			"item_code": "_Test Item",
 			"item_name": "_Test Item",
 			"qty": 10.0,
-			"import_rate": 50.0,
+			"rate": 50.0,
 			"uom": "_Test UOM",
 			"expense_account": "_Test Account Cost for Goods Sold - _TC",
 			"cost_center": "_Test Cost Center - _TC",
diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
index ce0b59d..7dd1a6a 100644
--- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
+++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
@@ -295,13 +295,13 @@
 			super(DocType, self).validate_with_previous_doc(self.tname, {
 				"Sales Order Item": {
 					"ref_dn_field": "so_detail",
-					"compare_fields": [["export_rate", "="]],
+					"compare_fields": [["rate", "="]],
 					"is_child_table": True,
 					"allow_duplicate_prev_row_id": True
 				},
 				"Delivery Note Item": {
 					"ref_dn_field": "dn_detail",
-					"compare_fields": [["export_rate", "="]],
+					"compare_fields": [["rate", "="]],
 					"is_child_table": True
 				}
 			})
@@ -806,9 +806,9 @@
 		
 	def update_item(source_doc, target_doc, source_parent):
 		target_doc.amount = (flt(source_doc.qty) - flt(source_doc.delivered_qty)) * \
-			flt(source_doc.basic_rate)
+			flt(source_doc.base_rate)
 		target_doc.export_amount = (flt(source_doc.qty) - flt(source_doc.delivered_qty)) * \
-			flt(source_doc.export_rate)
+			flt(source_doc.rate)
 		target_doc.qty = flt(source_doc.qty) - flt(source_doc.delivered_qty)
 	
 	doclist = get_mapped_doclist("Sales Invoice", source_name, 	{
diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice_map.js b/erpnext/accounts/doctype/sales_invoice/sales_invoice_map.js
index 179cba3..71bbdb6 100644
--- a/erpnext/accounts/doctype/sales_invoice/sales_invoice_map.js
+++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice_map.js
@@ -8,7 +8,7 @@
 		},
 		field_map: {
 			"Sales Invoice Item": {
-				"basic_rate": "rate",
+				"base_rate": "rate",
 				"time_log_batch": "name",
 				"qty": "total_hours",
 				"stock_uom": "=Hour",
diff --git a/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py
index a0ef01d..d1d87ef 100644
--- a/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py
+++ b/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py
@@ -47,8 +47,8 @@
 		si.insert()
 		
 		expected_values = {
-			"keys": ["price_list_rate", "discount_percentage", "export_rate", "export_amount", 
-				"base_price_list_rate", "basic_rate", "amount"],
+			"keys": ["price_list_rate", "discount_percentage", "rate", "export_amount", 
+				"base_price_list_rate", "base_rate", "amount"],
 			"_Test Item Home Desktop 100": [50, 0, 50, 500, 50, 50, 500],
 			"_Test Item Home Desktop 200": [150, 0, 150, 750, 150, 150, 750],
 		}
@@ -90,15 +90,15 @@
 		si = webnotes.bean(copy=test_records[2])
 		si.doc.currency = "USD"
 		si.doc.conversion_rate = 50
-		si.doclist[1].export_rate = 1
+		si.doclist[1].rate = 1
 		si.doclist[1].price_list_rate = 1
-		si.doclist[2].export_rate = 3
+		si.doclist[2].rate = 3
 		si.doclist[2].price_list_rate = 3
 		si.insert()
 		
 		expected_values = {
-			"keys": ["price_list_rate", "discount_percentage", "export_rate", "export_amount", 
-				"base_price_list_rate", "basic_rate", "amount"],
+			"keys": ["price_list_rate", "discount_percentage", "rate", "export_amount", 
+				"base_price_list_rate", "base_rate", "amount"],
 			"_Test Item Home Desktop 100": [1, 0, 1, 10, 50, 50, 500],
 			"_Test Item Home Desktop 200": [3, 0, 3, 15, 150, 150, 750],
 		}
@@ -153,8 +153,8 @@
 		si.insert()
 		
 		expected_values = {
-			"keys": ["price_list_rate", "discount_percentage", "export_rate", "export_amount", 
-				"base_price_list_rate", "basic_rate", "amount"],
+			"keys": ["price_list_rate", "discount_percentage", "rate", "export_amount", 
+				"base_price_list_rate", "base_rate", "amount"],
 			"_Test Item Home Desktop 100": [62.5, 0, 62.5, 625.0, 50, 50, 465.37],
 			"_Test Item Home Desktop 200": [190.66, 0, 190.66, 953.3, 150, 150, 698.08],
 		}
@@ -266,8 +266,8 @@
 		si.insert()
 		
 		expected_values = {
-			"keys": ["price_list_rate", "discount_percentage", "export_rate", "export_amount", 
-				"base_price_list_rate", "basic_rate", "amount"],
+			"keys": ["price_list_rate", "discount_percentage", "rate", "export_amount", 
+				"base_price_list_rate", "base_rate", "amount"],
 			"_Test Item Home Desktop 100": [62.5, 0, 62.5, 625.0, 50, 50, 499.98],
 			"_Test Item Home Desktop 200": [190.66, 0, 190.66, 953.3, 150, 150, 750],
 		}
@@ -319,8 +319,8 @@
 		si.insert()
 		
 		expected_values = {
-			"keys": ["price_list_rate", "discount_percentage", "export_rate", "export_amount", 
-				"base_price_list_rate", "basic_rate", "amount"],
+			"keys": ["price_list_rate", "discount_percentage", "rate", "export_amount", 
+				"base_price_list_rate", "base_rate", "amount"],
 			"_Test Item Home Desktop 100": [55.56, 10, 50, 500, 2222.11, 1999.9, 19999.04],
 			"_Test Item Home Desktop 200": [187.5, 20, 150, 750, 7375.66, 5900.53, 29502.66],
 		}
@@ -890,11 +890,11 @@
 		}, 
 		{
 			"amount": 500.0, 
-			"basic_rate": 500.0, 
+			"base_rate": 500.0, 
 			"description": "138-CMS Shoe", 
 			"doctype": "Sales Invoice Item", 
 			"export_amount": 500.0, 
-			"export_rate": 500.0, 
+			"rate": 500.0, 
 			"income_account": "Sales - _TC",
 			"cost_center": "_Test Cost Center - _TC",
 			"item_name": "138-CMS Shoe", 
@@ -959,7 +959,7 @@
 			"doctype": "Sales Invoice Item", 
 			"parentfield": "entries",
 			"qty": 1.0,
-			"basic_rate": 500.0,
+			"base_rate": 500.0,
 			"amount": 500.0, 
 			"price_list_rate": 500.0, 
 			"export_amount": 500.0, 
@@ -1012,7 +1012,7 @@
 			"item_name": "_Test Item Home Desktop 100",
 			"qty": 10,
 			"price_list_rate": 50,
-			"export_rate": 50,
+			"rate": 50,
 			"stock_uom": "_Test UOM",
 			"item_tax_rate": json.dumps({"_Test Account Excise Duty - _TC": 10}),
 			"income_account": "Sales - _TC",
@@ -1026,7 +1026,7 @@
 			"item_name": "_Test Item Home Desktop 200",
 			"qty": 5,
 			"price_list_rate": 150,
-			"export_rate": 150,
+			"rate": 150,
 			"stock_uom": "_Test UOM",
 			"income_account": "Sales - _TC",
 			"cost_center": "_Test Cost Center - _TC",
diff --git a/erpnext/accounts/report/gross_profit/gross_profit.py b/erpnext/accounts/report/gross_profit/gross_profit.py
index 4f7a1e4..f36255f 100644
--- a/erpnext/accounts/report/gross_profit/gross_profit.py
+++ b/erpnext/accounts/report/gross_profit/gross_profit.py
@@ -42,7 +42,7 @@
 		icon = """<a href="%s"><i class="icon icon-share" style="cursor: pointer;"></i></a>""" \
 			% ("/".join(["#Form", row.parenttype, row.name]),)
 		data.append([row.name, icon, row.posting_date, row.posting_time, row.item_code, row.item_name,
-			row.description, row.warehouse, row.qty, row.basic_rate, 
+			row.description, row.warehouse, row.qty, row.base_rate, 
 			row.qty and (buying_amount / row.qty) or 0, row.amount, buying_amount,
 			gross_profit, gross_profit_percent, row.project])
 			
@@ -93,7 +93,7 @@
 	delivery_note_items = webnotes.conn.sql("""select item.parenttype, dn.name, 
 		dn.posting_date, dn.posting_time, dn.project_name, 
 		item.item_code, item.item_name, item.description, item.warehouse,
-		item.qty, item.basic_rate, item.amount, item.name as "item_row",
+		item.qty, item.base_rate, item.amount, item.name as "item_row",
 		timestamp(dn.posting_date, dn.posting_time) as posting_datetime
 		from `tabDelivery Note` dn, `tabDelivery Note Item` item
 		where item.parent = dn.name and dn.docstatus = 1 %s
@@ -102,7 +102,7 @@
 	sales_invoice_items = webnotes.conn.sql("""select item.parenttype, si.name, 
 		si.posting_date, si.posting_time, si.project_name,
 		item.item_code, item.item_name, item.description, item.warehouse,
-		item.qty, item.basic_rate, item.amount, item.name as "item_row",
+		item.qty, item.base_rate, item.amount, item.name as "item_row",
 		timestamp(si.posting_date, si.posting_time) as posting_datetime
 		from `tabSales Invoice` si, `tabSales Invoice Item` item
 		where item.parent = si.name and si.docstatus = 1 %s
diff --git a/erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py b/erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py
index 7f28c4e..22e2caf 100644
--- a/erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py
+++ b/erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py
@@ -20,7 +20,7 @@
 		expense_account = d.expense_account or aii_account_map.get(d.company)
 		row = [d.item_code, d.item_name, d.item_group, d.parent, d.posting_date, 
 			d.supplier_name, d.credit_to, d.project_name, d.company, d.purchase_order, 
-			d.purchase_receipt, expense_account, d.qty, d.rate, d.amount]
+			d.purchase_receipt, expense_account, d.qty, d.base_rate, d.amount]
 		for tax in tax_accounts:
 			row.append(item_tax.get(d.parent, {}).get(d.item_code, {}).get(tax, 0))
 
@@ -60,7 +60,7 @@
 	return webnotes.conn.sql("""select pi_item.parent, pi.posting_date, pi.credit_to, pi.company, 
 		pi.supplier, pi.remarks, pi_item.item_code, pi_item.item_name, pi_item.item_group, 
 		pi_item.project_name, pi_item.purchase_order, pi_item.purchase_receipt, 
-		pi_item.expense_account, pi_item.qty, pi_item.rate, pi_item.amount, pi.supplier_name
+		pi_item.expense_account, pi_item.qty, pi_item.base_rate, pi_item.amount, pi.supplier_name
 		from `tabPurchase Invoice` pi, `tabPurchase Invoice Item` pi_item 
 		where pi.name = pi_item.parent and pi.docstatus = 1 %s %s
 		order by pi.posting_date desc, pi_item.item_code desc""" % (conditions, match_conditions), filters, as_dict=1)
diff --git a/erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py b/erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py
index 9f1fd87..b8f2f4d 100644
--- a/erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py
+++ b/erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py
@@ -18,7 +18,7 @@
 	for d in item_list:
 		row = [d.item_code, d.item_name, d.item_group, d.parent, d.posting_date, 
 			d.customer_name, d.debit_to, d.territory, d.project_name, d.company, d.sales_order, 
-			d.delivery_note, d.income_account, d.qty, d.basic_rate, d.amount]
+			d.delivery_note, d.income_account, d.qty, d.base_rate, d.amount]
 			
 		for tax in tax_accounts:
 			row.append(item_tax.get(d.parent, {}).get(d.item_code, {}).get(tax, 0))
@@ -58,7 +58,7 @@
 	return webnotes.conn.sql("""select si_item.parent, si.posting_date, si.debit_to, si.project_name, 
 		si.customer, si.remarks, si.territory, si.company, si_item.item_code, si_item.item_name, 
 		si_item.item_group, si_item.sales_order, si_item.delivery_note, si_item.income_account, 
-		si_item.qty, si_item.basic_rate, si_item.amount, si.customer_name
+		si_item.qty, si_item.base_rate, si_item.amount, si.customer_name
 		from `tabSales Invoice` si, `tabSales Invoice Item` si_item 
 		where si.name = si_item.parent and si.docstatus = 1 %s 
 		order by si.posting_date desc, si_item.item_code desc""" % conditions, filters, as_dict=1)
diff --git a/erpnext/buying/doctype/purchase_common/purchase_common.js b/erpnext/buying/doctype/purchase_common/purchase_common.js
index aba37f0..c5456c3 100644
--- a/erpnext/buying/doctype/purchase_common/purchase_common.js
+++ b/erpnext/buying/doctype/purchase_common/purchase_common.js
@@ -118,8 +118,8 @@
 		var item = wn.model.get_doc(cdt, cdn);
 		wn.model.round_floats_in(item, ["price_list_rate", "discount_percentage"]);
 		
-		item.import_rate = flt(item.price_list_rate * (1 - item.discount_percentage / 100.0),
-			precision("import_rate", item));
+		item.rate = flt(item.price_list_rate * (1 - item.discount_percentage / 100.0),
+			precision("rate", item));
 		
 		this.calculate_taxes_and_totals();
 	},
@@ -128,12 +128,12 @@
 		this.price_list_rate(doc, cdt, cdn);
 	},
 	
-	import_rate: function(doc, cdt, cdn) {
+	rate: function(doc, cdt, cdn) {
 		var item = wn.model.get_doc(cdt, cdn);
-		wn.model.round_floats_in(item, ["import_rate", "discount_percentage"]);
+		wn.model.round_floats_in(item, ["rate", "discount_percentage"]);
 		
 		if(item.price_list_rate) {
-			item.discount_percentage = flt((1 - item.import_rate / item.price_list_rate) * 100.0,
+			item.discount_percentage = flt((1 - item.rate / item.price_list_rate) * 100.0,
 				precision("discount_percentage", item));
 		} else {
 			item.discount_percentage = 0.0;
@@ -219,24 +219,13 @@
 	calculate_item_values: function() {
 		var me = this;
 		
-		if(this.frm.doc.doctype != "Purchase Invoice") {
-			// hack!
-			var purchase_rate_df = wn.meta.get_docfield(this.tname, "rate", this.frm.doc.name);
-			wn.meta.docfield_copy[this.tname][this.frm.doc.name]["rate"] = 
-				$.extend({}, purchase_rate_df);
-		}
-		
 		$.each(this.frm.item_doclist, function(i, item) {
-			if(me.frm.doc.doctype != "Purchase Invoice") {
-				item.rate = item.purchase_rate;
-			}
-			
 			wn.model.round_floats_in(item);
-			item.import_amount = flt(item.import_rate * item.qty, precision("import_amount", item));
+			item.import_amount = flt(item.rate * item.qty, precision("import_amount", item));
 			item.item_tax_amount = 0.0;
 			
 			me._set_in_company_currency(item, "price_list_rate", "base_price_list_rate");
-			me._set_in_company_currency(item, "import_rate", "rate");
+			me._set_in_company_currency(item, "rate", "base_rate");
 			me._set_in_company_currency(item, "import_amount", "amount");
 		});
 		
@@ -300,18 +289,6 @@
 	_cleanup: function() {
 		this._super();
 		this.frm.doc.in_words = this.frm.doc.in_words_import = "";
-
-		// except in purchase invoice, rate field is purchase_rate		
-		// reset fieldname of rate
-		if(this.frm.doc.doctype != "Purchase Invoice") {
-			// clear hack
-			delete wn.meta.docfield_copy[this.tname][this.frm.doc.name]["rate"];
-			
-			$.each(this.frm.item_doclist, function(i, item) {
-				item.purchase_rate = item.rate;
-				delete item["rate"];
-			});
-		}
 		
 		if(this.frm.item_doclist.length) {
 			if(!wn.meta.get_docfield(this.frm.item_doclist[0].doctype, "item_tax_amount", this.frm.doctype)) {
@@ -414,10 +391,10 @@
 			});
 		};
 		
-		setup_field_label_map(["purchase_rate", "base_price_list_rate", "amount", "rate"],
+		setup_field_label_map(["base_rate", "base_price_list_rate", "amount", "base_rate"],
 			company_currency, this.fname);
 		
-		setup_field_label_map(["import_rate", "price_list_rate", "import_amount"],
+		setup_field_label_map(["rate", "price_list_rate", "import_amount"],
 			this.frm.doc.currency, this.fname);
 		
 		if(this.frm.fields_dict[this.other_fname]) {
@@ -431,7 +408,7 @@
 		
 		// toggle columns
 		var item_grid = this.frm.fields_dict[this.fname].grid;
-		var fieldnames = $.map(["purchase_rate", "base_price_list_rate", "amount", "rate"], function(fname) {
+		var fieldnames = $.map(["base_rate", "base_price_list_rate", "amount", "base_rate"], function(fname) {
 			return wn.meta.get_docfield(item_grid.doctype, fname, me.frm.docname) ? fname : null;
 		});
 		
diff --git a/erpnext/buying/doctype/purchase_common/purchase_common.py b/erpnext/buying/doctype/purchase_common/purchase_common.py
index 2f96eda..49c8793 100644
--- a/erpnext/buying/doctype/purchase_common/purchase_common.py
+++ b/erpnext/buying/doctype/purchase_common/purchase_common.py
@@ -30,12 +30,12 @@
 			last_purchase_rate = None
 			if last_purchase_details and \
 					(last_purchase_details.purchase_date > this_purchase_date):
-				last_purchase_rate = last_purchase_details['purchase_rate']
+				last_purchase_rate = last_purchase_details['base_rate']
 			elif is_submit == 1:
 				# even if this transaction is the latest one, it should be submitted
 				# for it to be considered for latest purchase rate
 				if flt(d.conversion_factor):
-					last_purchase_rate = flt(d.purchase_rate) / flt(d.conversion_factor)
+					last_purchase_rate = flt(d.base_rate) / flt(d.conversion_factor)
 				else:
 					webnotes.throw(_("Row ") + cstr(d.idx) + ": " + 
 						_("UOM Conversion Factor is mandatory"))
@@ -57,18 +57,18 @@
 				if last_purchase_details:
 					d.base_price_list_rate = last_purchase_details['base_price_list_rate'] * (flt(d.conversion_factor) or 1.0)
 					d.discount_percentage = last_purchase_details['discount_percentage']
-					d.purchase_rate = last_purchase_details['purchase_rate'] * (flt(d.conversion_factor) or 1.0)
+					d.base_rate = last_purchase_details['base_rate'] * (flt(d.conversion_factor) or 1.0)
 					d.price_list_rate = d.base_price_list_rate / conversion_rate
-					d.import_rate = d.purchase_rate / conversion_rate
+					d.rate = d.base_rate / conversion_rate
 				else:
 					# if no last purchase found, reset all values to 0
-					d.base_price_list_rate = d.purchase_rate = d.price_list_rate = d.import_rate = d.discount_percentage = 0
+					d.base_price_list_rate = d.base_rate = d.price_list_rate = d.rate = d.discount_percentage = 0
 					
 					item_last_purchase_rate = webnotes.conn.get_value("Item",
 						d.item_code, "last_purchase_rate")
 					if item_last_purchase_rate:
-						d.base_price_list_rate = d.purchase_rate = d.price_list_rate \
-							= d.import_rate = item_last_purchase_rate
+						d.base_price_list_rate = d.base_rate = d.price_list_rate \
+							= d.rate = item_last_purchase_rate
 			
 	def validate_for_items(self, obj):
 		check_list, chk_dupl_itm=[],[]
diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.py b/erpnext/buying/doctype/purchase_order/purchase_order.py
index 89e9806..bbdf21e 100644
--- a/erpnext/buying/doctype/purchase_order/purchase_order.py
+++ b/erpnext/buying/doctype/purchase_order/purchase_order.py
@@ -58,7 +58,7 @@
 			},
 			"Supplier Quotation Item": {
 				"ref_dn_field": "supplier_quotation_item",
-				"compare_fields": [["import_rate", "="], ["project_name", "="], ["item_code", "="], 
+				"compare_fields": [["rate", "="], ["project_name", "="], ["item_code", "="], 
 					["uom", "="]],
 				"is_child_table": True
 			}
@@ -190,8 +190,8 @@
 	def update_item(obj, target, source_parent):
 		target.qty = flt(obj.qty) - flt(obj.received_qty)
 		target.stock_qty = (flt(obj.qty) - flt(obj.received_qty)) * flt(obj.conversion_factor)
-		target.import_amount = (flt(obj.qty) - flt(obj.received_qty)) * flt(obj.import_rate)
-		target.amount = (flt(obj.qty) - flt(obj.received_qty)) * flt(obj.purchase_rate)
+		target.import_amount = (flt(obj.qty) - flt(obj.received_qty)) * flt(obj.rate)
+		target.amount = (flt(obj.qty) - flt(obj.received_qty)) * flt(obj.base_rate)
 
 	doclist = get_mapped_doclist("Purchase Order", source_name,	{
 		"Purchase Order": {
@@ -229,8 +229,8 @@
 	def update_item(obj, target, source_parent):
 		target.import_amount = flt(obj.import_amount) - flt(obj.billed_amt)
 		target.amount = target.import_amount * flt(source_parent.conversion_rate)
-		if flt(obj.purchase_rate):
-			target.qty = target.amount / flt(obj.purchase_rate)
+		if flt(obj.base_rate):
+			target.qty = target.amount / flt(obj.base_rate)
 
 	doclist = get_mapped_doclist("Purchase Order", source_name,	{
 		"Purchase Order": {
@@ -244,7 +244,6 @@
 			"field_map": {
 				"name": "po_detail", 
 				"parent": "purchase_order", 
-				"purchase_rate": "rate"
 			},
 			"postprocess": update_item,
 			"condition": lambda doc: doc.amount==0 or doc.billed_amt < doc.import_amount 
diff --git a/erpnext/buying/doctype/purchase_order/test_purchase_order.py b/erpnext/buying/doctype/purchase_order/test_purchase_order.py
index 2aede08..1412ce1 100644
--- a/erpnext/buying/doctype/purchase_order/test_purchase_order.py
+++ b/erpnext/buying/doctype/purchase_order/test_purchase_order.py
@@ -138,7 +138,7 @@
 			"item_name": "_Test FG Item", 
 			"parentfield": "po_details", 
 			"qty": 10.0,
-			"import_rate": 500.0,
+			"rate": 500.0,
 			"amount": 5000.0,
 			"warehouse": "_Test Warehouse - _TC", 
 			"stock_uom": "_Test UOM", 
diff --git a/erpnext/buying/doctype/supplier_quotation/test_supplier_quotation.py b/erpnext/buying/doctype/supplier_quotation/test_supplier_quotation.py
index 82444ea..7aed5de 100644
--- a/erpnext/buying/doctype/supplier_quotation/test_supplier_quotation.py
+++ b/erpnext/buying/doctype/supplier_quotation/test_supplier_quotation.py
@@ -55,7 +55,7 @@
 			"item_name": "_Test FG Item", 
 			"parentfield": "quotation_items", 
 			"qty": 10.0,
-			"import_rate": 500.0,
+			"rate": 500.0,
 			"amount": 5000.0,
 			"warehouse": "_Test Warehouse - _TC", 
 			"uom": "_Test UOM",
diff --git a/erpnext/controllers/buying_controller.py b/erpnext/controllers/buying_controller.py
index a8b5101..119ac28 100644
--- a/erpnext/controllers/buying_controller.py
+++ b/erpnext/controllers/buying_controller.py
@@ -79,31 +79,22 @@
 		self.calculate_total_advance("Purchase Invoice", "advance_allocation_details")
 		
 	def calculate_item_values(self):
-		# hack! - cleaned up in _cleanup()
-		if self.doc.doctype != "Purchase Invoice":
-			df = self.meta.get_field("purchase_rate", parentfield=self.fname)
-			df.fieldname = "rate"
-			
 		for item in self.item_doclist:
-			# hack! - cleaned up in _cleanup()
-			if self.doc.doctype != "Purchase Invoice":
-				item.rate = item.purchase_rate
-				
 			self.round_floats_in(item)
 
 			if item.discount_percentage == 100.0:
-				item.import_rate = 0.0
-			elif not item.import_rate:
-				item.import_rate = flt(item.price_list_rate * (1.0 - (item.discount_percentage / 100.0)),
-					self.precision("import_rate", item))
+				item.rate = 0.0
+			elif not item.rate:
+				item.rate = flt(item.price_list_rate * (1.0 - (item.discount_percentage / 100.0)),
+					self.precision("rate", item))
 						
-			item.import_amount = flt(item.import_rate * item.qty,
+			item.import_amount = flt(item.rate * item.qty,
 				self.precision("import_amount", item))
 			item.item_tax_amount = 0.0;
 
 			self._set_in_company_currency(item, "import_amount", "amount")
 			self._set_in_company_currency(item, "price_list_rate", "base_price_list_rate")
-			self._set_in_company_currency(item, "import_rate", "rate")
+			self._set_in_company_currency(item, "rate", "base_rate")
 			
 			
 	def calculate_net_total(self):
@@ -159,16 +150,6 @@
 			
 	def _cleanup(self):
 		super(BuyingController, self)._cleanup()
-			
-		# except in purchase invoice, rate field is purchase_rate
-		# reset fieldname of rate
-		if self.doc.doctype != "Purchase Invoice":
-			df = self.meta.get_field("rate", parentfield=self.fname)
-			df.fieldname = "purchase_rate"
-			
-			for item in self.item_doclist:
-				item.purchase_rate = item.rate
-				del item.fields["rate"]
 		
 		if not self.meta.get_field("item_tax_amount", parentfield=self.fname):
 			for item in self.item_doclist:
diff --git a/erpnext/controllers/selling_controller.py b/erpnext/controllers/selling_controller.py
index feb9e81..eb7ad31 100644
--- a/erpnext/controllers/selling_controller.py
+++ b/erpnext/controllers/selling_controller.py
@@ -115,13 +115,13 @@
 				item.amount = flt((item.export_amount * self.doc.conversion_rate) /
 					(1 + cumulated_tax_fraction), self.precision("amount", item))
 					
-				item.basic_rate = flt(item.amount / item.qty, self.precision("basic_rate", item))
+				item.base_rate = flt(item.amount / item.qty, self.precision("base_rate", item))
 				
 				if item.discount_percentage == 100:
-					item.base_price_list_rate = item.basic_rate
-					item.basic_rate = 0.0
+					item.base_price_list_rate = item.base_rate
+					item.base_rate = 0.0
 				else:
-					item.base_price_list_rate = flt(item.basic_rate / (1 - (item.discount_percentage / 100.0)),
+					item.base_price_list_rate = flt(item.base_rate / (1 - (item.discount_percentage / 100.0)),
 						self.precision("base_price_list_rate", item))
 			
 	def get_current_tax_fraction(self, tax, item_tax_map):
@@ -153,16 +153,16 @@
 				self.round_floats_in(item)
 
 				if item.discount_percentage == 100:
-					item.export_rate = 0
-				elif not item.export_rate:
-					item.export_rate = flt(item.price_list_rate * (1.0 - (item.discount_percentage / 100.0)),
-						self.precision("export_rate", item))
+					item.rate = 0
+				elif not item.rate:
+					item.rate = flt(item.price_list_rate * (1.0 - (item.discount_percentage / 100.0)),
+						self.precision("rate", item))
 
-				item.export_amount = flt(item.export_rate * item.qty,
+				item.export_amount = flt(item.rate * item.qty,
 					self.precision("export_amount", item))
 
 				self._set_in_company_currency(item, "price_list_rate", "base_price_list_rate")
-				self._set_in_company_currency(item, "export_rate", "basic_rate")
+				self._set_in_company_currency(item, "rate", "base_rate")
 				self._set_in_company_currency(item, "export_amount", "amount")
 
 	def calculate_net_total(self):
diff --git a/erpnext/public/js/feature_setup.js b/erpnext/public/js/feature_setup.js
index 2c560d7..6a58173 100644
--- a/erpnext/public/js/feature_setup.js
+++ b/erpnext/public/js/feature_setup.js
@@ -114,12 +114,12 @@
 		'Sales Order': {'sales_order_details':['page_break']}
 	},
 	'fs_exports': {
-		'Delivery Note': {'fields':['conversion_rate','currency','grand_total','in_words','rounded_total'],'delivery_note_details':['base_price_list_rate','amount','basic_rate']},
+		'Delivery Note': {'fields':['conversion_rate','currency','grand_total','in_words','rounded_total'],'delivery_note_details':['base_price_list_rate','amount','base_rate']},
 		'POS Setting': {'fields':['conversion_rate','currency']},
-		'Quotation': {'fields':['conversion_rate','currency','grand_total','in_words','rounded_total'],'quotation_details':['base_price_list_rate','amount','basic_rate']},
-		'Sales Invoice': {'fields':['conversion_rate','currency','grand_total','in_words','rounded_total'],'entries':['base_price_list_rate','amount','basic_rate']},
+		'Quotation': {'fields':['conversion_rate','currency','grand_total','in_words','rounded_total'],'quotation_details':['base_price_list_rate','amount','base_rate']},
+		'Sales Invoice': {'fields':['conversion_rate','currency','grand_total','in_words','rounded_total'],'entries':['base_price_list_rate','amount','base_rate']},
 		'Sales BOM': {'fields':['currency']},
-		'Sales Order': {'fields':['conversion_rate','currency','grand_total','in_words','rounded_total'],'sales_order_details':['base_price_list_rate','amount','basic_rate']}
+		'Sales Order': {'fields':['conversion_rate','currency','grand_total','in_words','rounded_total'],'sales_order_details':['base_price_list_rate','amount','base_rate']}
 	},
 	
 	'fs_imports': {
@@ -133,12 +133,12 @@
 			'fields': ['conversion_rate','currency', 'grand_total',
 			'in_words', 'net_total', 'other_charges_added',
 			 'other_charges_deducted'],
-			'po_details': ['base_price_list_rate', 'amount','purchase_rate']
+			'po_details': ['base_price_list_rate', 'amount','base_rate']
 		},
 		'Purchase Receipt': {
 			'fields': ['conversion_rate', 'currency','grand_total', 'in_words',
 			 	'net_total', 'other_charges_added', 'other_charges_deducted'],
-			'purchase_receipt_details': ['base_price_list_rate','amount','purchase_rate']
+			'purchase_receipt_details': ['base_price_list_rate','amount','base_rate']
 		},
 		'Supplier Quotation': {
 			'fields':['conversion_rate','currency']
diff --git a/erpnext/selling/doctype/quotation/test_quotation.py b/erpnext/selling/doctype/quotation/test_quotation.py
index 650095c..1b6aa1e 100644
--- a/erpnext/selling/doctype/quotation/test_quotation.py
+++ b/erpnext/selling/doctype/quotation/test_quotation.py
@@ -60,8 +60,8 @@
 			"item_name": "CPU", 
 			"parentfield": "quotation_details", 
 			"qty": 10.0,
-			"basic_rate": 100.0,
-			"export_rate": 100.0,
+			"base_rate": 100.0,
+			"rate": 100.0,
 			"amount": 1000.0,
 		}
 	],	
diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py
index fc33d6c..0119513 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.py
+++ b/erpnext/selling/doctype/sales_order/sales_order.py
@@ -281,8 +281,8 @@
 @webnotes.whitelist()
 def make_delivery_note(source_name, target_doclist=None):	
 	def update_item(obj, target, source_parent):
-		target.amount = (flt(obj.qty) - flt(obj.delivered_qty)) * flt(obj.basic_rate)
-		target.export_amount = (flt(obj.qty) - flt(obj.delivered_qty)) * flt(obj.export_rate)
+		target.amount = (flt(obj.qty) - flt(obj.delivered_qty)) * flt(obj.base_rate)
+		target.export_amount = (flt(obj.qty) - flt(obj.delivered_qty)) * flt(obj.rate)
 		target.qty = flt(obj.qty) - flt(obj.delivered_qty)
 			
 	doclist = get_mapped_doclist("Sales Order", source_name, {
@@ -299,7 +299,7 @@
 		"Sales Order Item": {
 			"doctype": "Delivery Note Item", 
 			"field_map": {
-				"export_rate": "export_rate", 
+				"rate": "rate", 
 				"name": "prevdoc_detail_docname", 
 				"parent": "against_sales_order", 
 				"warehouse": "warehouse"
@@ -329,7 +329,7 @@
 	def update_item(obj, target, source_parent):
 		target.export_amount = flt(obj.export_amount) - flt(obj.billed_amt)
 		target.amount = target.export_amount * flt(source_parent.conversion_rate)
-		target.qty = obj.export_rate and target.export_amount / flt(obj.export_rate) or obj.qty
+		target.qty = obj.rate and target.export_amount / flt(obj.rate) or obj.qty
 			
 	doclist = get_mapped_doclist("Sales Order", source_name, {
 		"Sales Order": {
diff --git a/erpnext/selling/doctype/sales_order/test_sales_order.py b/erpnext/selling/doctype/sales_order/test_sales_order.py
index 6e0f927..7eda726 100644
--- a/erpnext/selling/doctype/sales_order/test_sales_order.py
+++ b/erpnext/selling/doctype/sales_order/test_sales_order.py
@@ -333,8 +333,8 @@
 			"item_name": "CPU", 
 			"parentfield": "sales_order_details", 
 			"qty": 10.0,
-			"basic_rate": 100.0,
-			"export_rate": 100.0,
+			"base_rate": 100.0,
+			"rate": 100.0,
 			"amount": 1000.0,
 			"warehouse": "_Test Warehouse - _TC",
 		}
diff --git a/erpnext/selling/sales_common.js b/erpnext/selling/sales_common.js
index 4ea9cf4..0e01a81 100644
--- a/erpnext/selling/sales_common.js
+++ b/erpnext/selling/sales_common.js
@@ -167,8 +167,8 @@
 		var item = wn.model.get_doc(cdt, cdn);
 		wn.model.round_floats_in(item, ["price_list_rate", "discount_percentage"]);
 		
-		item.export_rate = flt(item.price_list_rate * (1 - item.discount_percentage / 100.0),
-			precision("export_rate", item));
+		item.rate = flt(item.price_list_rate * (1 - item.discount_percentage / 100.0),
+			precision("rate", item));
 		
 		this.calculate_taxes_and_totals();
 	},
@@ -182,12 +182,12 @@
 		}
 	},
 	
-	export_rate: function(doc, cdt, cdn) {
+	rate: function(doc, cdt, cdn) {
 		var item = wn.model.get_doc(cdt, cdn);
-		wn.model.round_floats_in(item, ["export_rate", "price_list_rate"]);
+		wn.model.round_floats_in(item, ["rate", "price_list_rate"]);
 		
 		if(item.price_list_rate) {
-			item.discount_percentage = flt((1 - item.export_rate / item.price_list_rate) * 100.0,
+			item.discount_percentage = flt((1 - item.rate / item.price_list_rate) * 100.0,
 				precision("discount_percentage", item));
 		} else {
 			item.discount_percentage = 0.0;
@@ -288,10 +288,10 @@
 		if (!this.discount_amount_applied) {
 			$.each(this.frm.item_doclist, function(i, item) {
 				wn.model.round_floats_in(item);
-				item.export_amount = flt(item.export_rate * item.qty, precision("export_amount", item));
+				item.export_amount = flt(item.rate * item.qty, precision("export_amount", item));
 
 				me._set_in_company_currency(item, "price_list_rate", "base_price_list_rate");
-				me._set_in_company_currency(item, "export_rate", "basic_rate");
+				me._set_in_company_currency(item, "rate", "base_rate");
 				me._set_in_company_currency(item, "export_amount", "amount");
 			});
 		}
@@ -322,13 +322,13 @@
 					(item.export_amount * me.frm.doc.conversion_rate) / (1 + cumulated_tax_fraction),
 					precision("amount", item));
 
-				item.basic_rate = flt(item.amount / item.qty, precision("basic_rate", item));
+				item.base_rate = flt(item.amount / item.qty, precision("base_rate", item));
 				
 				if(item.discount_percentage == 100) {
-					item.base_price_list_rate = item.basic_rate;
-					item.basic_rate = 0.0;
+					item.base_price_list_rate = item.base_rate;
+					item.base_rate = 0.0;
 				} else {
-					item.base_price_list_rate = flt(item.basic_rate / (1 - item.discount_percentage / 100.0),
+					item.base_price_list_rate = flt(item.base_rate / (1 - item.discount_percentage / 100.0),
 						precision("base_price_list_rate", item));
 				}
 			}
@@ -560,10 +560,10 @@
 			});
 		}
 		
-		setup_field_label_map(["basic_rate", "base_price_list_rate", "amount"],
+		setup_field_label_map(["base_rate", "base_price_list_rate", "amount"],
 			company_currency, this.fname);
 		
-		setup_field_label_map(["export_rate", "price_list_rate", "export_amount"],
+		setup_field_label_map(["rate", "price_list_rate", "export_amount"],
 			this.frm.doc.currency, this.fname);
 		
 		setup_field_label_map(["tax_amount", "total"], company_currency, "other_charges");
@@ -579,7 +579,7 @@
 			(wn.model.get_doclist(cur_frm.doctype, cur_frm.docname, 
 				{parentfield: "other_charges", included_in_print_rate: 1}).length);
 		
-		$.each(["basic_rate", "base_price_list_rate", "amount"], function(i, fname) {
+		$.each(["base_rate", "base_price_list_rate", "amount"], function(i, fname) {
 			if(wn.meta.get_docfield(item_grid.doctype, fname))
 				item_grid.set_column_disp(fname, show);
 		});
diff --git a/erpnext/setup/doctype/authorization_control/authorization_control.py b/erpnext/setup/doctype/authorization_control/authorization_control.py
index 014ca2c..98d99b1 100644
--- a/erpnext/setup/doctype/authorization_control/authorization_control.py
+++ b/erpnext/setup/doctype/authorization_control/authorization_control.py
@@ -99,12 +99,12 @@
 	def validate_approving_authority(self, doctype_name,company, total, doc_obj = ''):
 		av_dis = 0
 		if doc_obj:
-			price_list_rate, basic_rate = 0, 0
+			price_list_rate, base_rate = 0, 0
 			for d in getlist(doc_obj.doclist, doc_obj.fname):
-				if d.base_price_list_rate and d.basic_rate:
+				if d.base_price_list_rate and d.base_rate:
 					price_list_rate += flt(d.base_price_list_rate)
-					basic_rate += flt(d.basic_rate)
-			if price_list_rate: av_dis = 100 - flt(basic_rate * 100 / price_list_rate)
+					base_rate += flt(d.base_rate)
+			if price_list_rate: av_dis = 100 - flt(base_rate * 100 / price_list_rate)
 
 		final_based_on = ['Grand Total','Average Discount','Customerwise Discount','Itemwise Discount']
 		# Individual User
diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.js b/erpnext/stock/doctype/delivery_note/delivery_note.js
index ca2f705..0dfa6d0 100644
--- a/erpnext/stock/doctype/delivery_note/delivery_note.js
+++ b/erpnext/stock/doctype/delivery_note/delivery_note.js
@@ -134,15 +134,15 @@
 
 	if (doc.print_without_amount) {
 		dn_fields['currency'].print_hide = 1;
-		dn_item_fields['export_rate'].print_hide = 1;
+		dn_item_fields['rate'].print_hide = 1;
 		dn_item_fields['discount_percentage'].print_hide = 1;
 		dn_item_fields['price_list_rate'].print_hide = 1;
 		dn_item_fields['export_amount'].print_hide = 1;
 	} else {
 		if (dn_fields_copy['currency'].print_hide != 1)
 			dn_fields['currency'].print_hide = 0;
-		if (dn_item_fields_copy['export_rate'].print_hide != 1)
-			dn_item_fields['export_rate'].print_hide = 0;
+		if (dn_item_fields_copy['rate'].print_hide != 1)
+			dn_item_fields['rate'].print_hide = 0;
 		if (dn_item_fields_copy['export_amount'].print_hide != 1)
 			dn_item_fields['export_amount'].print_hide = 0;
 	}
diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.py b/erpnext/stock/doctype/delivery_note/delivery_note.py
index d7fe06a..248edda 100644
--- a/erpnext/stock/doctype/delivery_note/delivery_note.py
+++ b/erpnext/stock/doctype/delivery_note/delivery_note.py
@@ -96,7 +96,7 @@
 					super(DocType, self).validate_with_previous_doc(self.tname, {
 						fn[0] + " Item": {
 							"ref_dn_field": "prevdoc_detail_docname",
-							"compare_fields": [["export_rate", "="]],
+							"compare_fields": [["rate", "="]],
 							"is_child_table": True
 						}
 					})
diff --git a/erpnext/stock/doctype/delivery_note/test_delivery_note.py b/erpnext/stock/doctype/delivery_note/test_delivery_note.py
index 4213d19..a0def57 100644
--- a/erpnext/stock/doctype/delivery_note/test_delivery_note.py
+++ b/erpnext/stock/doctype/delivery_note/test_delivery_note.py
@@ -37,7 +37,7 @@
 		self.assertEquals(len(si), len(dn.doclist))
 		
 		# modify export_amount
-		si[1].export_rate = 200
+		si[1].rate = 200
 		self.assertRaises(webnotes.ValidationError, webnotes.bean(si).insert)
 		
 	
@@ -97,7 +97,7 @@
 		# back dated purchase receipt
 		pr = webnotes.bean(copy=pr_test_records[0])
 		pr.doc.posting_date = "2013-01-01"
-		pr.doclist[1].import_rate = 100
+		pr.doclist[1].rate = 100
 		pr.doclist[1].amount = 100
 		
 		pr.insert()
@@ -243,8 +243,8 @@
 			"item_name": "_Test Item", 
 			"parentfield": "delivery_note_details", 
 			"qty": 5.0, 
-			"basic_rate": 100.0,
-			"export_rate": 100.0,
+			"base_rate": 100.0,
+			"rate": 100.0,
 			"amount": 500.0,
 			"warehouse": "_Test Warehouse - _TC",
 			"stock_uom": "_Test UOM",
diff --git a/erpnext/stock/doctype/item/item.py b/erpnext/stock/doctype/item/item.py
index 37cd346..2bb6d82 100644
--- a/erpnext/stock/doctype/item/item.py
+++ b/erpnext/stock/doctype/item/item.py
@@ -245,8 +245,7 @@
 			self.recalculate_bin_qty(newdn)
 			
 	def set_last_purchase_rate(self, newdn):
-		from erpnext.buying.utils import get_last_purchase_details
-		last_purchase_rate = get_last_purchase_details(newdn).get("purchase_rate", 0)
+		last_purchase_rate = get_last_purchase_details(newdn).get("base_rate", 0)
 		webnotes.conn.set_value("Item", newdn, "last_purchase_rate", last_purchase_rate)
 			
 	def recalculate_bin_qty(self, newdn):
@@ -311,7 +310,7 @@
 	last_purchase_order = webnotes.conn.sql("""\
 		select po.name, po.transaction_date, po.conversion_rate,
 			po_item.conversion_factor, po_item.base_price_list_rate, 
-			po_item.discount_percentage, po_item.purchase_rate
+			po_item.discount_percentage, po_item.base_rate
 		from `tabPurchase Order` po, `tabPurchase Order Item` po_item
 		where po.docstatus = 1 and po_item.item_code = %s and po.name != %s and 
 			po.name = po_item.parent
@@ -322,7 +321,7 @@
 	last_purchase_receipt = webnotes.conn.sql("""\
 		select pr.name, pr.posting_date, pr.posting_time, pr.conversion_rate,
 			pr_item.conversion_factor, pr_item.base_price_list_rate, pr_item.discount_percentage,
-			pr_item.purchase_rate
+			pr_item.base_rate
 		from `tabPurchase Receipt` pr, `tabPurchase Receipt Item` pr_item
 		where pr.docstatus = 1 and pr_item.item_code = %s and pr.name != %s and
 			pr.name = pr_item.parent
@@ -352,7 +351,7 @@
 	conversion_factor = flt(last_purchase.conversion_factor)
 	out = webnotes._dict({
 		"base_price_list_rate": flt(last_purchase.base_price_list_rate) / conversion_factor,
-		"purchase_rate": flt(last_purchase.purchase_rate) / conversion_factor,
+		"base_rate": flt(last_purchase.base_rate) / conversion_factor,
 		"discount_percentage": flt(last_purchase.discount_percentage),
 		"purchase_date": purchase_date
 	})
@@ -360,8 +359,8 @@
 	conversion_rate = flt(conversion_rate) or 1.0
 	out.update({
 		"price_list_rate": out.base_price_list_rate / conversion_rate,
-		"import_rate": out.purchase_rate / conversion_rate,
-		"rate": out.purchase_rate
+		"rate": out.base_rate / conversion_rate,
+		"base_rate": out.base_rate
 	})
 	
 	return out
\ No newline at end of file
diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
index 955262f..5025c87 100644
--- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
+++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
@@ -121,7 +121,7 @@
 			super(DocType, self).validate_with_previous_doc(self.tname, {
 				"Purchase Order Item": {
 					"ref_dn_field": "prevdoc_detail_docname",
-					"compare_fields": [["import_rate", "="]],
+					"compare_fields": [["rate", "="]],
 					"is_child_table": True
 				}
 			})
@@ -316,7 +316,6 @@
 				"parent": "purchase_receipt", 
 				"prevdoc_detail_docname": "po_detail", 
 				"prevdoc_docname": "purchase_order", 
-				"purchase_rate": "rate"
 			},
 		}, 
 		"Purchase Taxes and Charges": {
diff --git a/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py b/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py
index c40b72b..06e5c3f 100644
--- a/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py
+++ b/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py
@@ -26,8 +26,8 @@
 		self.assertEquals(pi[0]["doctype"], "Purchase Invoice")
 		self.assertEquals(len(pi), len(pr.doclist))
 		
-		# modify import_rate
-		pi[1].import_rate = 200
+		# modify rate
+		pi[1].rate = 200
 		self.assertRaises(webnotes.ValidationError, webnotes.bean(pi).submit)
 		
 	def test_purchase_receipt_no_gl_entry(self):
@@ -155,7 +155,7 @@
 			"received_qty": 5.0,
 			"qty": 5.0,
 			"rejected_qty": 0.0,
-			"import_rate": 50.0,
+			"rate": 50.0,
 			"amount": 250.0,
 			"warehouse": "_Test Warehouse - _TC", 
 			"stock_uom": "Nos", 
@@ -171,7 +171,7 @@
 			"received_qty": 5.0,
 			"qty": 5.0,
 			"rejected_qty": 0.0,
-			"import_rate": 50.0,
+			"rate": 50.0,
 			"amount": 250.0,
 			"warehouse": "_Test Warehouse 1 - _TC", 
 			"stock_uom": "Nos", 
@@ -236,7 +236,7 @@
 			"received_qty": 10.0,
 			"qty": 10.0,
 			"rejected_qty": 0.0,
-			"import_rate": 500.0,
+			"rate": 500.0,
 			"amount": 5000.0,
 			"warehouse": "_Test Warehouse - _TC", 
 			"stock_uom": "Nos", 
diff --git a/erpnext/stock/doctype/stock_entry/test_stock_entry.py b/erpnext/stock/doctype/stock_entry/test_stock_entry.py
index 8f1fdb8..7239d7a 100644
--- a/erpnext/stock/doctype/stock_entry/test_stock_entry.py
+++ b/erpnext/stock/doctype/stock_entry/test_stock_entry.py
@@ -562,7 +562,7 @@
 		po = webnotes.bean(copy=purchase_order_test_records[0])
 		po.doc.is_subcontracted = None
 		po.doclist[1].item_code = "_Test Item"
-		po.doclist[1].import_rate = 50
+		po.doclist[1].rate = 50
 		po.insert()
 		po.submit()
 
diff --git a/erpnext/stock/report/item_prices/item_prices.py b/erpnext/stock/report/item_prices/item_prices.py
index 7caae59..5a0234d 100644
--- a/erpnext/stock/report/item_prices/item_prices.py
+++ b/erpnext/stock/report/item_prices/item_prices.py
@@ -80,7 +80,7 @@
 
 	query = """select * from (select 
 					result.item_code,
-					result.purchase_rate
+					result.base_rate
 					from (
 						(select 
 							po_item.item_code,
@@ -88,7 +88,7 @@
 							po.transaction_date as posting_date,
 							po_item.base_price_list_rate, 
 							po_item.discount_percentage, 
-							po_item.purchase_rate
+							po_item.base_rate
 						from `tabPurchase Order` po, `tabPurchase Order Item` po_item
 						where po.name = po_item.parent and po.docstatus = 1)
 						union
@@ -98,7 +98,7 @@
 							pr.posting_date,
 							pr_item.base_price_list_rate,
 							pr_item.discount_percentage,
-							pr_item.purchase_rate
+							pr_item.base_rate
 						from `tabPurchase Receipt` pr, `tabPurchase Receipt Item` pr_item
 						where pr.name = pr_item.parent and pr.docstatus = 1)
 				) result
@@ -106,7 +106,7 @@
 				group by item_code"""
 
 	for d in webnotes.conn.sql(query, as_dict=1):
-		item_last_purchase_rate_map.setdefault(d.item_code, d.purchase_rate)
+		item_last_purchase_rate_map.setdefault(d.item_code, d.base_rate)
 
 	return item_last_purchase_rate_map