Delete BOMs on deletion of company
diff --git a/erpnext/setup/doctype/company/company.py b/erpnext/setup/doctype/company/company.py
index a36810f..d7d23b3 100644
--- a/erpnext/setup/doctype/company/company.py
+++ b/erpnext/setup/doctype/company/company.py
@@ -281,6 +281,12 @@
# delete mode of payment account
frappe.db.sql("delete from `tabMode of Payment Account` where company=%s", self.name)
+ # delete BOMs
+ boms = frappe.db.sql_list("select name from tabBOM where company=%s", self.name)
+ frappe.db.sql("delete from tabBOM where company=%s", self.name)
+ for dt in ("BOM Operation", "BOM Item", "BOM Scrap Item", "BOM Explosion Item"):
+ frappe.db.sql("delete from `tab%s` where parent in (%s)"""
+ % (dt, ', '.join(['%s']*len(boms))), tuple(boms))
@frappe.whitelist()
def enqueue_replace_abbr(company, old, new):