Skip to content

Latest commit

 

History

10 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Finance Tracker Pro

A full desktop finance app built solo with PyQt6, pandas, and matplotlib — GUI development, data handling, and live charting, plus optional AI-powered insights via the OpenAI API.

Track income, expenses, savings, accounts, and categories with a clean dashboard and charts. Your session is autosaved and restored automatically, so you can close the app and pick up right where you left off. Optional AI features provide insights, budget advice, fraud checks, chat, and smart category suggestions.


Features

  • Import one or multiple CSV files at once
  • Manual transaction entry
  • Multi-account support
  • Category management
  • Financial dashboard cards (income, expenses, savings, rate)
  • Income vs expense trend chart
  • Expense distribution pie chart
  • Savings goal progress tracking
  • Transaction table view
  • Export charts as images
  • Autosave to autosave.csv, restored automatically on the next launch
  • Editable savings goal, right from the dashboard
  • Optional AI insights, budget advice, fraud check, chat, and category suggestion
  • Automatic update check (version.json)

Quick Start

1. Install dependencies

pip install -r requirements.txt

2. Run the app

python main.py

CSV Format

The app accepts CSV files with these columns:

Date,Type,Category,Account,Amount,Description
2025-01-01,Income,Salary,Bank,3000,Monthly salary
2025-01-02,Expense,Food,Cash,50,Groceries
2025-01-03,Expense,Transport,Credit Card,20,Taxi

Required fields:

  • Date (YYYY-MM-DD)
  • Type (Income or Expense)
  • Amount (numeric)

Optional fields:

  • Category (defaults to Other)
  • Account (defaults to the first account)
  • Description (optional)

The repo ships with a sample autosave.csv (example data) so you can try the app immediately — feel free to delete it, the app will start fresh and create a new one.


AI Setup (Optional)

Create ai_config.json next to main.py:

{
  "api_key": "YOUR_OPENAI_API_KEY",
  "model": "gpt-4o-mini"
}

Or set environment variables:

setx OPENAI_API_KEY "your-key"
setx OPENAI_MODEL "gpt-4o-mini"

Optional for custom endpoints:

setx OPENAI_BASE_URL "https://your-endpoint"

Notes:

  • Keep ai_config.json out of source control (already in .gitignore).
  • AI calls time out after ~20s and show an error if network or key is invalid.

Usage

  • Load CSV: Import one or multiple files
  • Save CSV: Export all transactions
  • Add: Manually add a transaction
  • Manage Categories / Accounts: Add or remove list items
  • AI buttons: Get insights, budget advice, fraud checks, chat answers, or category suggestions
  • Export Chart: Save charts as PNG

Requirements

  • Python 3.9+
  • PyQt6
  • pandas
  • matplotlib
  • openai (optional for AI features)

About

A modern personal finance desktop app built with PyQt6, Pandas, and Matplotlib. Features thread-safe, asynchronous OpenAI integration for financial insights and a local offline fallback engine.

Topics

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages