diff --git a/erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.py b/erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.py
index 4cc6bf7..cc3727c 100644
--- a/erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.py
+++ b/erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.py
@@ -10,7 +10,6 @@
 from frappe.query_builder.custom import ConstantColumn
 from frappe.utils import flt
 
-from erpnext import get_company_currency
 from erpnext.accounts.doctype.bank_transaction.bank_transaction import get_paid_amount
 from erpnext.accounts.report.bank_reconciliation_statement.bank_reconciliation_statement import (
 	get_amounts_not_reflected_in_system,
@@ -368,6 +367,27 @@
 	account_from_to = "paid_to" if transaction.deposit > 0 else "paid_from"
 	queries = []
 
+	# get matching queries from all the apps
+	for method_name in frappe.get_hooks("get_matching_queries"):
+		queries.extend(
+			frappe.get_attr(method_name)(
+				bank_account,
+				company,
+				transaction,
+				document_types,
+				amount_condition,
+				account_from_to,
+			)
+			or []
+		)
+
+	return queries
+
+
+def get_matching_queries(
+	bank_account, company, transaction, document_types, amount_condition, account_from_to
+):
+	queries = []
 	if "payment_entry" in document_types:
 		pe_amount_matching = get_pe_matching_query(amount_condition, account_from_to, transaction)
 		queries.extend([pe_amount_matching])
@@ -385,10 +405,6 @@
 			pi_amount_matching = get_pi_matching_query(amount_condition)
 			queries.extend([pi_amount_matching])
 
-		if "expense_claim" in document_types:
-			ec_amount_matching = get_ec_matching_query(bank_account, company, amount_condition)
-			queries.extend([ec_amount_matching])
-
 	return queries
 
 
@@ -604,37 +620,3 @@
 			AND ifnull(clearance_date, '') = ""
 			AND cash_bank_account  = %(bank_account)s
 	"""
-
-
-def get_ec_matching_query(bank_account, company, amount_condition):
-	# get matching Expense Claim query
-	mode_of_payments = [
-		x["parent"]
-		for x in frappe.db.get_all(
-			"Mode of Payment Account", filters={"default_account": bank_account}, fields=["parent"]
-		)
-	]
-	mode_of_payments = "('" + "', '".join(mode_of_payments) + "' )"
-	company_currency = get_company_currency(company)
-	return f"""
-		SELECT
-			( CASE WHEN employee = %(party)s THEN 1 ELSE 0 END
-			+ 1 ) AS rank,
-			'Expense Claim' as doctype,
-			name,
-			total_sanctioned_amount as paid_amount,
-			'' as reference_no,
-			'' as reference_date,
-			employee as party,
-			'Employee' as party_type,
-			posting_date,
-			'{company_currency}' as currency
-		FROM
-			`tabExpense Claim`
-		WHERE
-			total_sanctioned_amount {amount_condition} %(amount)s
-			AND docstatus = 1
-			AND is_paid = 1
-			AND ifnull(clearance_date, '') = ""
-			AND mode_of_payment in {mode_of_payments}
-	"""
diff --git a/erpnext/accounts/doctype/bank_transaction/bank_transaction.js b/erpnext/accounts/doctype/bank_transaction/bank_transaction.js
index 3758b52..6f2900a 100644
--- a/erpnext/accounts/doctype/bank_transaction/bank_transaction.js
+++ b/erpnext/accounts/doctype/bank_transaction/bank_transaction.js
@@ -3,28 +3,21 @@
 
 frappe.ui.form.on("Bank Transaction", {
 	onload(frm) {
-		frm.set_query("payment_document", "payment_entries", function () {
+		frm.set_query("payment_document", "payment_entries", function() {
+			const payment_doctypes = frm.events.get_payment_doctypes(frm);
 			return {
 				filters: {
-					name: [
-						"in",
-						[
-							"Payment Entry",
-							"Journal Entry",
-							"Sales Invoice",
-							"Purchase Invoice",
-							"Expense Claim",
-						],
-					],
+					name: ["in", payment_doctypes],
 				},
 			};
 		});
 	},
-	bank_account: function (frm) {
+
+	bank_account: function(frm) {
 		set_bank_statement_filter(frm);
 	},
 
-	setup: function (frm) {
+	setup: function(frm) {
 		frm.set_query("party_type", function () {
 			return {
 				filters: {
@@ -33,6 +26,16 @@
 			};
 		});
 	},
+
+	get_payment_doctypes: function() {
+		// get payment doctypes from all the apps
+		return [
+			"Payment Entry",
+			"Journal Entry",
+			"Sales Invoice",
+			"Purchase Invoice",
+		];
+	}
 });
 
 frappe.ui.form.on("Bank Transaction Payments", {
diff --git a/erpnext/accounts/doctype/bank_transaction/bank_transaction.py b/erpnext/accounts/doctype/bank_transaction/bank_transaction.py
index 9a0891f..a788514 100644
--- a/erpnext/accounts/doctype/bank_transaction/bank_transaction.py
+++ b/erpnext/accounts/doctype/bank_transaction/bank_transaction.py
@@ -58,18 +58,10 @@
 
 	def clear_linked_payment_entries(self, for_cancel=False):
 		for payment_entry in self.payment_entries:
-			if payment_entry.payment_document in [
-				"Payment Entry",
-				"Journal Entry",
-				"Purchase Invoice",
-				"Expense Claim",
-				"Loan Repayment",
-				"Loan Disbursement",
-			]:
-				self.clear_simple_entry(payment_entry, for_cancel=for_cancel)
-
-			elif payment_entry.payment_document == "Sales Invoice":
+			if payment_entry.payment_document == "Sales Invoice":
 				self.clear_sales_invoice(payment_entry, for_cancel=for_cancel)
+			elif payment_entry.payment_document in get_doctypes_for_bank_reconciliation():
+				self.clear_simple_entry(payment_entry, for_cancel=for_cancel)
 
 	def clear_simple_entry(self, payment_entry, for_cancel=False):
 		if payment_entry.payment_document == "Payment Entry":
@@ -95,6 +87,12 @@
 		)
 
 
+@frappe.whitelist()
+def get_doctypes_for_bank_reconciliation():
+	"""Get Bank Reconciliation doctypes from all the apps"""
+	return frappe.get_hooks("bank_reconciliation_doctypes")
+
+
 def get_reconciled_bank_transactions(payment_entry):
 	reconciled_bank_transactions = frappe.get_all(
 		"Bank Transaction Payments",
diff --git a/erpnext/hooks.py b/erpnext/hooks.py
index 453579f..691ba3c 100644
--- a/erpnext/hooks.py
+++ b/erpnext/hooks.py
@@ -498,6 +498,15 @@
 	"Stock Entry",
 ]
 
+bank_reconciliation_doctypes = [
+	"Payment Entry",
+	"Journal Entry",
+	"Purchase Invoice",
+	"Sales Invoice",
+	"Loan Repayment",
+	"Loan Disbursement",
+]
+
 accounting_dimension_doctypes = [
 	"GL Entry",
 	"Payment Ledger Entry",
@@ -536,6 +545,11 @@
 	"Sales Order",
 ]
 
+# get matching queries for Bank Reconciliation
+get_matching_queries = (
+	"erpnext.accounts.doctype.bank_reconciliation_tool.bank_reconciliation_tool.get_matching_queries"
+)
+
 regional_overrides = {
 	"France": {
 		"erpnext.tests.test_regional.test_method": "erpnext.regional.france.utils.test_method"
diff --git a/erpnext/public/js/bank_reconciliation_tool/dialog_manager.js b/erpnext/public/js/bank_reconciliation_tool/dialog_manager.js
index 214a1be..cb34c9b 100644
--- a/erpnext/public/js/bank_reconciliation_tool/dialog_manager.js
+++ b/erpnext/public/js/bank_reconciliation_tool/dialog_manager.js
@@ -169,40 +169,40 @@
 				label: __("Filters"),
 				depends_on: "eval:doc.action=='Match Against Voucher'",
 			},
-			{
-				fieldtype: "Check",
-				label: "Payment Entry",
-				fieldname: "payment_entry",
-				onchange: () => this.update_options(),
-			},
-			{
-				fieldtype: "Check",
-				label: "Journal Entry",
-				fieldname: "journal_entry",
-				onchange: () => this.update_options(),
-			},
-			{
-				fieldtype: "Check",
-				label: "Loan Repayment",
-				fieldname: "loan_repayment",
-				onchange: () => this.update_options(),
-			},
-			{
-				fieldname: "column_break_5",
-				fieldtype: "Column Break",
-			},
-			{
-				fieldtype: "Check",
-				label: "Sales Invoice",
-				fieldname: "sales_invoice",
-				onchange: () => this.update_options(),
-			},
-			{
-				fieldtype: "Check",
-				label: "Purchase Invoice",
-				fieldname: "purchase_invoice",
-				onchange: () => this.update_options(),
-			},
+		];
+
+		frappe.call({
+			method: "erpnext.accounts.doctype.bank_transaction.bank_transaction.get_doctypes_for_bank_reconciliation",
+			callback: (r) => {
+				$.each(r.message, (_i, entry) => {
+					if (_i % 3 == 0) {
+						fields.push({
+							fieldtype: "Column Break",
+						});
+					}
+					fields.push({
+						fieldtype: "Check",
+						label: entry,
+						fieldname: frappe.scrub(entry),
+						onchange: () => this.update_options(),
+					});
+				});
+
+				fields.push(...this.get_voucher_fields());
+
+				me.dialog = new frappe.ui.Dialog({
+					title: __("Reconcile the Bank Transaction"),
+					fields: fields,
+					size: "large",
+					primary_action: (values) =>
+						this.reconciliation_dialog_primary_action(values),
+				});
+			}
+		});
+	}
+
+	get_voucher_fields() {
+		return [
 			{
 				fieldtype: "Check",
 				label: "Show Only Exact Amount",
@@ -210,22 +210,6 @@
 				onchange: () => this.update_options(),
 			},
 			{
-				fieldname: "column_break_5",
-				fieldtype: "Column Break",
-			},
-			{
-				fieldtype: "Check",
-				label: "Expense Claim",
-				fieldname: "expense_claim",
-				onchange: () => this.update_options(),
-			},
-			{
-				fieldtype: "Check",
-				label: "Loan Disbursement",
-				fieldname: "loan_disbursement",
-				onchange: () => this.update_options(),
-			},
-			{
 				fieldtype: "Section Break",
 				fieldname: "section_break_1",
 				label: __("Select Vouchers to Match"),
@@ -404,14 +388,6 @@
 				read_only: 1,
 			},
 		];
-
-		me.dialog = new frappe.ui.Dialog({
-			title: __("Reconcile the Bank Transaction"),
-			fields: fields,
-			size: "large",
-			primary_action: (values) =>
-				this.reconciliation_dialog_primary_action(values),
-		});
 	}
 
 	get_selected_attributes() {
diff --git a/erpnext/setup/doctype/authorization_rule/authorization_rule.js b/erpnext/setup/doctype/authorization_rule/authorization_rule.js
index 4a6c420..3f6afca 100644
--- a/erpnext/setup/doctype/authorization_rule/authorization_rule.js
+++ b/erpnext/setup/doctype/authorization_rule/authorization_rule.js
@@ -28,8 +28,8 @@
 		}
 	},
 	transaction: function(frm) {
-		unhide_field(['system_role', 'system_user','value', 'based_on']);
-		hide_field(['to_emp','to_designation']);
+		unhide_field(['system_role', 'system_user', 'value', 'based_on']);
+		hide_field(['to_emp', 'to_designation']);
 	}
 })
 
@@ -41,8 +41,8 @@
 	else
 		unhide_field('value');
 
-	unhide_field(['system_role', 'system_user','value']);
-	hide_field(['to_emp','to_designation']);
+	unhide_field(['system_role', 'system_user', 'value']);
+	hide_field(['to_emp', 'to_designation']);
 }
 
 cur_frm.fields_dict.system_user.get_query = function(doc, cdt, cdn) {
