A Python-based personal finance tracking tool that allows users to manage their financial transactions effectively. With features to log transactions, view summaries, and visualize income and expenses over time, this project serves as a practical demonstration of Python's capabilities in file handling, data manipulation, and plotting.
- Add Transactions: Record income or expense transactions with details such as date, amount, category, and description.
- View Transaction History: Retrieve and view transactions within a specific date range.
- Summary Generation: Calculate total income, expenses, and net savings over a selected period.
- Data Visualization: Generate a visual plot of income and expenses over time.
- CSV File Storage: All transactions are stored in a CSV file for easy data handling and persistence.
- Customizable Categories: Transactions can be categorized for better organization.
- Python 3.7 or higher
- Virtual environment (recommended)
- Clone this repository:
git clone https://github.com/TheHarmanCodes/Personal_Finance_Tracker.git
- Navigate to the project directory:
cd Personal_Finance_Tracker - Set up a virtual environment (optional but recommended):
python -m venv .venv source .venv/bin/activate # For Linux/Mac .venv\Scripts\activate # For Windows
- Install dependencies:
pip install -r requirements.txt
-
Run the main Python file:
python main.py
-
Choose from the available options:
- Add a new transaction
- View transactions within a date range
- Exit the program
-
If viewing transactions, you will have the option to visualize income and expenses through a plotted graph.
main.py: The main entry point of the application.data_entry.py: Contains helper functions for collecting user input.finance_data.csv: Stores transaction records in CSV format (auto-created if it doesn't exist)..gitignore: Ensures unnecessary files like virtual environments and editor-specific configurations are not tracked.
Example output:
Transactions from 01-12-2024 to 25-12-2024:
date amount category description
01-12-2024 1000.00 Income Salary
05-12-2024 500.00 Expense Rent
10-12-2024 200.00 Expense Groceries
Summary:
Total Income: $1000.00
Total Expense: $700.00
Net Savings: $300.00
Generates a line plot of income and expenses over time for quick insights.
Contributions are welcome! If you'd like to contribute:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Submit a pull request with a detailed explanation of your changes.
This project is licensed under the MIT License. See the LICENSE file for details.
- Python Libraries:
pandas,matplotlib - Inspired by real-world finance management needs.