[fix] [minor] conversion arte related fixes
diff --git a/accounts/doctype/sales_invoice/sales_invoice.js b/accounts/doctype/sales_invoice/sales_invoice.js
index 5220c0f..46e336f 100644
--- a/accounts/doctype/sales_invoice/sales_invoice.js
+++ b/accounts/doctype/sales_invoice/sales_invoice.js
@@ -147,7 +147,6 @@
 				});
 			}
 		}
-
 	},
 	
 	debit_to: function() {
diff --git a/controllers/accounts_controller.py b/controllers/accounts_controller.py
index 927b249..3af9c7a 100644
--- a/controllers/accounts_controller.py
+++ b/controllers/accounts_controller.py
@@ -52,7 +52,7 @@
 						msgprint(_("Account for this ") + fieldname + _(" has been freezed. ") + 
 							self.doc.doctype + _(" can not be made."), raise_exception=1)
 			
-	def set_price_list_currency(self, buying_or_selling):
+	def set_price_list_currency(self, buying_or_selling, for_validate=False):
 		if self.meta.get_field("currency"):
 			company_currency = get_company_currency(self.doc.company)
 			
@@ -60,14 +60,13 @@
 			fieldname = "selling_price_list" if buying_or_selling.lower() == "selling" \
 				else "buying_price_list"
 			if self.meta.get_field(fieldname) and self.doc.fields.get(fieldname):
-				if not self.doc.price_list_currency:
-					self.doc.price_list_currency = webnotes.conn.get_value("Price List",
-						self.doc.fields.get(fieldname), "currency")
+				self.doc.price_list_currency = webnotes.conn.get_value("Price List",
+					self.doc.fields.get(fieldname), "currency")
 				
 				if self.doc.price_list_currency == company_currency:
 					self.doc.plc_conversion_rate = 1.0
 
-				elif not self.doc.plc_conversion_rate:
+				elif not self.doc.plc_conversion_rate or not for_validate:
 					self.doc.plc_conversion_rate = self.get_exchange_rate(
 						self.doc.price_list_currency, company_currency)
 			
@@ -77,7 +76,7 @@
 				self.doc.conversion_rate = self.doc.plc_conversion_rate
 			elif self.doc.currency == company_currency:
 				self.doc.conversion_rate = 1.0
-			elif not self.doc.conversion_rate:
+			elif not self.doc.conversion_rate or not for_validate:
 				self.doc.conversion_rate = self.get_exchange_rate(self.doc.currency,
 					company_currency)
 
diff --git a/controllers/selling_controller.py b/controllers/selling_controller.py
index 37674ee..845ba85 100644
--- a/controllers/selling_controller.py
+++ b/controllers/selling_controller.py
@@ -20,7 +20,7 @@
 		
 		# set contact and address details for customer, if they are not mentioned
 		self.set_missing_lead_customer_details()
-		self.set_price_list_and_item_details()
+		self.set_price_list_and_item_details(for_validate)
 		if self.doc.fields.get("__islocal"):
 			self.set_taxes("other_charges", "charge")
 					
@@ -38,8 +38,8 @@
 					if not self.doc.fields.get(fieldname) and self.meta.get_field(fieldname):
 						self.doc.fields[fieldname] = val
 						
-	def set_price_list_and_item_details(self):
-		self.set_price_list_currency("Selling")
+	def set_price_list_and_item_details(self, for_validate=False):
+		self.set_price_list_currency("Selling", for_validate)
 		self.set_missing_item_details(get_item_details)
 										
 	def get_other_charges(self):
diff --git a/public/js/transaction.js b/public/js/transaction.js
index a7be5bd..79ea536 100644
--- a/public/js/transaction.js
+++ b/public/js/transaction.js
@@ -39,18 +39,19 @@
 	},
 	
 	onload_post_render: function() {
-		if(this.frm.doc.__islocal && this.frm.doc.company && !this.frm.doc.customer) {
-			var me = this;
-			return this.frm.call({
-				doc: this.frm.doc,
-				method: "onload_post_render",
-				freeze: true,
-				callback: function(r) {
-					// remove this call when using client side mapper
-					me.set_default_values();
-					me.set_dynamic_labels();
-				}
-			});
+		if(this.frm.doc.__islocal && this.frm.doc.company && 
+			!this.frm.doc.customer && !this.frm.doc.is_pos) {
+				var me = this;
+				return this.frm.call({
+					doc: this.frm.doc,
+					method: "onload_post_render",
+					freeze: true,
+					callback: function(r) {
+						// remove this call when using client side mapper
+						me.set_default_values();
+						me.set_dynamic_labels();
+					}
+				});
 		}
 	},
 	
@@ -130,14 +131,16 @@
 	company: function() {
 		if(this.frm.doc.company && this.frm.fields_dict.currency) {
 			var company_currency = this.get_company_currency();
-			if(!this.frm.doc.currency) {
+			if (!this.frm.doc.currency) {
 				this.frm.set_value("currency", company_currency);
 			}
 			
-			if(this.frm.doc.currency == company_currency)
+			if (this.frm.doc.currency == company_currency) {
 				this.frm.set_value("conversion_rate", 1.0);
-			if(this.frm.doc.price_list_currency == company_currency)
+			}
+			if (this.frm.doc.price_list_currency == company_currency) {
 				this.frm.set_value('plc_conversion_rate', 1.0);
+			}
 
 			this.frm.script_manager.trigger("currency");
 		}
@@ -150,15 +153,13 @@
 	currency: function() {
 		var me = this;
 		this.set_dynamic_labels();
-		
+
 		var company_currency = this.get_company_currency();
 		if(this.frm.doc.currency !== company_currency) {
 			this.get_exchange_rate(this.frm.doc.currency, company_currency, 
 				function(exchange_rate) {
-					if(exchange_rate) {
-						me.frm.set_value("conversion_rate", exchange_rate);
-						me.conversion_rate();
-					}
+					me.frm.set_value("conversion_rate", exchange_rate);
+					me.conversion_rate();
 				});
 		} else {
 			this.conversion_rate();		
@@ -172,7 +173,7 @@
 			this.frm.doc.plc_conversion_rate !== this.frm.doc.conversion_rate) {
 				this.frm.set_value("plc_conversion_rate", this.frm.doc.conversion_rate);
 		}
-		
+
 		this.calculate_taxes_and_totals();
 	},
 	
diff --git a/utilities/transaction_base.py b/utilities/transaction_base.py
index 9921910..0f4d6bc 100644
--- a/utilities/transaction_base.py
+++ b/utilities/transaction_base.py
@@ -144,7 +144,6 @@
 	
 	def get_customer_address(self, args):
 		args = load_json(args)
-		webnotes.errprint(args)
 		ret = {
 			'customer_address' : args["address"],
 			'address_display' : get_address_display(args["address"]),