diff --git a/accounts/doctype/purchase_invoice/purchase_invoice.txt b/accounts/doctype/purchase_invoice/purchase_invoice.txt
index 64b9f5c..44cd20f 100755
--- a/accounts/doctype/purchase_invoice/purchase_invoice.txt
+++ b/accounts/doctype/purchase_invoice/purchase_invoice.txt
@@ -2,7 +2,7 @@
  {
   "creation": "2013-05-21 16:16:39", 
   "docstatus": 0, 
-  "modified": "2013-07-09 12:51:06", 
+  "modified": "2013-07-23 15:27:03", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -273,7 +273,7 @@
   "label": "Price List Currency", 
   "options": "Currency", 
   "print_hide": 1, 
-  "read_only": 0
+  "read_only": 1
  }, 
  {
   "depends_on": "price_list_name", 
diff --git a/accounts/doctype/sales_invoice/sales_invoice.txt b/accounts/doctype/sales_invoice/sales_invoice.txt
index e3c60a0..a04fca4 100644
--- a/accounts/doctype/sales_invoice/sales_invoice.txt
+++ b/accounts/doctype/sales_invoice/sales_invoice.txt
@@ -2,7 +2,7 @@
  {
   "creation": "2013-05-24 19:29:05", 
   "docstatus": 0, 
-  "modified": "2013-07-09 12:48:05", 
+  "modified": "2013-07-23 15:28:32", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -279,7 +279,7 @@
   "label": "Price List Currency", 
   "options": "Currency", 
   "print_hide": 1, 
-  "read_only": 0, 
+  "read_only": 1, 
   "reqd": 1
  }, 
  {
diff --git a/buying/doctype/purchase_order/purchase_order.txt b/buying/doctype/purchase_order/purchase_order.txt
index bb310aa..a79d98e 100644
--- a/buying/doctype/purchase_order/purchase_order.txt
+++ b/buying/doctype/purchase_order/purchase_order.txt
@@ -2,7 +2,7 @@
  {
   "creation": "2013-05-21 16:16:39", 
   "docstatus": 0, 
-  "modified": "2013-07-19 22:04:17", 
+  "modified": "2013-07-23 15:26:28", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -225,7 +225,8 @@
   "fieldtype": "Link", 
   "label": "Price List Currency", 
   "options": "Currency", 
-  "print_hide": 1
+  "print_hide": 1, 
+  "read_only": 1
  }, 
  {
   "depends_on": "price_list_name", 
diff --git a/buying/doctype/supplier_quotation/supplier_quotation.txt b/buying/doctype/supplier_quotation/supplier_quotation.txt
index 3cb5046..e18e011 100644
--- a/buying/doctype/supplier_quotation/supplier_quotation.txt
+++ b/buying/doctype/supplier_quotation/supplier_quotation.txt
@@ -2,7 +2,7 @@
  {
   "creation": "2013-05-21 16:16:45", 
   "docstatus": 0, 
-  "modified": "2013-07-09 12:49:31", 
+  "modified": "2013-07-23 15:27:23", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -222,7 +222,8 @@
   "fieldtype": "Link", 
   "label": "Price List Currency", 
   "options": "Currency", 
-  "print_hide": 1
+  "print_hide": 1, 
+  "read_only": 1
  }, 
  {
   "depends_on": "price_list_name", 
diff --git a/controllers/accounts_controller.py b/controllers/accounts_controller.py
index 7bcc92e..acb6077 100644
--- a/controllers/accounts_controller.py
+++ b/controllers/accounts_controller.py
@@ -57,10 +57,7 @@
 		# TODO - change this, since price list now has only one currency allowed
 		if self.meta.get_field("price_list_name") and self.doc.price_list_name and \
 			not self.doc.price_list_currency:
-				self.doc.fields.update(get_price_list_currency({
-					"price_list_name": self.doc.price_list_name, 
-					"buying_or_selling": buying_or_selling
-				}))
+				self.doc.fields.update(get_price_list_currency(self.doc.price_list_name))
 				
 				if self.doc.price_list_currency:
 					if not self.doc.plc_conversion_rate:
diff --git a/public/js/transaction.js b/public/js/transaction.js
index 421a7a5..8770ba9 100644
--- a/public/js/transaction.js
+++ b/public/js/transaction.js
@@ -74,14 +74,9 @@
 	
 	company: function() {
 		if(this.frm.doc.company && this.frm.fields_dict.currency) {
-			var me = this;
 			var company_currency = this.get_company_currency();
-			$.each(["currency", "price_list_currency"], function(i, fieldname) {
-				if(!me.frm.doc[fieldname]) {
-					me.frm.set_value(fieldname, company_currency);
-					me.script_manager.trigger(fieldname);
-				}
-			});
+			this.frm.set_value("currency", company_currency);
+			this.frm.script_manager.trigger("currency");
 		}
 	},
 	
@@ -123,10 +118,9 @@
 		if(this.frm.doc.price_list_name) {
 			this.frm.call({
 				method: "setup.utils.get_price_list_currency",
-				args: { args: {
+				args: { 
 					price_list_name: this.frm.doc.price_list_name,
-					buying_or_selling: buying_or_selling
-				}},
+				},
 				callback: function(r) {
 					if(!r.exc) {
 						me.price_list_currency();
diff --git a/public/js/utils.js b/public/js/utils.js
index 743c02b..96b312f 100644
--- a/public/js/utils.js
+++ b/public/js/utils.js
@@ -20,7 +20,7 @@
 		if(!company && cur_frm)
 			company = cur_frm.doc.company;
 		if(company)
-			return wn.model.get(":Company", company).default_currency || wn.boot.sysdefaults.currency;
+			return wn.model.get_doc(":Company", company).default_currency || wn.boot.sysdefaults.currency;
 		else
 			return wn.boot.sysdefaults.currency;
 	},
diff --git a/selling/doctype/quotation/quotation.txt b/selling/doctype/quotation/quotation.txt
index 19eefa3..7f16466 100644
--- a/selling/doctype/quotation/quotation.txt
+++ b/selling/doctype/quotation/quotation.txt
@@ -2,7 +2,7 @@
  {
   "creation": "2013-05-24 19:29:08", 
   "docstatus": 0, 
-  "modified": "2013-07-09 12:48:56", 
+  "modified": "2013-07-23 15:27:53", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -301,7 +301,7 @@
   "label": "Price List Currency", 
   "options": "Currency", 
   "print_hide": 1, 
-  "read_only": 0, 
+  "read_only": 1, 
   "reqd": 1
  }, 
  {
diff --git a/selling/doctype/sales_common/sales_common.js b/selling/doctype/sales_common/sales_common.js
index 45a9b5b..e3e5f87 100644
--- a/selling/doctype/sales_common/sales_common.js
+++ b/selling/doctype/sales_common/sales_common.js
@@ -112,6 +112,14 @@
 				}
 			});
 		}
+		
+		if(this.frm.fields_dict.sales_team && this.frm.fields_dict.sales_team.grid.get_field("sales_person")) {
+			this.frm.set_query("sales_person", "sales_team", function() {
+				return {
+					filters: { is_group: "No" }
+				};
+			});
+		}
 	},
 	
 	refresh: function(doc) {
@@ -189,6 +197,7 @@
 							barcode: item.barcode,
 							warehouse: item.warehouse,
 							doctype: me.frm.doc.doctype,
+							parentfield: item.parentfield,
 							customer: me.frm.doc.customer,
 							currency: me.frm.doc.currency,
 							conversion_rate: me.frm.doc.conversion_rate,
@@ -287,13 +296,13 @@
 	
 	warehouse: function(doc, cdt, cdn) {
 		var item = wn.model.get_doc(cdt, cdn);
-		if(item.item_code && (item.warehouse || item.reserved_warehouse)) {
+		if(item.item_code && item.warehouse) {
 			this.frm.call({
 				method: "selling.utils.get_available_qty",
 				child: item,
 				args: {
 					item_code: item.item_code,
-					warehouse: item.warehouse || item.reserved_warehouse,
+					warehouse: item.warehouse,
 				},
 			});
 		}
diff --git a/selling/doctype/sales_order/sales_order.js b/selling/doctype/sales_order/sales_order.js
index 4368d5b..7eeb22d 100644
--- a/selling/doctype/sales_order/sales_order.js
+++ b/selling/doctype/sales_order/sales_order.js
@@ -97,11 +97,21 @@
 	tc_name: function() {
 		this.get_terms();
 	},
-
-	reserved_warehouse: function(doc, cdt, cdn) {
-		this.warehouse(doc, cdt, cdn);
-	},
 	
+	reserved_warehouse: function(doc, cdt, cdn) {
+		var item = wn.model.get_doc(cdt, cdn);
+		if(item.item_code && item.reserved_warehouse) {
+			this.frm.call({
+				method: "selling.utils.get_available_qty",
+				child: item,
+				args: {
+					item_code: item.item_code,
+					warehouse: item.reserved_warehouse,
+				},
+			});
+		}
+	},
+
 	make_material_request: function() {
 		wn.model.open_mapped_doc({
 			method: "selling.doctype.sales_order.sales_order.make_material_request",
diff --git a/selling/doctype/sales_order/sales_order.py b/selling/doctype/sales_order/sales_order.py
index b67510d..210e56f 100644
--- a/selling/doctype/sales_order/sales_order.py
+++ b/selling/doctype/sales_order/sales_order.py
@@ -366,7 +366,7 @@
 		}
 	}, target_doclist, postprocess)
 	
-	return [d.fields for d in doclist]
+	return [(d if isinstance(d, dict) else d.fields) for d in doclist]
 
 @webnotes.whitelist()
 def make_delivery_note(source_name, target_doclist=None):	
diff --git a/selling/doctype/sales_order/sales_order.txt b/selling/doctype/sales_order/sales_order.txt
index 37c9e21..3e6cbe4 100644
--- a/selling/doctype/sales_order/sales_order.txt
+++ b/selling/doctype/sales_order/sales_order.txt
@@ -2,7 +2,7 @@
  {
   "creation": "2013-06-18 12:39:59", 
   "docstatus": 0, 
-  "modified": "2013-07-09 12:47:46", 
+  "modified": "2013-07-23 15:27:39", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -311,6 +311,7 @@
   "label": "Price List Currency", 
   "options": "Currency", 
   "print_hide": 1, 
+  "read_only": 1, 
   "reqd": 1
  }, 
  {
diff --git a/selling/utils.py b/selling/utils.py
index cbfaee7..bf4f081 100644
--- a/selling/utils.py
+++ b/selling/utils.py
@@ -58,9 +58,15 @@
 	
 	_validate_item_details(args, item_bean.doc)
 	
-	out = _get_basic_details(args, item_bean)
-	
 	meta = webnotes.get_doctype(args.doctype)
+
+	# hack! for Sales Order Item
+	warehouse_fieldname = "warehouse"
+	if meta.get_field("reserved_warehouse", parentfield=args.parentfield):
+		warehouse_fieldname = "reserved_warehouse"
+	
+	out = _get_basic_details(args, item_bean, warehouse_fieldname)
+	
 	if meta.get_field("currency"):
 		out.base_ref_rate = out.basic_rate = out.ref_rate = out.export_rate = 0.0
 		
@@ -69,8 +75,8 @@
 			
 	out.update(_get_item_discount(out.item_group, args.customer))
 	
-	if out.warehouse or out.reserved_warehouse:
-		out.update(get_available_qty(args.item_code, out.warehouse or out.reserved_warehouse))
+	if out.get(warehouse_fieldname):
+		out.update(get_available_qty(args.item_code, out.get(warehouse_fieldname)))
 	
 	out.customer_item_code = _get_customer_item_code(args, item_bean)
 	
@@ -108,13 +114,13 @@
 		msgprint(_("Item") + (" %s: " % item.name) + _("not a sales item"),
 			raise_exception=True)
 			
-def _get_basic_details(args, item_bean):
+def _get_basic_details(args, item_bean, warehouse_fieldname):
 	item = item_bean.doc
+	
 	out = webnotes._dict({
 			"item_code": item.name,
 			"description": item.description_html or item.description,
-			"reserved_warehouse": item.default_warehouse or args.warehouse or args.reserved_warehouse,
-			"warehouse": item.default_warehouse or args.warehouse,
+			warehouse_fieldname: item.default_warehouse or args.get(warehouse_fieldname),
 			"income_account": item.default_income_account or args.income_account \
 				or webnotes.conn.get_value("Company", args.company, "default_income_account"),
 			"expense_account": item.purchase_account or args.expense_account \
diff --git a/setup/utils.py b/setup/utils.py
index e1463fa..adfa4f7 100644
--- a/setup/utils.py
+++ b/setup/utils.py
@@ -44,20 +44,6 @@
 	return result or []
 
 @webnotes.whitelist()
-def get_price_list_currency(args):
-	"""
-		args = {
-			"price_list_name": "Something",
-			"buying_or_selling": "Buying" or "Selling"
-		}
-	"""
-	if isinstance(args, basestring):
-		args = json.loads(args)
-	
-	result = webnotes.conn.sql("""select distinct ref_currency from `tabItem Price`
-		where price_list_name=%s and buying_or_selling=%s""",
-		(args.get("price_list_name"), args.get("buying_or_selling")))
-	if result and len(result)==1:
-		return {"price_list_currency": result[0][0]}
-	else:
-		return {}
\ No newline at end of file
+def get_price_list_currency(price_list_name):
+	return {"price_list_currency": webnotes.conn.get_value("Price List", price_list_name, 
+		"currency")}
\ No newline at end of file
diff --git a/stock/doctype/delivery_note/delivery_note.txt b/stock/doctype/delivery_note/delivery_note.txt
index cfdd8cd..aa9530f 100644
--- a/stock/doctype/delivery_note/delivery_note.txt
+++ b/stock/doctype/delivery_note/delivery_note.txt
@@ -2,7 +2,7 @@
  {
   "creation": "2013-05-24 19:29:09", 
   "docstatus": 0, 
-  "modified": "2013-07-09 12:48:27", 
+  "modified": "2013-07-23 15:28:18", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -303,7 +303,7 @@
   "label": "Price List Currency", 
   "options": "Currency", 
   "print_hide": 1, 
-  "read_only": 0, 
+  "read_only": 1, 
   "reqd": 1
  }, 
  {
diff --git a/stock/doctype/purchase_receipt/purchase_receipt.txt b/stock/doctype/purchase_receipt/purchase_receipt.txt
index 94136ae..f5b64d2 100755
--- a/stock/doctype/purchase_receipt/purchase_receipt.txt
+++ b/stock/doctype/purchase_receipt/purchase_receipt.txt
@@ -2,7 +2,7 @@
  {
   "creation": "2013-05-21 16:16:39", 
   "docstatus": 0, 
-  "modified": "2013-07-09 12:50:25", 
+  "modified": "2013-07-23 15:26:50", 
   "modified_by": "Administrator", 
   "owner": "Administrator"
  }, 
@@ -251,7 +251,8 @@
   "hidden": 0, 
   "label": "Price List Currency", 
   "options": "Currency", 
-  "print_hide": 1
+  "print_hide": 1, 
+  "read_only": 1
  }, 
  {
   "depends_on": "price_list_name", 
