diff --git a/erpnext/patches/patch_list.py b/erpnext/patches/patch_list.py
index 01f4a0e..ea8e5d6 100644
--- a/erpnext/patches/patch_list.py
+++ b/erpnext/patches/patch_list.py
@@ -332,5 +332,10 @@
 		'patch_file': 'renamedt_in_custom_search_criteria',
 		'description': 'raname dt in custom search criteria'
 	},
+	{
+		'patch_module': 'patches.may_2012',
+		'patch_file': 'stock_reco_patch',
+		'description': 'stock reco patch: store diff info in field'
+	},
 
 ]
diff --git a/erpnext/selling/doctype/sms_center/sms_center.py b/erpnext/selling/doctype/sms_center/sms_center.py
index 0e54dd6..0d54f72 100644
--- a/erpnext/selling/doctype/sms_center/sms_center.py
+++ b/erpnext/selling/doctype/sms_center/sms_center.py
@@ -46,7 +46,6 @@
       where_clause = self.doc.supplier and " and ifnull(is_supplier, 0) = 1 and supplier = '%s'" % self.doc.supplier or " and ifnull(is_supplier, 0) = 1"
     if self.doc.send_to == 'All Sales Partner Contact':
       where_clause = self.doc.sales_partner and " and ifnull(is_sales_partner, 0) = 1 and sales_aprtner = '%s'" % self.doc.sales_partner or " and ifnull(is_sales_partner, 0) = 1"
-    msgprint(1)
     if self.doc.send_to in ['All Contact', 'All Customer Contact', 'All Supplier Contact', 'All Sales Partner Contact']:
       msgprint("select CONCAT(ifnull(first_name,''),'',ifnull(last_name,'')), mobile_no from `tabContact` where ifnull(mobile_no,'')!='' and docstatus != 2 %s" % where_clause)
       rec = sql("select CONCAT(ifnull(first_name,''),'',ifnull(last_name,'')), mobile_no from `tabContact` where ifnull(mobile_no,'')!='' and docstatus != 2 %s" % where_clause)
diff --git a/erpnext/stock/doctype/bin/bin.py b/erpnext/stock/doctype/bin/bin.py
index ce2cae6..fe96c9f 100644
--- a/erpnext/stock/doctype/bin/bin.py
+++ b/erpnext/stock/doctype/bin/bin.py
@@ -181,8 +181,7 @@
 	# get moving average inventory values
 	# ------------------------------------
 	def get_moving_average_inventory_values(self, val_rate, in_rate, opening_qty, actual_qty, is_cancelled):
-		#msgprint(actual_qty)
-		if flt(in_rate) <= 0: # In case of delivery/stock issue in_rate = 0 or wrong incoming rate
+		if flt(in_rate) == 0: # In case of delivery/stock issue in_rate = 0 or wrong incoming rate
 			in_rate = val_rate
 
 		# val_rate is same as previous entry if :
diff --git a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py
index f3742b3..1f3df46 100644
--- a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py
+++ b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py
@@ -16,7 +16,7 @@
 
 import webnotes
 from webnotes.utils import cstr, flt, get_defaults, nowdate
-from webnotes import msgprint
+from webnotes import msgprint, errprint
 from webnotes.model.code import get_obj
 sql = webnotes.conn.sql
 	
@@ -28,22 +28,30 @@
 		self.doclist = doclist
 		self.validated = 1
 		self.data = []
+		self.val_method = get_defaults()['valuation_method']
 
 	def get_template(self):
-		return [['Item Code', 'Warehouse', 'Quantity', 'Valuation Rate']]
+		if self.val_method == 'Moving Average':
+			return [['Item Code', 'Warehouse', 'Quantity', 'Valuation Rate']]
+		else:
+			return [['Item Code', 'Warehouse', 'Quantity', 'Incoming Rate']]
 
-	def get_csv_file_data(self):
+
+	def get_csv_file_data(self, submit = 1):
 		"""Get csv data"""
