diff --git a/erpnext/patches/july_2012/repost_stock_due_to_wrong_packing_list.py b/erpnext/patches/july_2012/repost_stock_due_to_wrong_packing_list.py
new file mode 100644
index 0000000..9e9da7f
--- /dev/null
+++ b/erpnext/patches/july_2012/repost_stock_due_to_wrong_packing_list.py
@@ -0,0 +1,76 @@
+def repost_reserved_qty():
+	import webnotes
+	bins = webnotes.conn.sql("select item_code, warehouse, name, reserved_qty from `tabBin`")
+	for d in bins:
+		reserved_qty = webnotes.conn.sql("""
+			select sum((dnpi.qty/so_item.qty)*(so_item.qty - ifnull(so_item.delivered_qty, 0))), so.transaction_date 
+			
+			from `tabDelivery Note Packing Item` dnpi, `tabSales Order Item` so_item, `tabSales Order` so
+			
+			where dnpi.parent = so.name
+			and so_item.parent = so.name
+			and dnpi.parenttype = 'Sales Order'
+			and dnpi.parent_detail_docname = so_item.name
+			and dnpi.parent_item = so_item.item_code
+			and so.docstatus = 1
+			and so.status != 'Stopped'
+			and dnpi.item_code = %s
+			and dnpi.warehouse = %s
+		""", (d[0], d[1]))
+		if flt(d[3]) != flt(reserved_qty[0][0]):
+			print d, reserved_qty
+		#webnotes.conn.sql("""
+		#	update `tabBin` set reserved_qty = %s where name = %s
+		#""", (reserved_qty and reserved_qty[0][0] or 0, d[2]))
+		
+repost_reserved_qty()
+
+def cleanup_wrong_sle():
+	sle = webnotes.conn.sql("""
+		select item_code, warehouse, voucher_no, name
+		from `tabStock Ledger Entry` sle
+		where voucher_type = 'Delivery Note'
+		and not exists(
+			select name from `tabDelivery Note Packing Item` 
+			where item_code = sle.item_code 
+			and qty = abs(sle.actual_qty)
+			and parent = sle.voucher_no
+		) and not exists (
+			select name from `tabDelivery Note Item` 
+			where item_code = sle.item_code 
+			and qty = abs(sle.actual_qty)
+			and parent = sle.voucher_no
+		)
+	""")
+	if sle:
+		print sle
+	# for d in sle:
+	# 	webnotes.conn.sql("update `tabStock Ledger Entry` set is_cancelled = 'Yes' where name = %s", d[3])
+	# 	create_comment(d[3])
+	# 	repost_bin(d[0], d[1])
+	
+def create_comment(dn):
+	from webnotes.model.doc import Document
+	cmt = Document('Comment')
+	for arg in ['comment', 'comment_by', 'comment_by_fullname', 'comment_doctype', \
+		'comment_docname']:
+		cmt.fields[arg] = args[arg]
+	cmt.comment = 'Cancelled by administrator due to wrong entry in packing list'
+	cmt.comment_by = 'Administrator'
+	cmt.comment_by_fullname = 'Administrator'
+	cmt.comment_doctype = 'Stock Ledger Entry'
+	cmt.comment_docname = dn
+	cmt.save(1)
+	
+	
+def repost_bin(item, wh):
+	from webnotes.model.code import get_obj	
+	bin = webnotes.conn.sql("select name from `tabBin` \
+		where item_code = %s and warehouse = %s", (item, wh))
+			
+	get_obj('Bin', bin[0][0]).update_entries_after(posting_date = '2012-07-01', posting_time = '12:05')
+	
+	
+def execute():
+	repost_reserved_qty()
+	cleanup_wrong_sle()
