Skip to content

InnvoTechnologies/expenseflow

Repository files navigation

logo

A modern, full-stack finance application built with Next.js 15, specialized in multi-currency tracking, AI-powered insights, and automated transaction categorization.

License Next.js TypeScript Tailwind CSS

Deploy with Vercel

🚀 Features

Core Financial Management

  • Multi-Currency Support: Track accounts and transactions in any currency (USD, AUD, EUR, etc.) with automatic base currency conversion.
  • Account Types: Manage Bank Accounts, Cash, Mobile Wallets, Credit Cards, Savings, and Investments.
  • Transaction Handling: Record Income, Expenses, and Transfers between accounts.
  • Category Management: Hierarchical categories with custom icons and types.
  • Payee Management: Track who you pay or receive money from.

🤖 AI-Powered Assistance

  • Smart Categorization: Automatically suggests categories for new transactions based on description and history.
  • Natural Language Input: "Lunch 12.85 AUD at KFC" automatically parses into a structured transaction.
  • Financial Insights: AI analysis of spending patterns, anomalies, and monthly summaries.
  • Chat Assistant: Integrated AI chat to query your financial data and ask questions about your spending.

📊 Dashboard & Analytics

  • Real-time Dashboard: Overview of net worth, recent activity, and spending trends.
  • Visual Reports: Charts and graphs for income vs expenses, category breakdowns, and more.
  • Savings Goals: Track progress towards financial targets.
  • Subscription Tracker: Manage recurring payments and billing cycles.

🔐 Security & Auth

  • Secure Authentication: Powered by Better-Auth with Google OAuth support.
  • Cloudflare Turnstile: Bot protection on sign-in and registration forms.
  • Data Privacy: Granular control over user data with export and wipe options.

🛠️ Tech Stack

⚡ Getting Started

Prerequisites

  • Node.js 18+
  • PostgreSQL database
  • Yarn or NPM

Installation

  1. Clone the repository

    git clone https://github.com/InnvoTechnologies/expenseflow.git
    cd expenseflow
  2. Install dependencies

    yarn install
  3. Set up environment variables Copy the .env.example file to .env and fill in the values

  4. Run Database Migrations

    yarn drizzle-kit migrate
  5. Start Development Server

    yarn dev
    # To start the Drizzle Studio on port 3001
    yarn drizzle-kit studio --port 3001 --verbose

Open http://localhost:3000 to view the app.

📂 Project Structure

src/
├── app/              # Next.js App Router pages and API routes
├── components/       # Reusable UI components (Shadcn + Custom)
├── db/               # Drizzle schema and database connection
├── hooks/            # Custom React hooks
├── lib/              # Utility functions, auth client, and API helpers
└── server/           # Server-side logic and actions

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Star History

Star History Chart

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

About

An open-source expense management system for personal and multi-company use. Track income, expenses, accounts, and payees with clean financial insights. Designed for startups, freelancers, and growing teams.

Topics

Resources

Stars

Watchers

Forks

Releases

Contributors

Languages