An enterprise-quality financial management application designed specifically for Indian currency (₹), payment modes (UPI, NetBanking, Cards, Wallet, Cash), and banking-style analytical workflows.
Managing personal and small-business finances in India often involves tracking disparate payment methods (UPI apps like GooglePay/PhonePe, Credit Cards, NetBanking, Cash) across multiple categories (Groceries, Fuel, Bills, Mutual Funds, Salary). Without centralized tracking, real-time budget enforcement, and formal reporting, individuals face overspending and lack clear visibility into their monthly burn rate.
- Provide a banking-grade financial management system.
- Enforce strict Indian Rupee (₹) formatting standards (e.g.
₹1,25,000). - Support real-time budget cap tracking with automated alerts.
- Enable multi-format exports including professional PDF reports, Excel spreadsheets, and CSV ledgers.
- Offer 1-click seeding of 1,000 realistic Indian transaction records for instant analytics demonstration.
START
↓
User Authentication (Login / Register / Remember Me)
↓
Dashboard Financial Overview
↓
├── Income Management (Salary, Business, Freelancing, Rental, Investment)
├── Expense Management (Food, Travel, Fuel, Bills, Medical, Shopping, etc.)
├── Monthly Budget Planner & Threshold Warnings
├── Advanced Search & Multi-Filters (Date Presets, Min/Max Amount, Txn ID)
├── Financial Reports Generator (Daily, Weekly, Monthly, Yearly)
├── Analytics & Visualizations (Bar, Pie, Line, Area Charts)
├── Exports Engine (PDF Statements, Excel Spreadsheets, CSV Data)
└── Settings & Reset Utilities (Load 1000 Demo Data / Instant Zero Reset)
↓
Logout / Terminate Session
↓
END
+-------------------------------------------------------------------------+
| PRESENTATION LAYER (CustomTkinter / React) |
| [Dashboard] [Expense View] [Income View] [Budgets] [Search] [Analytics] |
+-------------------------------------------------------------------------+
│
▼
+-------------------------------------------------------------------------+
| BUSINESS LOGIC & ENGINE LAYER |
| [Auth Manager] [Budget Calculator] [PDF Exporter] [Excel Importer] |
+-------------------------------------------------------------------------+
│
▼
+-------------------------------------------------------------------------+
| DATA PERSISTENCE LAYER (SQLite3) |
| [users table] [transactions table] [budgets table] [bills table] |
+-------------------------------------------------------------------------+
+---------------------+ 1 : N +-----------------------+
| USERS | ----------------< | TRANSACTIONS |
+---------------------+ +-----------------------+
| id (PK) | | id (PK, TEXT) |
| username (TEXT, UQ) | | user_id (FK, INT) |
| email (TEXT, UQ) | | type (TEXT) |
| password_hash(TEXT) | | amount (REAL, ₹) |
| full_name (TEXT) | | category (TEXT) |
+---------------------+ | payment_mode (TEXT) |
│ | date (TEXT, YYYY-MM-DD)|
│ 1 : N | description (TEXT) |
▼ +-----------------------+
+---------------------+
| BUDGETS |
+---------------------+
| id (PK, INT) |
| user_id (FK, INT) |
| category (TEXT) |
| monthly_limit(REAL) |
| month_year (TEXT) |
+---------------------+
Expense_Tracking_System/
├── main.py # Application lifecycle & main window frame
├── database.py # SQLite3 parameterized queries & connection pools
├── login.py # Login window UI & credential check
├── register.py # Account registration & email validation
├── dashboard.py # Summary metric cards, charts & quick actions
├── expense.py # Expense CRUD operations & modal forms
├── income.py # Income CRUD operations & category tracking
├── budget.py # Budget planner & progress threshold indicators
├── history.py # Transaction history & search index
├── reports.py # Statement report generator
├── analytics.py # Matplotlib / Recharts trend graphs
├── settings.py # Profile management & reset triggers
├── pdf_export.py # ReportLab / jsPDF autoTable exporter
├── csv_export.py # OpenPyXL / XLSX import & export engine
├── theme.py # Dark / Light theme styling rules
├── utils.py # Indian Rupee formatting (formatINR) & helpers
└── requirements.txt # Python dependencies
Actor: User
├── Sign Up / Sign In
├── View Dashboard Overview (Income, Expense, Net Balance)
├── Record Income (Salary, Freelance, Business)
├── Record Expense (Food, Travel, Bills, Shopping)
├── Set Category Monthly Budgets
├── Perform Multi-Criteria Advanced Search
├── Generate & Download PDF Statements
├── Load 1,000 Demo Transactions
└── Reset All Data
- Ensure Python 3.13+ is installed on your system.
- Install dependencies:
pip install -r requirements.txt
- Run the application:
python main.py