diff --git a/accounts/doctype/sales_invoice/sales_invoice.py b/accounts/doctype/sales_invoice/sales_invoice.py
index 5dbe20d..3763abb 100644
--- a/accounts/doctype/sales_invoice/sales_invoice.py
+++ b/accounts/doctype/sales_invoice/sales_invoice.py
@@ -395,6 +395,11 @@
 			if not d.item_code:
 				msgprint("Please enter Item Code at line no : %s to update stock for POS or remove check from Update Stock in Basic Info Tab." % (d.idx))
 				raise Exception
+				
+	def validate_delivery_note(self):
+		for d in self.doclist.get({"parentfield": "entries"}):
+			if d.delivery_note:
+				msgprint("""POS can not be made against Delivery Note""", raise_exception=1)
 
 
 	def validate_write_off_account(self):
@@ -447,6 +452,7 @@
 				sl.validate_serial_no(self, 'packing_details')
 				self.validate_item_code()
 				self.update_current_stock()
+				self.validate_delivery_note()
 		self.set_in_words()
 		if not self.doc.is_opening:
 			self.doc.is_opening = 'No'
@@ -505,7 +511,9 @@
 			self.doclist = self.doc.clear_table(self.doclist, 'packing_details')
 			webnotes.conn.set(self.doc,'paid_amount',0)
 
-		webnotes.conn.set(self.doc,'outstanding_amount',flt(self.doc.grand_total) - flt(self.doc.total_advance) - flt(self.doc.paid_amount) - flt(self.doc.write_off_amount))
+		webnotes.conn.set(self.doc, 'outstanding_amount', 
+			flt(self.doc.grand_total) - flt(self.doc.total_advance) - 
+			flt(self.doc.paid_amount) - flt(self.doc.write_off_amount))
 
 		
 	def check_prev_docstatus(self):
@@ -533,7 +541,7 @@
 			'posting_time'				: self.doc.posting_time,
 			'voucher_type'				: 'Sales Invoice',
 			'voucher_no'					: cstr(self.doc.name),
-			'voucher_detail_no'	 : cstr(d['name']), 
+			'voucher_detail_no'	 		: cstr(d['name']), 
 			'actual_qty'					: qty, 
 			'stock_uom'					 : st_uom and st_uom[0][0] or '',
 			'incoming_rate'			 : in_value,
@@ -604,13 +612,13 @@
 				
 				self.update_stock_ledger(update_stock=1)
 		else:
-			self.check_prev_docstatus()
-			get_obj("Sales Common").update_prevdoc_detail(1,self)
-
 			# Check for Approving Authority
 			if not self.doc.recurring_id:
 				get_obj('Authorization Control').validate_approving_authority(self.doc.doctype, self.doc.company, self.doc.grand_total, self)
 
+		self.check_prev_docstatus()
+		get_obj("Sales Common").update_prevdoc_detail(1,self)
+		
 		# this sequence because outstanding may get -ve		
 		self.make_gl_entries()
 
@@ -628,11 +636,11 @@
 				sl.update_serial_record(self, 'packing_details', is_submit = 0, is_incoming = 0)
 				
 				self.update_stock_ledger(update_stock = -1)
-		else:
-			sales_com_obj = get_obj(dt = 'Sales Common')
-			sales_com_obj.check_stop_sales_order(self)
-			self.check_next_docstatus()
-			sales_com_obj.update_prevdoc_detail(0,self)
+		
+		sales_com_obj = get_obj(dt = 'Sales Common')
+		sales_com_obj.check_stop_sales_order(self)
+		self.check_next_docstatus()
+		sales_com_obj.update_prevdoc_detail(0, self)
 
 		self.make_gl_entries(is_cancel=1)
 
diff --git a/patches/november_2012/update_delivered_billed_percentage_for_pos.py b/patches/november_2012/update_delivered_billed_percentage_for_pos.py
new file mode 100644
index 0000000..502a36a
--- /dev/null
+++ b/patches/november_2012/update_delivered_billed_percentage_for_pos.py
@@ -0,0 +1,15 @@
+def execute():
+	import webnotes
+	from webnotes.model.code import get_obj
+	
+	sc_obj = get_obj("Sales Common")
+	
+	si = webnotes.conn.sql("""select distinct si.name 
+		from `tabSales Invoice` si, `tabSales Invoice Item` si_item
+		where si_item.parent = si.name
+		and si.docstatus = 1
+		and ifnull(si.is_pos, 0) = 1
+		and ifnull(si_item.sales_order, '') != ''
+	""")
+	for d in si:
+		sc_obj.update_prevdoc_detail(1, get_obj("Sales Invoice", d[0], with_children=1))
\ No newline at end of file
diff --git a/patches/patch_list.py b/patches/patch_list.py
index 7a60938..0bf4d3c 100644
--- a/patches/patch_list.py
+++ b/patches/patch_list.py
@@ -693,6 +693,10 @@
 	},
 	{
 		'patch_module': 'patches.november_2012',
+		'patch_file': 'update_delivered_billed_percentage_for_pos',
+	},
+	{
+		'patch_module': 'patches.november_2012',
 		'patch_file': 'add_theme_to_profile',
 	},
 ]
\ No newline at end of file
diff --git a/selling/doctype/sales_common/sales_common.py b/selling/doctype/sales_common/sales_common.py
index 2a8182d..8ea4fe4 100644
--- a/selling/doctype/sales_common/sales_common.py
+++ b/selling/doctype/sales_common/sales_common.py
@@ -829,7 +829,22 @@
 				'status_field'			:'billing_status',
 				'keyword'				:'Billed'
 			})
-
+			
+			if cint(self.obj.doc.is_pos) == 1:
+				self.update_qty({
+					'target_field'			:'delivered_qty',
+					'target_dt'				:'Sales Order Item',
+					'target_parent_dt'		:'Sales Order',
+					'target_parent_field'	:'per_delivered',
+					'target_ref_field'		:'qty',
+					'source_dt'				:'Sales Invoice Item',
+					'source_field'			:'qty',
+					'join_field'			:'so_detail',
+					'percent_join_field'	:'sales_order',
+					'status_field'			:'delivery_status',
+					'keyword'				:'Delivered'
+				})
+				
 		if self.obj.doc.doctype=='Installation Note':
 			self.update_qty({
 				'target_field'			:'installed_qty',
