hi-vishal/maxca

0

stars

0

commits

Python

primary language

Mar 20, 2026

updated

README

πŸ’° Simplify Tax – Indian Tax Summary & Optimization Tool

Simplify Tax is an AI-powered tax filing and optimization tool designed to assist Indian taxpayers in understanding their tax obligations, maximizing deductions, and selecting the most beneficial regime. It reads bank statements, classifies income, calculates tax liabilities, and recommends the optimal tax-saving strategy β€” all automatically.


🚨 Problem Statement

Many taxpayers overpay their taxes due to a lack of awareness of all eligible deductions, credits, and tax-saving strategies. The current tax system's complexity makes it difficult for individuals and small businesses to proactively identify and leverage these opportunities.

Simplify Tax addresses this by offering an automated solution that analyzes financial data, extracts relevant information, and generates a clear tax summary β€” helping users save time, money, and effort.


🧠 Tech Stack Used

  • Frontend: HTML, Tailwind CSS, JavaScript
  • Backend: FastAPI (Python)
  • AI Agent Framework: CrewAI
  • LLM Provider: Google Gemini via LiteLLM
  • Markdown Parsing: Marked.js
  • CORS Handling: FastAPI CORSMiddleware
  • Deployment-Ready: Works locally and ready for platforms like Render, Railway, or Replit

πŸ” AI Agents & Their Real-Life Equivalents

AI AgentReal-Life Equivalent
Document Parsing AgentBank Statement Analyst / Data Entry Clerk
Income Classifier AgentIncome Tax Consultant
Deduction AgentTax Saving Expert (80C, 80D Advisor)
Tax Calculator AgentChartered Accountant (CA)
Optimization AgentFinancial Planner / Tax Strategist

✨ Features

  • βœ… Upload and analyze your bank statement (text format)
  • βœ… Auto-categorizes income sources and deductions
  • βœ… Calculates tax liability under both regimes
  • βœ… Compares and recommends the best regime
  • βœ… Generates a dashboard link after calculation
  • βœ… Works via Telegram bot (no signup/login)

πŸ“ File Structure

simplify-tax/
β”‚
β”œβ”€β”€ backend 
    β”œβ”€β”€ main.py              # FastAPI backend + summary endpoints
    β”œβ”€β”€ tax_service.py       # CrewAI tax summary generation
    β”œβ”€β”€ summary_store.py     # SQLite storage for dashboard
    β”œβ”€β”€ telegram_bot.py      # Telegram bot conversation
    └── config.py            # Environment configuration
β”œβ”€β”€ frontend
    β”œβ”€β”€ index.html            # Web entry page (generate + open dashboard)
    └── dashboard.html       # Dashboard page for a generated id
β”œβ”€β”€ requirements.txt         # Python dependencies
└── README.md                # You're here!

βš™οΈ Setup Instructions

πŸ” Prerequisites

  • Python 3.9+
  • Node.js (optional for advanced frontend tweaks)
  • Virtual environment (recommended)

πŸš€ Quick Start – Run the Project

Prerequisites

  • Create .env file in project root with:
    TELEGRAM_BOT_TOKEN=your_telegram_bot_token
    GEMINI_API_KEY=your_google_gemini_api_key
    

Step 1: Install Dependencies

pip install -r requirements.txt
pip install "crewai[google-genai]" httpx

Step 2: Start Backend (Port 8004)

cd backend
uvicorn main:app --reload --port 8004

Step 3: Start Frontend (Port 5500)

Open a new terminal:

cd frontend
python -m http.server 5500 --bind 127.0.0.1

Step 4: Start Telegram Bot

Open a new terminal:

cd backend
python telegram_bot.py

Step 5: Access the Services

Usage Flow (Telegram Bot)

  1. Send /start to the bot
  2. Enter your name
  3. Enter your age
  4. Enter your profession
  5. Paste your bank statement (or income details)
  6. Wait for tax summary (30-60 seconds)
  7. Receive detailed summary with tax calculations

πŸ“š Detailed Setup Instructions

1️⃣ Clone the repository:

git clone https://github.com/SrujanPR/Simplify-Tax.git
cd simplify-tax

2️⃣ Install Dependencies

pip install -r requirements.txt

3️⃣ Add your API Key

Set GEMINI_API_KEY (recommended) to your Google AI Studio key:

export GEMINI_API_KEY="YOUR_GOOGLE_AI_STUDIO_KEY"

4️⃣ Setup the FastAPI backend server:

First change your working directory to backend.

cd backend

Run the FastAPI backend:

uvicorn main:app --reload --port 8004

