Index: app/main.py
===================================================================
--- app/main.py	(revision 04e01b0fb4b77eee9734b796b83913336fa50cc4)
+++ app/main.py	(revision 7fcd9348d9a097b860548d7a041ef6838ace3c75)
@@ -925,2 +925,53 @@
     return response
 
+@app.get("/reports/exceeding-current-balance", response_model=List[dict])
+def get_exceeding_current_balance(
+    user: User = Depends(get_current_user),
+    db: Session = Depends(get_db)
+):
+    """
+    Retrieve a list of transactions that exceed the current balance of accounts.
+    - Admins can view for all users.
+    - Regular users can view for their own accounts.
+    """
+    query = (
+        db.query(
+            User.user_id,
+            User.user_name,
+            TransactionAccount.account_name,
+            TransactionAccount.balance.label("current_balance"),
+            Transaction.transaction_id,
+            Transaction.transaction_name,
+            TransactionBreakdown.spent_amount.label("transaction_amount"),
+            Transaction.date.label("transaction_date"),
+        )
+        .join(TransactionAccount, TransactionAccount.user_id == User.user_id)
+        .join(TransactionBreakdown, TransactionBreakdown.transaction_account_id == TransactionAccount.transaction_account_id)
+        .join(Transaction, Transaction.transaction_id == TransactionBreakdown.transaction_id)
+        .filter(TransactionBreakdown.spent_amount > TransactionAccount.balance)  # Transactions exceeding account balance
+        .filter(TransactionBreakdown.spent_amount > 0)  # Positive transactions only
+    )
+
+    # Apply user-specific filtering for non-admins
+    if not is_admin(user.email):
+        query = query.filter(TransactionAccount.user_id == user.user_id)
+
+    # Order results
+    results = query.order_by(User.user_id, TransactionAccount.account_name, Transaction.date.desc()).all()
+
+    # Prepare response
+    return [
+        {
+            "user_id": row.user_id,
+            "user_name": row.user_name,
+            "account_name": row.account_name,
+            "current_balance": float(row.current_balance),
+            "transaction_id": row.transaction_id,
+            "transaction_name": row.transaction_name,
+            "transaction_amount": float(row.transaction_amount),
+            "transaction_date": row.transaction_date,
+        }
+        for row in results
+    ]
+
+
Index: cli/cli_app.py
===================================================================
--- cli/cli_app.py	(revision 04e01b0fb4b77eee9734b796b83913336fa50cc4)
+++ cli/cli_app.py	(revision 7fcd9348d9a097b860548d7a041ef6838ace3c75)
@@ -414,4 +414,5 @@
         print("3. View Spending by Date Range")
         print("4. View Transactions Exceeding Account Balance")
+        print("5. View Transactions Exceeding Account Balance Currently")
         choice = input("Choose a report option: ")
 
@@ -424,4 +425,6 @@
         elif choice == "4":
             get_exceeding_account_balance()
+        elif choice == "5":
+            get_exceeding_current_balance()
         elif choice == "0":
             break
@@ -538,4 +541,36 @@
         print(f"Request failed: {e}")
 
+def get_exceeding_current_balance():
+    headers = {"Authorization": f"Bearer {access_token}"}
+
+    print("\nTransactions Exceeding Current Account Balance Report")
+    try:
+        response = requests.get(f"{BASE_URL}/reports/exceeding-current-balance", headers=headers)
+
+        if response.status_code == 200:
+            records = response.json()
+            if not records:
+                print("No transactions exceeding current account balance were found.")
+            else:
+                print("\nTransactions Exceeding Current Balance:")
+                for record in records:
+                    print("-" * 50)
+                    print(f"User ID: {record['user_id']}")
+                    print(f"User Name: {record['user_name']}")
+                    print(f"Account Name: {record['account_name']}")
+                    print(f"Current Balance: {record['current_balance']:,.2f}")
+                    print(f"Transaction ID: {record['transaction_id']}")
+                    print(f"Transaction Name: {record['transaction_name']}")
+                    print(f"Transaction Amount: {record['transaction_amount']:,.2f}")
+                    print(f"Transaction Date: {record['transaction_date']}")
+                    print("-" * 50)
+        else:
+            print("Failed to fetch the report.")
+            error_message = response.json().get("detail", "Unknown error")
+            print(f"Error: {error_message}")
+    except requests.exceptions.RequestException as e:
+        print(f"Request failed: {e}")
+
+
 if __name__ == "__main__":
     main_menu()
