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 d353270..cd99d38 100644
--- a/erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.py
+++ b/erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.py
@@ -25,6 +25,8 @@
 @frappe.whitelist()
 def get_bank_transactions(bank_account, from_date=None, to_date=None):
 	# returns bank transactions for a bank account
+	from_date = frappe.db.get_single_value('Bank Reconciliation Tool','bank_statement_from_date')
+	to_date = frappe.db.get_single_value('Bank Reconciliation Tool','bank_statement_to_date')
 	filters = []
 	filters.append(["bank_account", "=", bank_account])
 	filters.append(["docstatus", "=", 1])
@@ -51,9 +53,11 @@
 		],
 		filters=filters,
 	)
+	transactions= sorted(transactions, key=lambda x: x['date']) if transactions else []
 	return transactions
 
 
+
 @frappe.whitelist()
 def get_account_balance(bank_account, till_date):
 	# returns account balance till the specified date
@@ -340,6 +344,7 @@
 
 def check_matching(bank_account, company, transaction, document_types):
 	# combine all types of vouchers
+	filtered_by_reference_date = frappe.db.get_single_value('Bank Reconciliation Tool','filtered_by_reference_date')
 	subquery = get_queries(bank_account, company, transaction, document_types)
 	filters = {
 		"amount": transaction.unallocated_amount,
@@ -361,8 +366,12 @@
 				filters,
 			)
 		)
-
-	return sorted(matching_vouchers, key=lambda x: x[0], reverse=True) if matching_vouchers else []
+	matching_vouchers_with_ref_no = tuple(ele for ele in matching_vouchers if frappe.as_json(ele[5]) != "null")
+	if filtered_by_reference_date:
+		matching_vouchers = sorted(matching_vouchers_with_ref_no , key=lambda x: x[5]) if matching_vouchers else []
+	else:
+		matching_vouchers = sorted(matching_vouchers, key=lambda x: x[8]) if matching_vouchers else []
+	return matching_vouchers
 
 
 def get_queries(bank_account, company, transaction, document_types):
@@ -506,33 +515,72 @@
 
 def get_pe_matching_query(amount_condition, account_from_to, transaction):
 	# get matching payment entries query
+	from_date = frappe.db.get_single_value('Bank Reconciliation Tool','bank_statement_from_date')
+	to_date = frappe.db.get_single_value('Bank Reconciliation Tool','bank_statement_to_date')
+	from_reference_date = frappe.db.get_single_value('Bank Reconciliation Tool','from_reference_date')
+	to_reference_date = frappe.db.get_single_value('Bank Reconciliation Tool','to_reference_date')
+	filtered_by_reference_date = frappe.db.get_single_value('Bank Reconciliation Tool','filtered_by_reference_date')
 	if transaction.deposit > 0:
 		currency_field = "paid_to_account_currency as currency"
 	else:
 		currency_field = "paid_from_account_currency as currency"
-	return f"""
-	SELECT
-		(CASE WHEN reference_no=%(reference_no)s THEN 1 ELSE 0 END
-		+ CASE WHEN (party_type = %(party_type)s AND party = %(party)s ) THEN 1 ELSE 0  END
-		+ 1 ) AS rank,
-		'Payment Entry' as doctype,
-		name,
-		paid_amount,
-		reference_no,
-		reference_date,
-		party,
-		party_type,
-		posting_date,
-		{currency_field}
-	FROM
-		`tabPayment Entry`
-	WHERE
-		paid_amount {amount_condition} %(amount)s
-		AND docstatus = 1
-		AND payment_type IN (%(payment_type)s, 'Internal Transfer')
-		AND ifnull(clearance_date, '') = ""
-		AND {account_from_to} = %(bank_account)s
-	"""
+	if (filtered_by_reference_date):
+		pe_data=  f"""
+			SELECT
+				(CASE WHEN reference_no=%(reference_no)s THEN 1 ELSE 0 END
+				+ CASE WHEN (party_type = %(party_type)s AND party = %(party)s ) THEN 1 ELSE 0  END
+				+ 1 ) AS rank,
+				'Payment Entry' as doctype,
+				name,
+				paid_amount,
+				reference_no,
+				reference_date,
+				party,
+				party_type,
+				posting_date,
+				{currency_field}
+			FROM
+				`tabPayment Entry`
+			WHERE
+				paid_amount {amount_condition} %(amount)s
+				AND docstatus = 1
+				AND payment_type IN (%(payment_type)s, 'Internal Transfer')
+				AND ifnull(clearance_date, '') = ""
+				AND {account_from_to} = %(bank_account)s
+				AND reference_date >= '{from_reference_date}'
+				AND reference_date <= '{to_reference_date}'	 
+				
+			"""
+	else:
+		pe_data=  f"""
+			SELECT
+				(CASE WHEN reference_no=%(reference_no)s THEN 1 ELSE 0 END
+				+ CASE WHEN (party_type = %(party_type)s AND party = %(party)s ) THEN 1 ELSE 0  END
+				+ 1 ) AS rank,
+				'Payment Entry' as doctype,
+				name,
+				paid_amount,
+				reference_no,
+				reference_date,
+				party,
+				party_type,
+				posting_date,
+				{currency_field}
+			FROM
+				`tabPayment Entry`
+			WHERE
+				paid_amount {amount_condition} %(amount)s
+				AND docstatus = 1
+				AND payment_type IN (%(payment_type)s, 'Internal Transfer')
+				AND ifnull(clearance_date, '') = ""
+				AND {account_from_to} = %(bank_account)s
+				AND posting_date >= '{from_date}'
+				AND posting_date <= '{to_date}'	 
+				
+			"""
+	return pe_data
+
+	
 
 
 def get_je_matching_query(amount_condition, transaction):
