Deleted Stock UOM Replace Utility
diff --git a/erpnext/docs/current/models/stock/stock_uom_replace_utility.html b/erpnext/docs/current/models/stock/stock_uom_replace_utility.html
deleted file mode 100644
index 5d3b9fa..0000000
--- a/erpnext/docs/current/models/stock/stock_uom_replace_utility.html
+++ /dev/null
@@ -1,284 +0,0 @@
-<!-- title: Stock UOM Replace Utility -->
-
-
-
-
-
-<div class="dev-header">
-
-<a class="btn btn-default btn-sm" disabled style="margin-bottom: 10px;">
-	Version 6.7.7</a>
-
-
-	<a class="btn btn-default btn-sm" href="https://github.com/frappe/erpnext/tree/develop/erpnext/stock/doctype/stock_uom_replace_utility"
-		target="_blank" style="margin-left: 10px; margin-bottom: 10px;"><i class="octicon octicon-mark-github"></i> Source</a>
-
-</div>
-
-<span class="label label-info">Single</span>
-
-
-
-
-
-
-<h3>Fields</h3>
-
-<table class="table table-bordered" style="table-layout: fixed;">
-    <thead>
-        <tr>
-            <th style="width: 5%">Sr</th>
-            <th style="width: 25%">Fieldname</th>
-            <th style="width: 20%">Type</th>
-            <th style="width: 25%">Label</th>
-            <th style="width: 25%">Options</th>
-        </tr>
-    </thead>
-    <tbody>
-        
-        <tr >
-            <td>1</td>
-            <td ><code>item_code</code></td>
-            <td >
-                Link</td>
-            <td >
-                Item
-                
-            </td>
-            <td>
-                
-                
-
-
-<a href="https://frappe.github.io/erpnext/current/models/stock/item">Item</a>
-
-
-                
-            </td>
-        </tr>
-        
-        <tr >
-            <td>2</td>
-            <td ><code>current_stock_uom</code></td>
-            <td >
-                Link</td>
-            <td >
-                Current Stock UOM
-                
-            </td>
-            <td>
-                
-                
-
-
-<a href="https://frappe.github.io/erpnext/current/models/setup/uom">UOM</a>
-
-
-                
-            </td>
-        </tr>
-        
-        <tr >
-            <td>3</td>
-            <td ><code>new_stock_uom</code></td>
-            <td >
-                Link</td>
-            <td >
-                New Stock UOM
-                
-            </td>
-            <td>
-                
-                
-
-
-<a href="https://frappe.github.io/erpnext/current/models/setup/uom">UOM</a>
-
-
-                
-            </td>
-        </tr>
-        
-        <tr >
-            <td>4</td>
-            <td ><code>conversion_factor</code></td>
-            <td >
-                Float</td>
-            <td >
-                Conversion Factor
-                
-            </td>
-            <td></td>
-        </tr>
-        
-        <tr >
-            <td>5</td>
-            <td ><code>update</code></td>
-            <td >
-                Button</td>
-            <td >
-                Update
-                
-            </td>
-            <td>
-                <pre>update_stock_uom</pre>
-            </td>
-        </tr>
-        
-    </tbody>
-</table>
-
-
-    <hr>
-    <h3>Controller</h3>
-    <h4>erpnext.stock.doctype.stock_uom_replace_utility.stock_uom_replace_utility</h4>
-
-    
-
-
-
-	
-        
-	<h3 style="font-weight: normal;">Class <b>StockUOMReplaceUtility</b></h3>
-    
-    <p style="padding-left: 30px;"><i>Inherits from frappe.model.document.Document</i></h4>
-    
-    <div class="docs-attr-desc"><p></p>
-</div>
-    <div style="padding-left: 30px;">
-        
-        
-    
-    
-	<p class="docs-attr-name">
-        <a name="update_stock_uom" href="#update_stock_uom" class="text-muted small">
-            <i class="icon-link small" style="color: #ccc;"></i></a>
-		<b>update_stock_uom</b>
-        <i class="text-muted">(self)</i>
-    </p>
-	<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
-</div>
-	<br>
-
-        
-        
-    
-    
-	<p class="docs-attr-name">
-        <a name="validate_item" href="#validate_item" class="text-muted small">
-            <i class="icon-link small" style="color: #ccc;"></i></a>
-		<b>validate_item</b>
-        <i class="text-muted">(self)</i>
-    </p>
-	<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
-</div>
-	<br>
-
-        
-        
-    
-    
-	<p class="docs-attr-name">
-        <a name="validate_mandatory" href="#validate_mandatory" class="text-muted small">
-            <i class="icon-link small" style="color: #ccc;"></i></a>
-		<b>validate_mandatory</b>
-        <i class="text-muted">(self)</i>
-    </p>
-	<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
-</div>
-	<br>
-
-        
-        
-    
-    
-	<p class="docs-attr-name">
-        <a name="validate_uom_integer_type" href="#validate_uom_integer_type" class="text-muted small">
-            <i class="icon-link small" style="color: #ccc;"></i></a>
-		<b>validate_uom_integer_type</b>
-        <i class="text-muted">(self)</i>
-    </p>
-	<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
-</div>
-	<br>
-
-        
-    </div>
-    <hr>
-
-	
-
-	
-        
-    
-    <p><span class="label label-info">Public API</span>
-        <br><code>/api/method/erpnext.stock.doctype.stock_uom_replace_utility.stock_uom_replace_utility.get_stock_uom</code>
-    </p>
-	<p class="docs-attr-name">
-        <a name="erpnext.stock.doctype.stock_uom_replace_utility.stock_uom_replace_utility.get_stock_uom" href="#erpnext.stock.doctype.stock_uom_replace_utility.stock_uom_replace_utility.get_stock_uom" class="text-muted small">
-            <i class="icon-link small" style="color: #ccc;"></i></a>
-		erpnext.stock.doctype.stock_uom_replace_utility.stock_uom_replace_utility.<b>get_stock_uom</b>
-        <i class="text-muted">(item_code)</i>
-    </p>
-	<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
-</div>
-	<br>
-
-	
-
-	
-        
-    
-    
-	<p class="docs-attr-name">
-        <a name="erpnext.stock.doctype.stock_uom_replace_utility.stock_uom_replace_utility.update_bin" href="#erpnext.stock.doctype.stock_uom_replace_utility.stock_uom_replace_utility.update_bin" class="text-muted small">
-            <i class="icon-link small" style="color: #ccc;"></i></a>
-		erpnext.stock.doctype.stock_uom_replace_utility.stock_uom_replace_utility.<b>update_bin</b>
-        <i class="text-muted">(item_code, new_stock_uom, conversion_factor)</i>
-    </p>
-	<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
-</div>
-	<br>
-
-	
-
-	
-        
-    
-    
-	<p class="docs-attr-name">
-        <a name="erpnext.stock.doctype.stock_uom_replace_utility.stock_uom_replace_utility.update_item_master" href="#erpnext.stock.doctype.stock_uom_replace_utility.stock_uom_replace_utility.update_item_master" class="text-muted small">
-            <i class="icon-link small" style="color: #ccc;"></i></a>
-		erpnext.stock.doctype.stock_uom_replace_utility.stock_uom_replace_utility.<b>update_item_master</b>
-        <i class="text-muted">(item_code, new_stock_uom, conversion_factor)</i>
-    </p>
-	<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
-</div>
-	<br>
-
-	
-
-	
-        
-    
-    
-	<p class="docs-attr-name">
-        <a name="erpnext.stock.doctype.stock_uom_replace_utility.stock_uom_replace_utility.update_stock_ledger_entry" href="#erpnext.stock.doctype.stock_uom_replace_utility.stock_uom_replace_utility.update_stock_ledger_entry" class="text-muted small">
-            <i class="icon-link small" style="color: #ccc;"></i></a>
-		erpnext.stock.doctype.stock_uom_replace_utility.stock_uom_replace_utility.<b>update_stock_ledger_entry</b>
-        <i class="text-muted">(item_code, new_stock_uom, conversion_factor)</i>
-    </p>
-	<div class="docs-attr-desc"><p><span class="text-muted">No docs</span></p>
-</div>
-	<br>
-
-	
-
-
-    
-    
-
-
-<!-- autodoc -->
-<!-- jinja -->
-<!-- static -->
\ No newline at end of file
diff --git a/erpnext/docs/user/guides/stock/tools/index.txt b/erpnext/docs/user/guides/stock/tools/index.txt
index d6a5816..3aca9b7 100644
--- a/erpnext/docs/user/guides/stock/tools/index.txt
+++ b/erpnext/docs/user/guides/stock/tools/index.txt
@@ -1,4 +1,3 @@
 packing-slip
 quality-inspection
 landed-cost-voucher
