diff --git a/erpnext/assets/doctype/asset_maintenance/asset_maintenance.py b/erpnext/assets/doctype/asset_maintenance/asset_maintenance.py
index ecd55e3..e3e654c 100644
--- a/erpnext/assets/doctype/asset_maintenance/asset_maintenance.py
+++ b/erpnext/assets/doctype/asset_maintenance/asset_maintenance.py
@@ -19,14 +19,15 @@
 			if not task.assign_to and self.docstatus == 0:
 				throw(_("Row #{}: Please asign task to a member.").format(task.idx))
 
+		if self.stock_consumption:
+			self.check_for_stock_items_and_warehouse()
+			self.increase_asset_value()
+			self.decrease_stock_quantity()
+
 	def on_update(self):
 		for task in self.get('asset_maintenance_tasks'):
 			assign_tasks(self.name, task.assign_to, task.maintenance_task, task.next_due_date)
-		self.sync_maintenance_tasks()
-
-	def on_submit(self):
-		self.check_for_stock_items_and_warehouse()
-		self.increase_asset_value()
+		self.sync_maintenance_tasks()		
 
 	def check_for_stock_items_and_warehouse(self):
 		if self.stock_consumption:
@@ -36,11 +37,27 @@
 				frappe.throw(_("Please enter Warehouse from which Stock Items consumed during Asset Maintenance were taken."))
 
 	def increase_asset_value(self):
-		asset_value = frappe.db.get_value('Asset', self.asset, 'asset_value')
+		asset_value = frappe.db.get_value('Asset', self.asset_name, 'asset_value')
 		for item in self.stock_items:
 			asset_value += item.total_value
 
-		frappe.db.set_value('Asset', self.asset, 'asset_value', asset_value)
+		frappe.db.set_value('Asset', self.asset_name, 'asset_value', asset_value)
+
+	def decrease_stock_quantity(self):
+		stock_entry = frappe.get_doc({
+			"doctype": "Stock Entry",
+			"stock_entry_type": "Material Issue"
+		})
+
+		for stock_item in self.stock_items:
+			stock_entry.append('items', {
+				"s_warehouse": self.warehouse,
+				"item_code": stock_item.item,
+				"qty": stock_item.consumed_quantity
+			})
+
+		stock_entry.insert()
+		stock_entry.submit()
 
 	def sync_maintenance_tasks(self):
 		tasks_names = []