-		filename = self.doc.file_list.split(',')
-		if not filename:
-			msgprint("Please Attach File. ", raise_exception=1)
+		if submit:
+			filename = self.doc.file_list.split(',')
+			if not filename:
+				msgprint("Please Attach File. ", raise_exception=1)
 			
-		from webnotes.utils import file_manager
-		fn, content = file_manager.get_file(filename[1])
+			from webnotes.utils import file_manager
+			fn, content = file_manager.get_file(filename[1])
 		
-		# NOTE: Don't know why this condition exists
-		if not isinstance(content, basestring) and hasattr(content, 'tostring'):
-		  content = content.tostring()
+			# NOTE: Don't know why this condition exists
+			if not isinstance(content, basestring) and hasattr(content, 'tostring'):
+				content = content.tostring()
+		else:
+			content = self.doc.diff_info
 
 		return content
 
@@ -69,7 +77,7 @@
 	def get_reconciliation_data(self,submit = 1):
 		"""Read and validate csv data"""
 		import csv 
-		data = csv.reader(self.get_csv_file_data().splitlines())
+		data = csv.reader(self.get_csv_file_data(submit).splitlines())
 		self.convert_into_list(data, submit)
 		
 
@@ -96,7 +104,6 @@
 
 	def validate(self):
 		"""Validate attachment data"""
-		#self.data = [['it', 'wh1', 20, 150]]
 		if self.doc.file_list:
 			self.get_reconciliation_data()
 
@@ -105,17 +112,32 @@
 	def get_system_stock(self, it, wh):
 		"""get actual qty on reconciliation date and time as per system"""
 		bin = sql("select name from tabBin where item_code=%s and warehouse=%s", (it, wh))
-		prev_sle = bin and get_obj('Bin', bin[0][0]).get_sle_prev_timebucket(self.doc.reconciliation_date, self.doc.reconciliation_time) or {}
+		prev_sle = bin and get_obj('Bin', bin[0][0]).get_prev_sle(self.doc.reconciliation_date, self.doc.reconciliation_time) or {}
 		return {
 			'actual_qty': prev_sle.get('bin_aqat', 0), 
 			'stock_uom' : sql("select stock_uom from tabItem where name = %s", it)[0][0], 
 			'val_rate'  : prev_sle.get('valuation_rate', 0)
 		}
 
+		
+	def get_incoming_rate(self, row, qty_diff, sys_stock, is_submit):
+		"""Calculate incoming rate to maintain valuation rate"""
+		if qty_diff and is_submit:
+			if self.val_method == 'Moving Average':
+				in_rate = flt(row[3]) + (flt(sys_stock['actual_qty'])*(flt(row[3]) - flt(sys_stock['val_rate'])))/ flt(qty_diff)
+			elif not sys_stock and not row[3]:
+				msgprint("Incoming Rate is mandatory for item: %s and warehouse: %s" % (rpw[0], row[1]), raise_exception=1)
+			else:
+				in_rate = qty_diff > 0 and row[3] or 0
+		else:
+			in_rate = 0
+
+		return in_rate
+
 
 	def make_sl_entry(self, is_submit, row, qty_diff, sys_stock):
 		"""Make stock ledger entry"""
-		in_rate = self.get_incoming_rate(row, qty_diff, sys_stock)	
+		in_rate = self.get_incoming_rate(row, qty_diff, sys_stock, is_submit)
 		values = [{
 				'item_code'					: row[0],
 				'warehouse'					: row[1],
@@ -133,14 +155,16 @@
 				'is_cancelled'			 	: (is_submit==1) and 'No' or 'Yes',
 				'batch_no'					: '',
 				'serial_no'					: ''
-		 }]		
+		 }]
 		get_obj('Stock Ledger', 'Stock Ledger').update_stock(values)
 		