If you installed dependencies into a local folder (like ./.pydeps), run with:

PYTHONPATH="../.pydeps:$PYTHONPATH" uvicorn main:app --reload --port 8004

5️⃣ Execute the Frontend (local):

Serve frontend/ as static files (any static server works). For example:

cd ../frontend
python3 -m http.server 5500 --bind 127.0.0.1

Open http://127.0.0.1:5500/index.html.

6️⃣ Run the Telegram bot (no signup/login):

Start the bot using the settings in the project root .env.

Note: since this version uses plain localhost URLs by default, the Telegram client can open the dashboard only if it can reach your local machine (for most setups, that means you are testing on the same computer).

Then:

cd backend
PYTHONPATH="../.pydeps:$PYTHONPATH" python3.10 telegram_bot.py

The bot will guide you through name -> age -> profession -> bank statement, then send the summary first and ask whether you want a dashboard link (reply dashboard to open it).

7️⃣ Sample Inputs

This is the format for entering your bank statements. Here is a sample:

Salaried:

- Salary from Microsoft: β‚Ή2,00,000/month (CTC β‚Ή24LPA)
- Freelance Android App Development: β‚Ή60,000 in June, β‚Ή75,000 in October
- Capital Gains from Mutual Funds: β‚Ή1,20,000 in December
- Interest from Savings Account: β‚Ή12,000 over the year
- Health Insurance Premium: β‚Ή25,000/year
- SIP to ELSS Mutual Funds: β‚Ή10,000/month
- Home Loan Principal Repayment: β‚Ή1,50,000
- Home Loan Interest Paid: β‚Ή1,90,000
- Rent Paid (self-occupied home, no HRA)
- Donation to Akshaya Patra Foundation: β‚Ή15,000
- Purchase of NPS (National Pension Scheme): β‚Ή50,000

πŸ›‘οΈ Security Notes

  • Sensitive data (e.g., API keys, bank statements) are processed locally.
  • Generated summaries are stored locally in a SQLite database so the dashboard link can load results.

πŸ› οΈ Future Improvements

  • PDF bank statement support via OCR
  • Multi-year tax summary
  • Integration with income tax portals
  • Mobile responsiveness and PWA version
  • User authentication + per-user history and privacy controls

hi-vishal/maxca

0

stars

0

commits

Python

primary language

Mar 20, 2026

updated

README

πŸ’° Simplify Tax – Indian Tax Summary & Optimization Tool

Simplify Tax is an AI-powered tax filing and optimization tool designed to assist Indian taxpayers in understanding their tax obligations, maximizing deductions, and selecting the most beneficial regime. It reads bank statements, classifies income, calculates tax liabilities, and recommends the optimal tax-saving strategy β€” all automatically.


🚨 Problem Statement

Many taxpayers overpay their taxes due to a lack of awareness of all eligible deductions, credits, and tax-saving strategies. The current tax system's complexity makes it difficult for individuals and small businesses to proactively identify and leverage these opportunities.

Simplify Tax addresses this by offering an automated solution that analyzes financial data, extracts relevant information, and generates a clear tax summary β€” helping users save time, money, and effort.


🧠 Tech Stack Used

  • Frontend: HTML, Tailwind CSS, JavaScript
  • Backend: FastAPI (Python)
  • AI Agent Framework: CrewAI
  • LLM Provider: Google Gemini via LiteLLM
  • Markdown Parsing: Marked.js
  • CORS Handling: FastAPI CORSMiddleware
  • Deployment-Ready: Works locally and ready for platforms like Render, Railway, or Replit

πŸ” AI Agents & Their Real-Life Equivalents

AI AgentReal-Life Equivalent
Document Parsing AgentBank Statement Analyst / Data Entry Clerk
Income Classifier AgentIncome Tax Consultant
Deduction AgentTax Saving Expert (80C, 80D Advisor)
Tax Calculator AgentChartered Accountant (CA)
Optimization AgentFinancial Planner / Tax Strategist

✨ Features

  • βœ… Upload and analyze your bank statement (text format)
  • βœ… Auto-categorizes income sources and deductions
  • βœ… Calculates tax liability under both regimes
  • βœ… Compares and recommends the best regime
  • βœ… Generates a dashboard link after calculation
  • βœ… Works via Telegram bot (no signup/login)

πŸ“ File Structure

simplify-tax/
β”‚
β”œβ”€β”€ backend 
    β”œβ”€β”€ main.py              # FastAPI backend + summary endpoints
    β”œβ”€β”€ tax_service.py       # CrewAI tax summary generation
    β”œβ”€β”€ summary_store.py     # SQLite storage for dashboard
    β”œβ”€β”€ telegram_bot.py      # Telegram bot conversation
    └── config.py            # Environment configuration
