diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.json b/erpnext/stock/doctype/stock_entry/stock_entry.json
index 3c39d42..f2ea6d4 100644
--- a/erpnext/stock/doctype/stock_entry/stock_entry.json
+++ b/erpnext/stock/doctype/stock_entry/stock_entry.json
@@ -369,6 +369,7 @@
    "fieldname": "total_incoming_value", 
    "fieldtype": "Currency", 
    "label": "Total Incoming Value", 
+   "options": "Company:company:default_currency", 
    "permlevel": 0, 
    "precision": "", 
    "read_only": 1
@@ -383,6 +384,7 @@
    "fieldname": "total_outgoing_value", 
    "fieldtype": "Currency", 
    "label": "Total Outgoing Value", 
+   "options": "Company:company:default_currency", 
    "permlevel": 0, 
    "precision": "", 
    "read_only": 1
@@ -391,6 +393,7 @@
    "fieldname": "value_difference", 
    "fieldtype": "Currency", 
    "label": "Total Value Difference (Out - In)", 
+   "options": "Company:company:default_currency", 
    "permlevel": 0, 
    "precision": "", 
    "read_only": 1
@@ -405,6 +408,30 @@
    "precision": ""
   }, 
   {
+   "fieldname": "taxes_section", 
+   "fieldtype": "Section Break", 
+   "label": "Taxes and Charges", 
+   "permlevel": 0, 
+   "precision": ""
+  }, 
+  {
+   "fieldname": "taxes", 
+   "fieldtype": "Table", 
+   "label": "Taxes and Charges", 
+   "options": "Landed Cost Taxes and Charges", 
+   "permlevel": 0, 
+   "precision": ""
+  }, 
+  {
+   "fieldname": "total_taxes_and_charges", 
+   "fieldtype": "Currency", 
+   "label": "Total Taxes and Charges", 
+   "options": "Company:company:default_currency", 
+   "permlevel": 0, 
+   "precision": "", 
+   "read_only": 1
+  }, 
+  {
    "fieldname": "fold", 
    "fieldtype": "Fold", 
    "permlevel": 0
@@ -678,7 +705,7 @@
  "is_submittable": 1, 
  "issingle": 0, 
  "max_attachments": 0, 
- "modified": "2015-07-22 18:47:20.328749", 
+ "modified": "2015-07-24 18:47:55.902154", 
  "modified_by": "Administrator", 
  "module": "Stock", 
  "name": "Stock Entry", 
diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.py b/erpnext/stock/doctype/stock_entry/stock_entry.py
index 61ef4cd..06249ed 100644
--- a/erpnext/stock/doctype/stock_entry/stock_entry.py
+++ b/erpnext/stock/doctype/stock_entry/stock_entry.py
@@ -50,6 +50,7 @@
 		self.validate_bom()
 		self.validate_finished_goods()
 		self.validate_with_material_request()
+		self.distribute_taxes()
 		self.validate_valuation_rate()
 		self.set_total_incoming_outgoing_value()
 		self.set_total_amount()
@@ -221,7 +222,7 @@
 				if d.s_warehouse and not d.t_warehouse:
 					valuation_at_source += flt(d.amount)
 				if d.t_warehouse and not d.s_warehouse:
-					valuation_at_target += flt(d.amount)
+					valuation_at_target += flt(d.amount) + flt(d.tax_amount)
 
 			if valuation_at_target + 0.001 < valuation_at_source:
 				frappe.throw(_("Total valuation ({0}) for manufactured or repacked item(s) can not be less than total valuation of raw materials ({1})").format(valuation_at_target,
@@ -230,10 +231,10 @@
 	def set_total_incoming_outgoing_value(self):
 		self.total_incoming_value = self.total_outgoing_value = 0.0
 		for d in self.get("items"):
-			if d.s_warehouse:
-				self.total_incoming_value += flt(d.amount)
 			if d.t_warehouse:
-				self.total_outgoing_value += flt(d.amount)
+				self.total_incoming_value += flt(d.amount)
+			if d.s_warehouse:
+				self.total_outgoing_value += flt(d.amount) + flt(d.tax_amount)
 
 		self.value_difference = self.total_outgoing_value - self.total_incoming_value
 
@@ -316,7 +317,7 @@
 			bom = frappe.db.get_value("BOM", bom_no, ["operating_cost", "quantity"], as_dict=1)
 			operation_cost_per_unit = flt(bom.operating_cost) / flt(bom.quantity)
 
-		return operation_cost_per_unit + (flt(self.additional_operating_cost) / flt(qty))
+		return operation_cost_per_unit
 
 	def validate_purchase_order(self):
 		"""Throw exception if more raw material is transferred against Purchase Order than in
@@ -402,22 +403,23 @@
 		
 		for d in self.get("items"):
 			tax_amount = flt(d.tax_amount, d.precision("tax_amount"))
-			gl_entries.append(self.get_gl_dict({
-				"account": d.expense_account,
-				"against": expenses_included_in_valuation,
-				"cost_center": d.cost_center,
-				"remarks": self.get("remarks") or _("Accounting Entry for Stock"),
-				"debit": tax_amount
-			}))
+			if tax_amount:			
+				gl_entries.append(self.get_gl_dict({
+					"account": expenses_included_in_valuation,
+					"against": d.expense_account,
+					"cost_center": d.cost_center,
+					"remarks": self.get("remarks") or _("Accounting Entry for Stock"),
+					"credit": tax_amount
+				}))
 			
-			gl_entries.append(self.get_gl_dict({
-				"account": expenses_included_in_valuation,
-				"against": warehouse_account[d.warehouse],
-				"cost_center": d.cost_center,
-				"remarks": self.get("remarks") or _("Accounting Entry for Stock"),
-				"credit": tax_amount
-			}))
-			
+				gl_entries.append(self.get_gl_dict({
+					"account": d.expense_account,
+					"against": expenses_included_in_valuation,
+					"cost_center": d.cost_center,
+					"remarks": self.get("remarks") or _("Accounting Entry for Stock"),
+					"credit": -1 * tax_amount
+				}))
+
 		return gl_entries
 
 	def update_production_order(self):
@@ -693,6 +695,12 @@
 					if expiry_date:
 						if getdate(self.posting_date) > getdate(expiry_date):
 							frappe.throw(_("Batch {0} of Item {1} has expired.").format(item.batch_no, item.item_code))
+							
+	def distribute_taxes(self):
+		self.total_taxes_and_charges = sum([flt(t.amount) for t in self.get("taxes")])
+		for d in self.get("items"):
+			if d.t_warehouse and self.total_incoming_value:
+				d.tax_amount = (flt(d.amount) / flt(self.total_incoming_value)) * self.total_taxes_and_charges
 
 
 @frappe.whitelist()
diff --git a/erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.json b/erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.json
index a373185..dcd46bd 100644
--- a/erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.json
+++ b/erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.json
@@ -161,6 +161,13 @@
    "read_only": 1
   }, 
   {
+   "fieldname": "tax_amount", 
+   "fieldtype": "Currency", 
+   "label": "Tax Amount", 
+   "permlevel": 0, 
+   "precision": ""
+  }, 
+  {
    "fieldname": "col_break3", 
    "fieldtype": "Column Break", 
    "permlevel": 0
@@ -344,7 +351,7 @@
  ], 
  "idx": 1, 
  "istable": 1, 
- "modified": "2015-07-02 05:32:56.511570", 
+ "modified": "2015-07-24 17:03:44.214018", 
  "modified_by": "Administrator", 
  "module": "Stock", 
  "name": "Stock Entry Detail", 