-stock-uom-replace-utility
\ No newline at end of file
diff --git a/erpnext/docs/user/guides/stock/tools/stock-uom-replace-utility.md b/erpnext/docs/user/guides/stock/tools/stock-uom-replace-utility.md
deleted file mode 100644
index 3c5428a..0000000
--- a/erpnext/docs/user/guides/stock/tools/stock-uom-replace-utility.md
+++ /dev/null
@@ -1,10 +0,0 @@
-#Stock UOM Replace Utility
-
-This tool will help you to change the UOM (Unit of measurement) of an existing Item.
-
-You need to select an Item, system fetches the Existing UOM of that item. You can then select the new UOM for that item 
-and specify the conversion factor.
-
-<img class="screenshot" alt="Stock Uom Replace" src="{{url_prefix}}/assets/img/stock/uom-replace.png">
-
-{next}
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index 3ad735a..37a6b27 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -231,3 +231,4 @@
 execute:frappe.delete_doc_if_exists("Report", "Item-wise Last Purchase Rate")
 erpnext.patches.v6_6.fix_website_image
 erpnext.patches.v6_6.remove_fiscal_year_from_leave_allocation
+execute:frappe.delete_doc_if_exists("DocType", "Stock UOM Replace Utility")
\ No newline at end of file
diff --git a/erpnext/stock/doctype/stock_uom_replace_utility/README.md b/erpnext/stock/doctype/stock_uom_replace_utility/README.md
deleted file mode 100644
index 6db95a6..0000000
--- a/erpnext/stock/doctype/stock_uom_replace_utility/README.md
+++ /dev/null
@@ -1 +0,0 @@
-Tool to replace unit of measure (UoM) of an Item.
\ No newline at end of file
diff --git a/erpnext/stock/doctype/stock_uom_replace_utility/__init__.py b/erpnext/stock/doctype/stock_uom_replace_utility/__init__.py
deleted file mode 100644
index baffc48..0000000
--- a/erpnext/stock/doctype/stock_uom_replace_utility/__init__.py
+++ /dev/null
@@ -1 +0,0 @@
-from __future__ import unicode_literals
diff --git a/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.js b/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.js
deleted file mode 100644
index eb45ade..0000000
--- a/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.js
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
-// License: GNU General Public License v3. See license.txt
-
-$.extend(cur_frm.cscript, {
-	onload: function() {
-		cur_frm.set_query("item_code", function() {
-			return erpnext.queries.item({"is_stock_item": 1});
-		});
-	},
-
-	item_code: function() {
-		if(cur_frm.doc.item_code) {
-			return cur_frm.call({
-				method: "get_stock_uom",
-				args: { item_code: cur_frm.doc.item_code }
-			});
-		}
-	}
-});
diff --git a/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.json b/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.json
deleted file mode 100644
index 6cadd6a..0000000
--- a/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.json
+++ /dev/null
@@ -1,178 +0,0 @@
-{
- "allow_copy": 0, 
- "allow_import": 0, 
- "allow_rename": 0, 
- "creation": "2013-01-10 16:34:30", 
- "custom": 0, 
- "docstatus": 0, 
- "doctype": "DocType", 
- "fields": [
-  {
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "fieldname": "item_code", 
-   "fieldtype": "Link", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "in_filter": 0, 
-   "in_list_view": 0, 
-   "label": "Item", 
-   "no_copy": 0, 
-   "options": "Item", 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "read_only": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "unique": 0
-  }, 
-  {
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "fieldname": "current_stock_uom", 
-   "fieldtype": "Link", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "in_filter": 0, 
-   "in_list_view": 0, 
-   "label": "Current Stock UOM", 
-   "no_copy": 0, 
-   "options": "UOM", 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "read_only": 1, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "unique": 0
-  }, 
-  {
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "fieldname": "new_stock_uom", 
-   "fieldtype": "Link", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "in_filter": 0, 
-   "in_list_view": 0, 
-   "label": "New Stock UOM", 
-   "no_copy": 0, 
-   "options": "UOM", 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "read_only": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "unique": 0
-  }, 
-  {
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "fieldname": "conversion_factor", 
-   "fieldtype": "Float", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "in_filter": 0, 
-   "in_list_view": 0, 
-   "label": "Conversion Factor", 
-   "no_copy": 0, 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "read_only": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "unique": 0
-  }, 
-  {
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "fieldname": "update", 
-   "fieldtype": "Button", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "in_filter": 0, 
-   "in_list_view": 0, 
-   "label": "Update", 
-   "no_copy": 0, 
-   "options": "update_stock_uom", 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "read_only": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "unique": 0
-  }
- ], 
- "hide_heading": 0, 
- "hide_toolbar": 0, 
- "icon": "icon-magic", 
- "idx": 1, 
- "in_create": 0, 
- "in_dialog": 0, 
- "is_submittable": 0, 
- "issingle": 1, 
- "istable": 0, 
- "modified": "2015-08-12 08:52:09.322664", 
- "modified_by": "Administrator", 
- "module": "Stock", 
- "name": "Stock UOM Replace Utility", 
- "owner": "Administrator", 
- "permissions": [
-  {
-   "amend": 0, 
-   "apply_user_permissions": 0, 
-   "cancel": 0, 
-   "create": 1, 
-   "delete": 0, 
-   "email": 1, 
-   "export": 0, 
-   "if_owner": 0, 
-   "import": 0, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 0, 
-   "role": "Item Manager", 
-   "set_user_permissions": 0, 
-   "share": 1, 
-   "submit": 0, 
-   "write": 1
-  }, 
-  {
-   "amend": 0, 
-   "apply_user_permissions": 0, 
-   "cancel": 0, 
-   "create": 1, 
-   "delete": 0, 
-   "email": 1, 
-   "export": 0, 
-   "if_owner": 0, 
-   "import": 0, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 0, 
-   "role": "Stock Manager", 
-   "set_user_permissions": 0, 
-   "share": 1, 
-   "submit": 0, 
-   "write": 1
-  }
- ], 
- "read_only": 0, 
- "read_only_onload": 0
-}
\ No newline at end of file
diff --git a/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py b/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py
deleted file mode 100644
index 2676493..0000000
--- a/erpnext/stock/doctype/stock_uom_replace_utility/stock_uom_replace_utility.py
+++ /dev/null
@@ -1,116 +0,0 @@
-# Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
-# License: GNU General Public License v3. See license.txt
-
-from __future__ import unicode_literals
-import frappe
-from frappe.utils import cstr, flt, cint
-from frappe import _
-
-
-from frappe.model.document import Document
-
-class StockUOMReplaceUtility(Document):
-	
-	# Update Stock UOM
-	def update_stock_uom(self):
-		self.validate_item()
-		self.validate_mandatory()
-		self.validate_uom_integer_type()
-		
-		update_stock_ledger_entry(self.item_code, self.new_stock_uom, self.conversion_factor)
-		update_bin(self.item_code, self.new_stock_uom, self.conversion_factor)
-		update_item_master(self.item_code, self.new_stock_uom, self.conversion_factor)
-		
-		#if item is template change UOM for all associated variants
-		if frappe.db.get_value("Item", self.item_code, "has_variants"):
-			for d in frappe.db.get_all("Item", filters= {"variant_of": self.item_code}):
-				update_stock_ledger_entry(d.name, self.new_stock_uom, self.conversion_factor)
-				update_bin(d.name, self.new_stock_uom, self.conversion_factor)
-				update_item_master(d.name, self.new_stock_uom, self.conversion_factor)
-		
-	def validate_item(self):
-		if frappe.db.get_value("Item", self.item_code, "variant_of"):
-			frappe.throw(_("You cannot change default UOM of Variant. To change default UOM for Variant change default UOM of the Template"))
-		
-	def validate_mandatory(self):
-		if not cstr(self.item_code):
-			frappe.throw(_("Item is required"))
-
-		if not cstr(self.new_stock_uom):
-			frappe.throw(_("New Stock UOM is required"))
-
-		if cstr(self.current_stock_uom) == cstr(self.new_stock_uom):
-			frappe.throw(_("New Stock UOM must be different from current stock UOM"))
-
-		# check conversion factor
-		if not flt(self.conversion_factor):
-			frappe.throw(_("Conversion Factor is required"))
-
-		stock_uom = frappe.db.get_value("Item", self.item_code, "stock_uom")
-		if cstr(self.new_stock_uom) == cstr(stock_uom):
-			frappe.throw(_("Item is updated"))
-		
-	def validate_uom_integer_type(self):
-		current_is_integer = frappe.db.get_value("UOM", self.current_stock_uom, "must_be_whole_number")
-		new_is_integer = frappe.db.get_value("UOM", self.new_stock_uom, "must_be_whole_number")
-
-		if not current_is_integer and new_is_integer:
-			frappe.throw(_("New UOM must NOT be of type Whole Number"))
-
-		if current_is_integer and new_is_integer and cint(self.conversion_factor)!=self.conversion_factor:
-			frappe.throw(_("Conversion factor cannot be in fractions"))
-
-def update_item_master(item_code, new_stock_uom, conversion_factor):
-	frappe.db.set_value("Item", item_code, "stock_uom", new_stock_uom)
-	frappe.msgprint(_("Stock UOM updated for Item {0}").format(item_code))
-
-def update_bin(item_code, new_stock_uom, conversion_factor):
-	# update bin
-	if flt(conversion_factor) != flt(1):
-		frappe.db.sql("""update `tabBin`
-			set stock_uom = %s,
-				indented_qty = ifnull(indented_qty,0) * %s,
-				ordered_qty = ifnull(ordered_qty,0) * %s,
-				reserved_qty = ifnull(reserved_qty,0) * %s,
-				planned_qty = ifnull(planned_qty,0) * %s,
-				projected_qty = actual_qty + ordered_qty + indented_qty +
-					planned_qty - reserved_qty
-			where item_code = %s""", (new_stock_uom, conversion_factor,
-				conversion_factor, conversion_factor,
-				conversion_factor, item_code))
-	else:
-		frappe.db.sql("update `tabBin` set stock_uom = %s where item_code = %s",
-			 (new_stock_uom, item_code) )
-
-def update_stock_ledger_entry(item_code, new_stock_uom, conversion_factor):
-	# update stock ledger entry
-	from erpnext.stock.stock_ledger import update_entries_after
-
-	if flt(conversion_factor) != flt(1):
-		frappe.db.sql("""update `tabStock Ledger Entry`
-			set 
-				stock_uom = %s, 
-				actual_qty = ifnull(actual_qty,0) * %s,
-				qty_after_transaction = ifnull(qty_after_transaction, 0) * %s
-			where item_code = %s""",
-			(new_stock_uom, conversion_factor, conversion_factor, item_code))
-	else:
-		frappe.db.sql("""update `tabStock Ledger Entry` set stock_uom=%s
-			where item_code=%s""", (new_stock_uom, item_code))
-
-	# acknowledge user
-	frappe.msgprint(_("Stock Ledger entries balances updated"))
-
-	# update item valuation
-	if flt(conversion_factor) != flt(1):
-		wh = frappe.db.sql("select name from `tabWarehouse`")
-		for w in wh:
-			update_entries_after({"item_code": item_code, "warehouse": w[0]})
-
-	# acknowledge user
-	frappe.msgprint(_("Item valuation updated"))
-
-@frappe.whitelist()
-def get_stock_uom(item_code):
-	return { 'current_stock_uom': cstr(frappe.db.get_value('Item', item_code, 'stock_uom')) }
-