An open-source, self-hosted money management platform with comprehensive expense tracking, budgeting, account synchronization, and bill-splitting features - designed for privacy, flexibility, and complete financial control.
## 🌟 Why DollarDollar? Born from a desire to move beyond restrictive financial tracking platforms, this app empowers users with: - 🔐 **Complete control over personal financial data** - 💡 **Flexible expense splitting mechanisms** - 🏠 **Self-hosted privacy** - 🤝 **Collaborative expense management** - 🔄 **Integration with Simplefin** (auto tracking accounts and transactions) - 💰 **Budgets with notifications** - 🖥️ **Seamless integration with Unraid** for easy installation and management via Unraid templates - 💼 **Track Portfolios and investments with auto update of sticker prices ## 🚀 Features - **💰 Expense Tracking & Management** - Multi-currency support with automatic conversion - Recurring transactions with flexible scheduling - Auto-categorization with customizable rules - Transaction importing (CSV, SimpleFin) - Transaction with multi category support - Multi-card and multi-account support - Date-based expense tracking - **👥 Bill Splitting** - Multiple split methods: equal, custom amount, percentage - Group and personal expense tracking - Settlement tracking and balances - Email invitations for group members - **📊 Budgeting & Analytics** - Custom budgets with notifications - Monthly financial summaries - Expense trends visualization - Category-based spending analysis - Comprehensive balance tracking - **🏷️ Organization & Categories** - Customizable tags for expense categorization - Category hierarchies (main categories with sub-categories) - Auto-categorization based on transaction patterns - Category-based reports for tax purposes - **🔐 Security & Privacy** - Self-hosted for complete data control - Local auth + OpenID Connect (OIDC) integration - Enterprise-ready authentication with any OIDC provider - User management with password recovery - No third-party data sharing - **💼 Portfolio Management - Create and manage multiple investment portfolios - Link portfolios to accounts for automatic balance updates - Track individual investments across different portfolios - Visualize portfolio performance and distribution ## 🛠️ Getting Started ### Updating If you are encountering issues after updating/pulling the recent docker, please run: ```bash flask db migrate flask db upgrade ``` If you wish to reset the database: ```bash python reset.py ``` ### Prerequisites - Docker - Docker Compose ### Quick Installation 1. Clone the repository ```bash git clone https://github.com/harung1993/dollardollar.git cd dollardollar ``` 2. Configure environment ```bash cp .env.template .env # Edit .env with your configuration ``` 3. Launch the application ```bash docker-compose up -d ``` 4. Access the app at `http://localhost:5006` ## ⚙️ Configuration Options ### Investment Tracking (Optional) To enable Investment Tracking : ``` INVESTMENT_TRACKING_ENABLED=True ``` ### OIDC Setup (Optional) To enable OpenID Connect authentication: ``` OIDC_ENABLED=True OIDC_CLIENT_ID=your_client_id OIDC_CLIENT_SECRET=your_client_secret OIDC_PROVIDER_NAME=Your Provider Name OIDC_DISCOVERY_URL=https://your-provider/.well-known/openid-configuration ``` ### Other Optionals # Optional settings ``` LOCAL_LOGIN_DISABLE=True # Disable password logins DISABLE_SIGNUPS=True # Disable registration ``` ### Additional Configuration For detailed configuration options, see the [.env.template](https://github.com/harung1993/dollardollar/blob/main/.env.example) file. ## 📸 Screenshots