diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index 538833f..1ce5c31 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -202,11 +202,9 @@
 erpnext.patches.v13_0.move_branch_code_to_bank_account
 erpnext.patches.v13_0.add_standard_navbar_items #2021-03-24
 erpnext.patches.v13_0.stock_entry_enhancements
-erpnext.patches.v12_0.update_state_code_for_daman_and_diu
 erpnext.patches.v12_0.rename_lost_reason_detail
 erpnext.patches.v13_0.drop_razorpay_payload_column
 erpnext.patches.v13_0.update_start_end_date_for_old_shift_assignment
-erpnext.patches.v13_0.setting_custom_roles_for_some_regional_reports
 erpnext.patches.v13_0.rename_issue_doctype_fields
 erpnext.patches.v13_0.change_default_pos_print_format
 erpnext.patches.v13_0.set_youtube_video_id
@@ -227,11 +225,9 @@
 erpnext.patches.v13_0.convert_qi_parameter_to_link_field
 erpnext.patches.v13_0.add_naming_series_to_old_projects # 1-02-2021
 erpnext.patches.v13_0.update_payment_terms_outstanding
-erpnext.patches.v12_0.add_state_code_for_ladakh
 erpnext.patches.v13_0.item_reposting_for_incorrect_sl_and_gl
 erpnext.patches.v13_0.delete_old_bank_reconciliation_doctypes
 erpnext.patches.v13_0.update_vehicle_no_reqd_condition
-erpnext.patches.v13_0.setup_fields_for_80g_certificate_and_donation
 erpnext.patches.v13_0.rename_membership_settings_to_non_profit_settings
 erpnext.patches.v13_0.setup_gratuity_rule_for_india_and_uae
 erpnext.patches.v13_0.setup_uae_vat_fields
@@ -278,7 +274,6 @@
 erpnext.patches.v13_0.update_dates_in_tax_withholding_category
 erpnext.patches.v14_0.update_opportunity_currency_fields
 erpnext.patches.v13_0.create_accounting_dimensions_in_pos_doctypes
-erpnext.patches.v13_0.trim_sales_invoice_custom_field_length
 erpnext.patches.v13_0.create_custom_field_for_finance_book
 erpnext.patches.v13_0.modify_invalid_gain_loss_gl_entries #2
 erpnext.patches.v13_0.fix_additional_cost_in_mfg_stock_entry
diff --git a/erpnext/patches/v12_0/add_state_code_for_ladakh.py b/erpnext/patches/v12_0/add_state_code_for_ladakh.py
deleted file mode 100644
index 4b06eb1..0000000
--- a/erpnext/patches/v12_0/add_state_code_for_ladakh.py
+++ /dev/null
@@ -1,19 +0,0 @@
-import frappe
-
-from erpnext.regional.india import states
-
-
-def execute():
-
-	company = frappe.get_all("Company", filters={"country": "India"})
-	if not company:
-		return
-
-	custom_fields = ["Address-gst_state", "Tax Category-gst_state"]
-
-	# Update options in gst_state custom fields
-	for field in custom_fields:
-		if frappe.db.exists("Custom Field", field):
-			gst_state_field = frappe.get_doc("Custom Field", field)
-			gst_state_field.options = "\n".join(states)
-			gst_state_field.save()
diff --git a/erpnext/patches/v12_0/update_state_code_for_daman_and_diu.py b/erpnext/patches/v12_0/update_state_code_for_daman_and_diu.py
deleted file mode 100644
index d7e96fa..0000000
--- a/erpnext/patches/v12_0/update_state_code_for_daman_and_diu.py
+++ /dev/null
@@ -1,26 +0,0 @@
-import frappe
-
-from erpnext.regional.india import states
-
-
-def execute():
-
-	company = frappe.get_all("Company", filters={"country": "India"})
-	if not company:
-		return
-
-	# Update options in gst_state custom field
-	gst_state = frappe.get_doc("Custom Field", "Address-gst_state")
-	gst_state.options = "\n".join(states)
-	gst_state.save()
-
-	# Update gst_state and state code in existing address
-	frappe.db.sql(
-		"""
-		UPDATE `tabAddress`
-		SET
-			gst_state = 'Dadra and Nagar Haveli and Daman and Diu',
-			gst_state_number = 26
-		WHERE gst_state = 'Daman and Diu'
-	"""
-	)
diff --git a/erpnext/patches/v13_0/setting_custom_roles_for_some_regional_reports.py b/erpnext/patches/v13_0/setting_custom_roles_for_some_regional_reports.py
deleted file mode 100644
index 40c10f3..0000000
--- a/erpnext/patches/v13_0/setting_custom_roles_for_some_regional_reports.py
+++ /dev/null
@@ -1,11 +0,0 @@
-import frappe
-
-from erpnext.regional.india.setup import add_custom_roles_for_reports
-
-
-def execute():
-	company = frappe.get_all("Company", filters={"country": "India"})
-	if not company:
-		return
-
-	add_custom_roles_for_reports()
diff --git a/erpnext/patches/v13_0/setup_fields_for_80g_certificate_and_donation.py b/erpnext/patches/v13_0/setup_fields_for_80g_certificate_and_donation.py
deleted file mode 100644
index 1c36b53..0000000
--- a/erpnext/patches/v13_0/setup_fields_for_80g_certificate_and_donation.py
+++ /dev/null
@@ -1,16 +0,0 @@
-import frappe
-
-from erpnext.regional.india.setup import make_custom_fields
-
-
-def execute():
-	if frappe.get_all("Company", filters={"country": "India"}):
-		frappe.reload_doc("accounts", "doctype", "POS Invoice")
-		frappe.reload_doc("accounts", "doctype", "POS Invoice Item")
-
-		make_custom_fields()
-
-		if not frappe.db.exists("Party Type", "Donor"):
-			frappe.get_doc(
-				{"doctype": "Party Type", "party_type": "Donor", "account_type": "Receivable"}
-			).insert(ignore_permissions=True)
diff --git a/erpnext/patches/v13_0/trim_sales_invoice_custom_field_length.py b/erpnext/patches/v13_0/trim_sales_invoice_custom_field_length.py
deleted file mode 100644
index 5f3fc57..0000000
--- a/erpnext/patches/v13_0/trim_sales_invoice_custom_field_length.py
+++ /dev/null
@@ -1,16 +0,0 @@
-# Copyright (c) 2020, Frappe and Contributors
-# License: GNU General Public License v3. See license.txt
-
-import frappe
-
-from erpnext.regional.india.setup import create_custom_fields, get_custom_fields
-
-
-def execute():
-	company = frappe.get_all("Company", filters={"country": "India"})
-	if not company:
-		return
-
-	custom_fields = {"Sales Invoice": get_custom_fields().get("Sales Invoice")}
-
-	create_custom_fields(custom_fields, update=True)
