fix: make transaction date of the oldest transaction as the last integration date (#22000)

* fix: make transaction date of the oldest transaction as the last integration date

* chore: remove blank line after docstring
diff --git a/erpnext/erpnext_integrations/doctype/plaid_settings/plaid_settings.py b/erpnext/erpnext_integrations/doctype/plaid_settings/plaid_settings.py
index a706223..a45c6b1 100644
--- a/erpnext/erpnext_integrations/doctype/plaid_settings/plaid_settings.py
+++ b/erpnext/erpnext_integrations/doctype/plaid_settings/plaid_settings.py
@@ -124,10 +124,11 @@
 
 @frappe.whitelist()
 def sync_transactions(bank, bank_account):
-
-	last_sync_date = frappe.db.get_value("Bank Account", bank_account, "last_integration_date")
-	if last_sync_date:
-		start_date = formatdate(last_sync_date, "YYYY-MM-dd")
+	'''Sync transactions based on the last integration date as the start date, after the sync is completed
+		add the transaction date of the oldest transaction as the last integration date'''
+	last_transaction_date = frappe.db.get_value("Bank Account", bank_account, "last_integration_date")
+	if last_transaction_date:
+		start_date = formatdate(last_transaction_date, "YYYY-MM-dd")
 	else:
 		start_date = formatdate(add_months(today(), -12), "YYYY-MM-dd")
 	end_date = formatdate(today(), "YYYY-MM-dd")
@@ -139,12 +140,14 @@
 		for transaction in reversed(transactions):
 			result += new_bank_transaction(transaction)
 
-		frappe.logger().info("Plaid added {} new Bank Transactions from '{}' between {} and {}".format(
-			len(result), bank_account, start_date, end_date))
+		if result:
+			end_date = frappe.db.get_value('Bank Transaction', result.pop(), 'date')
 
-		frappe.db.set_value("Bank Account", bank_account, "last_integration_date", getdate(end_date))
+			frappe.logger().info("Plaid added {} new Bank Transactions from '{}' between {} and {}".format(
+				len(result), bank_account, start_date, end_date))
 
-		return result
+		frappe.db.set_value("Bank Account", bank_account, "last_integration_date", end_date)
+
 	except Exception:
 		frappe.log_error(frappe.get_traceback(), _("Plaid transactions sync error"))