diff --git a/accounts/doctype/sales_invoice/test_sales_invoice.py b/accounts/doctype/sales_invoice/test_sales_invoice.py
index 05e4d92..cdd61b9 100644
--- a/accounts/doctype/sales_invoice/test_sales_invoice.py
+++ b/accounts/doctype/sales_invoice/test_sales_invoice.py
@@ -916,7 +916,6 @@
 			"item_name": "_Test Item Home Desktop 100",
 			"qty": 10,
 			"ref_rate": 62.5,
-			"export_rate": 62.5,
 			"stock_uom": "_Test UOM",
 			"item_tax_rate": json.dumps({"_Test Account Excise Duty - _TC": 10}),
 			"income_account": "Sales - _TC",
@@ -930,7 +929,6 @@
 			"item_name": "_Test Item Home Desktop 200",
 			"qty": 5,
 			"ref_rate": 190.66,
-			"export_rate": 190.66,
 			"stock_uom": "_Test UOM",
 			"income_account": "Sales - _TC",
 			"cost_center": "_Test Cost Center - _TC",
diff --git a/controllers/buying_controller.py b/controllers/buying_controller.py
index 63070a5..938db8c 100644
--- a/controllers/buying_controller.py
+++ b/controllers/buying_controller.py
@@ -98,7 +98,7 @@
 
 			if item.discount_rate == 100.0:
 				item.import_rate = 0.0
-			elif item.import_ref_rate:
+			elif not item.import_rate:
 				item.import_rate = flt(item.import_ref_rate * (1.0 - (item.discount_rate / 100.0)),
 					self.precision("import_rate", item))
 						
diff --git a/controllers/selling_controller.py b/controllers/selling_controller.py
index 033ac83..fb762af 100644
--- a/controllers/selling_controller.py
+++ b/controllers/selling_controller.py
@@ -191,7 +191,7 @@
 			
 			if item.adj_rate == 100:
 				item.export_rate = 0
-			elif item.ref_rate:
+			elif not item.export_rate:
 				item.export_rate = flt(item.ref_rate * (1.0 - (item.adj_rate / 100.0)),
 					self.precision("export_rate", item))
 						
diff --git a/stock/doctype/delivery_note/test_delivery_note.py b/stock/doctype/delivery_note/test_delivery_note.py
index 2e3ab07..c1f09dd 100644
--- a/stock/doctype/delivery_note/test_delivery_note.py
+++ b/stock/doctype/delivery_note/test_delivery_note.py
@@ -33,7 +33,7 @@
 		self.assertEquals(len(si), len(dn.doclist))
 		
 		# modify export_amount
-		si[1].ref_rate = 200
+		si[1].export_rate = 200
 		self.assertRaises(webnotes.ValidationError, webnotes.bean(si).insert)
 		
 	
diff --git a/utilities/transaction_base.py b/utilities/transaction_base.py
index 47e35f1..d2bffcf 100644
--- a/utilities/transaction_base.py
+++ b/utilities/transaction_base.py
@@ -77,9 +77,9 @@
 		"""
 		customer_defaults = self.get_customer_defaults()
 					
-		customer_defaults["price_list_name"] = customer_defaults.get("price_list") or \
+		customer_defaults["selling_price_list"] = customer_defaults.get("price_list") or \
 			webnotes.conn.get_value("Customer Group", self.doc.customer_group, "default_price_list") or \
-			self.doc.price_list
+			self.doc.selling_price_list
 			
 		for fieldname, val in customer_defaults.items():
 			if self.meta.get_field(fieldname):
diff --git a/website/doctype/shopping_cart_settings/shopping_cart_settings.py b/website/doctype/shopping_cart_settings/shopping_cart_settings.py
index f06c1f7..74cc217 100644
--- a/website/doctype/shopping_cart_settings/shopping_cart_settings.py
+++ b/website/doctype/shopping_cart_settings/shopping_cart_settings.py
@@ -43,7 +43,7 @@
 		
 	def validate_price_lists(self):
 		territory_name_map = self.validate_overlapping_territories("price_lists",
-			"price_list")
+			"selling_price_list")
 		
 		# validate that a Shopping Cart Price List exists for the root territory
 		# as a catch all!
@@ -92,9 +92,9 @@
 				raise_exception=ShoppingCartSetupError)
 		
 		price_list_currency_map = webnotes.conn.get_values("Price List", 
-			[d.price_list for d in self.doclist.get({"parentfield": "price_lists"})],
+			[d.selling_price_list for d in self.doclist.get({"parentfield": "price_lists"})],
 			"currency")
-		
+			
 		expected_to_exist = [currency + "-" + company_currency 
 			for currency in price_list_currency_map.values()
 			if currency != company_currency]
@@ -126,7 +126,7 @@
 		return name
 				
 	def get_price_list(self, billing_territory):
-		price_list = self.get_name_from_territory(billing_territory, "price_lists", "price_list")
+		price_list = self.get_name_from_territory(billing_territory, "price_lists", "selling_price_list")
 		return price_list and price_list[0] or None
 		
 	def get_tax_master(self, billing_territory):
diff --git a/website/doctype/shopping_cart_settings/test_shopping_cart_settings.py b/website/doctype/shopping_cart_settings/test_shopping_cart_settings.py
index cbba566..3417cec 100644
--- a/website/doctype/shopping_cart_settings/test_shopping_cart_settings.py
+++ b/website/doctype/shopping_cart_settings/test_shopping_cart_settings.py
@@ -26,7 +26,7 @@
 			cart_settings.doclist.append({
 				"doctype": "Shopping Cart Price List",
 				"parentfield": "price_lists",
-				"price_list": price_list
+				"selling_price_list": price_list
 			})
 		
 		for price_list in ("_Test Price List Rest of the World", "_Test Price List India",
@@ -34,13 +34,13 @@
 			_add_price_list(price_list)
 		
 		controller = cart_settings.make_controller()
-		controller.validate_overlapping_territories("price_lists", "price_list")
+		controller.validate_overlapping_territories("price_lists", "selling_price_list")
 		
 		_add_price_list("_Test Price List 2")
 		
 		controller = cart_settings.make_controller()
 		self.assertRaises(ShoppingCartSetupError, controller.validate_overlapping_territories,
-			"price_lists", "price_list")
+			"price_lists", "selling_price_list")
 			
 		return cart_settings
 		