-		
-	def get_incoming_rate(self, row, qty_diff, sys_stock):
-		"""Calculate incoming rate to maintain valuation rate"""
-		in_rate = flt(row[3]) + (flt(sys_stock['actual_qty'])*(flt(row[3]) - flt(sys_stock['val_rate'])))/ flt(qty_diff)
-		return in_rate
+
+	
+	def make_entry_for_valuation(self, row, sys_stock, is_submit):
+		self.make_sl_entry(is_submit, row, 1, sys_stock)
+		sys_stock['val_rate'] = row[3]
+		sys_stock['actual_qty'] += 1
+		self.make_sl_entry(is_submit, row, -1, sys_stock)
 
 
 	def do_stock_reco(self, is_submit = 1):
@@ -159,33 +183,34 @@
 			# Make sl entry
 			if qty_diff:
 				self.make_sl_entry(is_submit, row, qty_diff, sys_stock)
-			elif rate_diff:
-				self.make_sl_entry(is_submit, row, 1, sys_stock)
-				sys_stock['val_rate'] = row[3]
-				sys_stock['actual_qty'] += 1
-				self.make_sl_entry(is_submit, row, -1, sys_stock)
+				sys_stock['actual_qty'] += qty_diff
+
+
+			if (not qty_diff and rate_diff) or qty_diff < 0 and self.val_method == 'Moving Average':
+				self.make_entry_for_valuation(row, sys_stock, is_submit)
 
 			if is_submit == 1:
-				self.add_data_in_CSV(qty_diff, rate_diff)
+				self.store_diff_info(qty_diff, rate_diff)
 				
 			msgprint("Stock Reconciliation Completed Successfully...")
 			
 
-	def add_data_in_CSV(self, qty_diff, rate_diff):
+	def store_diff_info(self, qty_diff, rate_diff):
 		"""Add diffs column in attached file"""
 		
 		# add header
-		out = "Item Code, Warehouse, Qty, Valuation Rate, Qty Diff, Val Rate Diff"
+		if self.val_method == 'Moving Average':
+			out = "Item Code, Warehouse, Qty, Valuation Rate, Qty Diff, Rate Diff"
+		else:
+			out = "Item Code, Warehouse, Qty, Incoming Rate, Qty Diff, Rate Diff"
+
 		
 		# add data
 		for d in self.data:
 			s = [cstr(i) for i in d] + [cstr(qty_diff), cstr(rate_diff)]
 			out += "\n" + ','.join(s)
-		
-		# write to file
-		fname = self.doc.file_list.split(',')
-		from webnotes.utils import file_manager
-		file_manager.write_file(fname[1], out)
+
+		webnotes.conn.set(self.doc, 'diff_info', out)
 		
 			
 
diff --git a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.txt b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.txt
index c2fe30a..ac23d59 100644
--- a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.txt
+++ b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.txt
@@ -3,9 +3,9 @@
 
 	# These values are common in all dictionaries
 	{
-		'creation': '2012-03-27 14:36:40',
+		'creation': '2012-04-13 11:56:39',
 		'docstatus': 0,
-		'modified': '2012-03-27 14:45:52',
+		'modified': '2012-05-10 11:54:52',
 		'modified_by': u'Administrator',
 		'owner': u'Administrator'
 	},
@@ -27,7 +27,7 @@
 		'server_code_error': u' ',
 		'show_in_menu': 0,
 		'subject': u'Date: %(reconciliation_date)s, Time: %(reconciliation_time)s',
-		'version': 107
+		'version': 1
 	},
 
 	# These values are common for all DocField
@@ -162,6 +162,17 @@
 
 	# DocField
 	{
+		'doctype': u'DocField',
+		'fieldname': u'diff_info',
+		'fieldtype': u'Text',
+		'hidden': 1,
+		'label': u'Diff Info',
+		'permlevel': 0,
+		'print_hide': 1
+	},
+
+	# DocField
+	{
 		'depends_on': u'eval:doc.amended_from',
 		'description': u'The date at which current entry is corrected in the system.',
 		'doctype': u'DocField',
