DollarDollar has evolved into FinPal as part of the PalStack ecosystem. This represents a complete architectural modernization with enhanced features and deployment flexibility for both self-hosted and managed hosting scenarios.
"That's what pals do β they show up and help with the everyday stuff."
PalStack is a family of applications designed to simplify daily life management. FinPal (formerly DollarDollar) is our financial management component, focused on making personal finance tracking effortless and privacy-respecting.
- Backend: Production-ready microservices architecture
- Web UI: Live and ready for testing at finpal.palstack.io
- Mobile Apps: Beta testing in progress
- Licensing: Dual licensed (AGPL-3.0 for personal use, commercial license available)
- Modular microservices backend for better scalability
- Modern React-based frontend with improved UX
- Native mobile applications in active development
- Self-hosted first, with optional managed hosting
- Dynamic branding based on default currency (DollarPal, EuroPal, RupeePal, etc.)
- Rollover budgets for flexible period management
- Enhanced sync engine with improved reliability
- Advanced analytics and financial insights
- Streamlined group bill-splitting workflows
- Additional features in development pipeline
We're opening this up to the community first. The beta is available via Docker Hub, with full documentation at finpal.palstack.io. Bug reports, feature requests, and feedback are critical as we work toward our February 2026 public launch.
This repository is preserved for historical reference. Active development continues in the FinPal Core repository under the PalStack organization.
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.
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
-
π° 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
If you are encountering issues after updating/pulling the recent docker, please run:
flask db migrate
flask db upgradeIf you wish to reset the database:
python reset.py- Docker
- Docker Compose
-
Clone the repository
git clone https://github.com/harung1993/dollardollar.git cd dollardollar -
Configure environment
cp .env.template .env # Edit .env with your configuration -
Launch the application
docker-compose up -d
-
Access the app at
http://localhost:5006
To enable Investment Tracking :
INVESTMENT_TRACKING_ENABLED=True
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
LOCAL_LOGIN_DISABLE=True # Disable password logins
DISABLE_SIGNUPS=True # Disable registration
For detailed configuration options, see the .env.template file.
This project explores AI-assisted open-source development:
- Leveraging AI tools for rapid prototyping
- Combining technological innovation with human creativity
- Iterative development with large language models
- Local LLMs (qwen2.5, DeepSeek-V3)
- Claude AI
- Human domain expertise
Contributions are welcome! Please check out our contributing guidelines.
- Fork the repository
- Create your feature branch
- Submit a Pull Request
- Special thanks to my wife, who endured countless late nights of coding, provided unwavering support, and maintained patience during endless debugging sessions
- Thanks to JordanDalby for creating and maintaining the Unraid template
- Thanks to @elmerfds for the OIDC support!
This project is licensed under the GNU Affero General Public License v3.0 - see the LICENSE file for details.
This license requires anyone who runs a modified version of this software, including running it on a server as a service, to make the complete source code available to users of that service.
If you like this project and would like to support my work, you can buy me a coffee!





