diff --git a/controllers/accounts_controller.py b/controllers/accounts_controller.py
index a3dae8e..4ee7e53 100644
--- a/controllers/accounts_controller.py
+++ b/controllers/accounts_controller.py
@@ -291,7 +291,12 @@
 		current_tax_amount = flt(current_tax_amount, self.precision("tax_amount", tax))
 		
 		# store tax breakup for each item
-		tax.item_wise_tax_detail[item.item_code or item.item_name] = [tax_rate, current_tax_amount]
+		key = item.item_code or item.item_name
+		if tax.item_wise_tax_detail.get(key):
+			item_wise_tax_amount = tax.item_wise_tax_detail[key][1] + current_tax_amount
+			tax.item_wise_tax_detail[key] = [tax_rate, item_wise_tax_amount]
+		else:
+			tax.item_wise_tax_detail[key] = [tax_rate, current_tax_amount]
 
 		return current_tax_amount
 		
diff --git a/patches/patch_list.py b/patches/patch_list.py
index f587563..3c13e0e 100644
--- a/patches/patch_list.py
+++ b/patches/patch_list.py
@@ -261,6 +261,6 @@
 	"execute:webnotes.reload_doc('accounts', 'Print Format', 'POS Invoice') # 2013-09-02",
 	"patches.september_2013.p01_fix_buying_amount_gl_entries",
 	"patches.september_2013.p01_update_communication",
-	"patches.september_2013.p02_make_pos_view_checked_in_features_setup",
+	"execute:webnotes.reload_doc('setup', 'doctype', 'features_setup') # 2013-09-05",
 	"patches.september_2013.p02_fix_serial_no_status",
 ]
\ No newline at end of file
diff --git a/patches/september_2013/p02_make_pos_view_checked_in_features_setup.py b/patches/september_2013/p02_make_pos_view_checked_in_features_setup.py
deleted file mode 100644
index c5e2c7b..0000000
--- a/patches/september_2013/p02_make_pos_view_checked_in_features_setup.py
+++ /dev/null
@@ -1,11 +0,0 @@
-# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
-# License: GNU General Public License v3. See license.txt
-
-from __future__ import unicode_literals
-import webnotes
-
-def execute():
-	webnotes.reload_doc("setup", "doctype", "features_setup")
-	fs = webnotes.bean("Features Setup")
-	fs.doc.fs_pos_view = 1
-	fs.save()
\ No newline at end of file
diff --git a/public/js/transaction.js b/public/js/transaction.js
index 1d06a9f..0ff957a 100644
--- a/public/js/transaction.js
+++ b/public/js/transaction.js
@@ -338,8 +338,19 @@
 		
 		var headings = $.map([wn._("Item Name")].concat($.map(tax_accounts, function(head) { return head[1]; })), 
 			function(head) { return '<th style="min-width: 100px;">' + (head || "") + "</th>" }).join("\n");
+			
+		var distinct_item_names = [];
+		var distinct_items = [];
+		$.each(this.get_item_doclist(), function(i, item) {
+			if(distinct_item_names.indexOf(item.item_code || item.item_name)===-1) {
+				distinct_item_names.push(item.item_code || item.item_name);
+				distinct_items.push(item);
+			}
+		});
 		
-		var rows = $.map(this.get_item_doclist(), function(item) {
+		console.log(distinct_items);
+		
+		var rows = $.map(distinct_items, function(item) {
 			var item_tax_record = item_tax[item.item_code || item.item_name];
 			if(!item_tax_record) { return null; }
 			return repl("<tr><td>%(item_name)s</td>%(taxes)s</tr>", {
diff --git a/selling/doctype/opportunity/opportunity.py b/selling/doctype/opportunity/opportunity.py
index a3ef197..b265356 100644
--- a/selling/doctype/opportunity/opportunity.py
+++ b/selling/doctype/opportunity/opportunity.py
@@ -160,6 +160,11 @@
 def make_quotation(source_name, target_doclist=None):
 	from webnotes.model.mapper import get_mapped_doclist
 	
+	def set_missing_values(source, target):
+		quotation = webnotes.bean(target)
+		quotation.run_method("onload_post_render")
+		quotation.run_method("calculate_taxes_and_totals")
+	
 	doclist = get_mapped_doclist("Opportunity", source_name, {
 		"Opportunity": {
 			"doctype": "Quotation", 
@@ -181,6 +186,6 @@
 			},
 			"add_if_empty": True
 		}
-	}, target_doclist)
+	}, target_doclist, set_missing_values)
 		
 	return [d.fields for d in doclist]
\ No newline at end of file
diff --git a/stock/doctype/purchase_receipt/test_purchase_receipt.py b/stock/doctype/purchase_receipt/test_purchase_receipt.py
index e303d79..af04023 100644
--- a/stock/doctype/purchase_receipt/test_purchase_receipt.py
+++ b/stock/doctype/purchase_receipt/test_purchase_receipt.py
@@ -95,9 +95,6 @@
 
 		self.assertFalse(webnotes.conn.get_value("Serial No", pr.doclist[1].serial_no, 
 			"warehouse"))
-
-		self.assertEqual(webnotes.conn.get_value("Serial No", pr.doclist[1].serial_no, 
-			"status"), "Not Available")
 		
 	
 		