@@ -541,35 +589,69 @@
 	# We have mapping at the bank level
 	# So one bank could have both types of bank accounts like asset and liability
 	# So cr_or_dr should be judged only on basis of withdrawal and deposit and not account type
+	from_date = frappe.db.get_single_value('Bank Reconciliation Tool','bank_statement_from_date')
+	to_date = frappe.db.get_single_value('Bank Reconciliation Tool','bank_statement_to_date')
+	from_reference_date = frappe.db.get_single_value('Bank Reconciliation Tool','from_reference_date')
+	to_reference_date = frappe.db.get_single_value('Bank Reconciliation Tool','to_reference_date')
+	filtered_by_reference_date = frappe.db.get_single_value('Bank Reconciliation Tool','filtered_by_reference_date')
 	cr_or_dr = "credit" if transaction.withdrawal > 0 else "debit"
-
-	return f"""
-
-		SELECT
-			(CASE WHEN je.cheque_no=%(reference_no)s THEN 1 ELSE 0 END
-			+ 1) AS rank ,
-			'Journal Entry' as doctype,
-			je.name,
-			jea.{cr_or_dr}_in_account_currency as paid_amount,
-			je.cheque_no as reference_no,
-			je.cheque_date as reference_date,
-			je.pay_to_recd_from as party,
-			jea.party_type,
-			je.posting_date,
-			jea.account_currency as currency
-		FROM
-			`tabJournal Entry Account` as jea
-		JOIN
-			`tabJournal Entry` as je
-		ON
-			jea.parent = je.name
-		WHERE
-			(je.clearance_date is null or je.clearance_date='0000-00-00')
-			AND jea.account = %(bank_account)s
-			AND jea.{cr_or_dr}_in_account_currency {amount_condition} %(amount)s
-			AND je.docstatus = 1
-	"""
-
+	if (filtered_by_reference_date==1):
+		je_data =  f"""
+			SELECT
+				(CASE WHEN je.cheque_no=%(reference_no)s THEN 1 ELSE 0 END
+				+ 1) AS rank ,
+				'Journal Entry' as doctype,
+				je.name,
+				jea.{cr_or_dr}_in_account_currency as paid_amount,
+				je.cheque_no as reference_no,
+				je.cheque_date as reference_date,
+				je.pay_to_recd_from as party,
+				jea.party_type,
+				je.posting_date,
+				jea.account_currency as currency
+			FROM
+				`tabJournal Entry Account` as jea
+			JOIN
+				`tabJournal Entry` as je
+			ON
+				jea.parent = je.name
+			WHERE
+				(je.clearance_date is null or je.clearance_date='0000-00-00')
+				AND jea.account = %(bank_account)s
+				AND jea.{cr_or_dr}_in_account_currency {amount_condition} %(amount)s
+				AND je.docstatus = 1
+				AND je.cheque_date >= '{from_reference_date}'
+				AND je.cheque_date <= '{to_reference_date}'
+			"""
+	else:
+		je_data =  f"""
+			SELECT
+				(CASE WHEN je.cheque_no=%(reference_no)s THEN 1 ELSE 0 END
+				+ 1) AS rank ,
+				'Journal Entry' as doctype,
+				je.name,
+				jea.{cr_or_dr}_in_account_currency as paid_amount,
+				je.cheque_no as reference_no,
+				je.cheque_date as reference_date,
+				je.pay_to_recd_from as party,
+				jea.party_type,
+				je.posting_date,
+				jea.account_currency as currency
+			FROM
+				`tabJournal Entry Account` as jea
+			JOIN
+				`tabJournal Entry` as je
+			ON
+				jea.parent = je.name
+			WHERE
+				(je.clearance_date is null or je.clearance_date='0000-00-00')
+				AND jea.account = %(bank_account)s
+				AND jea.{cr_or_dr}_in_account_currency {amount_condition} %(amount)s
+				AND je.docstatus = 1
+				AND je.posting_date >= '{from_date}'
+				AND je.posting_date <= '{to_date}'
+			"""
+	return je_data
 
 def get_si_matching_query(amount_condition):
 	# get matchin sales invoice query
diff --git a/erpnext/hooks.py b/erpnext/hooks.py
index 92601b3..1efc82e 100644
--- a/erpnext/hooks.py
+++ b/erpnext/hooks.py
@@ -469,8 +469,8 @@
 bank_reconciliation_doctypes = [
 	"Payment Entry",
 	"Journal Entry",
-	"Purchase Invoice",
-	"Sales Invoice",
+	# "Purchase Invoice",
+	# "Sales Invoice",
 	"Loan Repayment",
 	"Loan Disbursement",
 ]
diff --git a/erpnext/public/js/bank_reconciliation_tool/dialog_manager.js b/erpnext/public/js/bank_reconciliation_tool/dialog_manager.js
index ca01f68..bd00374 100644
--- a/erpnext/public/js/bank_reconciliation_tool/dialog_manager.js
+++ b/erpnext/public/js/bank_reconciliation_tool/dialog_manager.js
@@ -35,6 +35,7 @@
 				if (r.message) {
 					this.bank_transaction = r.message;
 					r.message.payment_entry = 1;
+					r.message.journal_entry = 1;
 					this.dialog.set_values(r.message);
 					this.dialog.show();
 				}
@@ -66,6 +67,7 @@
 							row[1],
 							row[2],
 							reference_date,
+							row[8],
 							format_currency(row[3], row[9]),
 							row[6],
 							row[4],
@@ -102,6 +104,11 @@
 				width: 120,
 			},
 			{
+				name: "Posting Date",
+				editable: false,
+				width: 120,
+			},
+			{
 				name: __("Amount"),
 				editable: false,
 				width: 100,
