A simple yet powerful Bank Management System built in Python.
This project is a console-based banking application that allows users to create accounts, manage balances, and track transactions efficiently using CSV files.
- Create Account – Register a new customer with account details
- Deposit Money – Add funds securely to your account
- Withdraw Money – Safely withdraw available balance
- Transfer Money – Send money between accounts
- Transaction History – View all past deposits, withdrawals, and transfers
- Account Details – Check account information and current balance
- All Accounts List – Display all registered accounts
- Exit – Close the application
1: Create Account
2: Deposit Money
3: Withdraw Money
4: Transfer Money
5: View All Transactions History
6: Account Details
7: Show All Accounts List
0: ExitWhen you select 5: View All Transactions History, the console displays all transaction logs:
(01) [Name: Rafi] - [Account No: ef404ca2-9eb8-4008-afe0-4f9105d6c67a] - [Transaction Type: Deposit] [Amount: $200.00] - [Status: Success] - [Transaction ID: 739c9c1e-8ac0-4d01-98ac-0ae18c9643c6]
(02) [Name: Rafi] - [Account No: 80005324-2323-4144-bdee-c686ed11db2a] - [Transaction Type: Deposit] [Amount: $900.00] - [Status: Success] - [Transaction ID: ea1db03f-86a1-46e7-b67e-6f45602d0c31]
(03) [Name: Saiful Islam Rafi] - [Account No: 2003335c-3621-4b8f-a213-6857dfb31c1e] - [Transaction Type: Deposit] [Amount: $300.00] - [Status: Success] - [Transaction ID: 552d6599-cfd5-4de1-bd7c-8e681dcc9e1d]
(04) [Name: Rafi] - [Account No: ef404ca2-9eb8-4008-afe0-4f9105d6c67a] - [Transaction Type: Withdraw] [Amount: $900.00] - [Status: Success] - [Transaction ID: b0132a6c-fb37-4454-a9f6-4507d40153e4]
(05) [Name: Rafi] - [Account No: ef404ca2-9eb8-4008-afe0-4f9105d6c67a] - [Transaction Type: Withdraw] [Amount: $500.00] - [Status: Success] - [Transaction ID: ab5a77a2-e1e5-452c-9417-833322de2f49]
(06) [Name: Rafi] - [Account No: ef404ca2-9eb8-4008-afe0-4f9105d6c67a] - [Transaction Type: Withdraw] [Amount: $500.00] - [Status: Wrong PIN] - [Transaction ID: 19d42349-de88-46c2-8032-31ea98e13881]
(07) [Name: Rafi] - [Account No: ef404ca2-9eb8-4008-afe0-4f9105d6c67a] - [Transaction Type: Deposit] [Amount: $500.00] - [Status: Wrong PIN] - [Transaction ID: 5c00835b-fea5-4d77-9299-e4b66fa2fe64]
(08) [Name: Rafi] - [Account No: ef404ca2-9eb8-4008-afe0-4f9105d6c67a] - [Transaction Type: Deposit] [Amount: $400.00] - [Status: Success] - [Transaction ID: c6a4b69e-71e7-407c-aefe-2c5be5554dc3]
(09) [Name: Rafi] - [Account No: ef404ca2-9eb8-4008-afe0-4f9105d6c67a] - [Transaction Type: Deposit] [Amount: $500.77] - [Status: Success] - [Transaction ID: 59be0f03-9419-4925-b3f7-bd2876458084]
(10) [Name: Rafi] - [Account No: ef404ca2-9eb8-4008-afe0-4f9105d6c67a] - [Transaction Type: Deposit] [Amount: $200.00] - [Status: Success] - [Transaction ID: 7c7bcf39-bab1-4fb7-98e6-adacc9208e5b]All created bank accounts and customer details are stored in a CSV file:
Note: The phone numbers used in this project are fake and were added only for testing purposes.
- Deposit
- Withdraw
- Transaction ID
- Transaction Type
- Money sent to other accounts
- Money received from other accounts
- Python 3.x
- CSV (File Handling) – for storing accounts & transactions
- UUID4 – for generating unique Account IDs & Transaction IDs