β”œβ”€β”€ frontend
    β”œβ”€β”€ index.html            # Web entry page (generate + open dashboard)
    └── dashboard.html       # Dashboard page for a generated id
β”œβ”€β”€ requirements.txt         # Python dependencies
└── README.md                # You're here!

βš™οΈ Setup Instructions

πŸ” Prerequisites

  • Python 3.9+
  • Node.js (optional for advanced frontend tweaks)
  • Virtual environment (recommended)

πŸš€ Quick Start – Run the Project

Prerequisites

  • Create .env file in project root with:
    TELEGRAM_BOT_TOKEN=your_telegram_bot_token
    GEMINI_API_KEY=your_google_gemini_api_key
    

Step 1: Install Dependencies

pip install -r requirements.txt
pip install "crewai[google-genai]" httpx

Step 2: Start Backend (Port 8004)

cd backend
uvicorn main:app --reload --port 8004

Step 3: Start Frontend (Port 5500)

Open a new terminal:

cd frontend
python -m http.server 5500 --bind 127.0.0.1

Step 4: Start Telegram Bot

Open a new terminal:

cd backend
python telegram_bot.py

Step 5: Access the Services

Usage Flow (Telegram Bot)

  1. Send /start to the bot
  2. Enter your name
  3. Enter your age
  4. Enter your profession
  5. Paste your bank statement (or income details)
  6. Wait for tax summary (30-60 seconds)
  7. Receive detailed summary with tax calculations

πŸ“š Detailed Setup Instructions

1️⃣ Clone the repository:

git clone https://github.com/SrujanPR/Simplify-Tax.git
cd simplify-tax

2️⃣ Install Dependencies

pip install -r requirements.txt

3️⃣ Add your API Key

Set GEMINI_API_KEY (recommended) to your Google AI Studio key:

export GEMINI_API_KEY="YOUR_GOOGLE_AI_STUDIO_KEY"

4️⃣ Setup the FastAPI backend server:

First change your working directory to backend.

cd backend

Run the FastAPI backend:

uvicorn main:app --reload --port 8004

If you installed dependencies into a local folder (like ./.pydeps), run with:

PYTHONPATH="../.pydeps:$PYTHONPATH" uvicorn main:app --reload --port 8004

5️⃣ Execute the Frontend (local):

Serve frontend/ as static files (any static server works). For example:

cd ../frontend
python3 -m http.server 5500 --bind 127.0.0.1

Open http://127.0.0.1:5500/index.html.

6️⃣ Run the Telegram bot (no signup/login):

Start the bot using the settings in the project root .env.

Note: since this version uses plain localhost URLs by default, the Telegram client can open the dashboard only if it can reach your local machine (for most setups, that means you are testing on the same computer).

Then:

cd backend
PYTHONPATH="../.pydeps:$PYTHONPATH" python3.10 telegram_bot.py

The bot will guide you through name -> age -> profession -> bank statement, then send the summary first and ask whether you want a dashboard link (reply dashboard to open it).

7️⃣ Sample Inputs

This is the format for entering your bank statements. Here is a sample:

Salaried:

- Salary from Microsoft: β‚Ή2,00,000/month (CTC β‚Ή24LPA)
- Freelance Android App Development: β‚Ή60,000 in June, β‚Ή75,000 in October
- Capital Gains from Mutual Funds: β‚Ή1,20,000 in December
- Interest from Savings Account: β‚Ή12,000 over the year
- Health Insurance Premium: β‚Ή25,000/year
- SIP to ELSS Mutual Funds: β‚Ή10,000/month
- Home Loan Principal Repayment: β‚Ή1,50,000
- Home Loan Interest Paid: β‚Ή1,90,000
- Rent Paid (self-occupied home, no HRA)
- Donation to Akshaya Patra Foundation: β‚Ή15,000
- Purchase of NPS (National Pension Scheme): β‚Ή50,000

πŸ›‘οΈ Security Notes

  • Sensitive data (e.g., API keys, bank statements) are processed locally.
  • Generated summaries are stored locally in a SQLite database so the dashboard link can load results.

πŸ› οΈ Future Improvements

  • PDF bank statement support via OCR
  • Multi-year tax summary
  • Integration with income tax portals
  • Mobile responsiveness and PWA version
  • User authentication + per-user history and privacy controls

Languages

Python

92.8%

C++

3.6%

Cython

1.8%