Skip to content

Repository files navigation

Expensave

Expensave is a free, open-source self-hosted expense tracker for personal and family budget management. Track spending, share calendars with family members, import bank statements, and monitor your finances — all on your own server.

License: GPL v3 GitHub release Docker Pulls


Screenshots

Desktop

Expensave desktop calendar view Expensave desktop expense dialog

Calendar & editing: browse your timeline, review entries, and create or edit transactions.

Expensave desktop report view Expensave desktop light theme view

Reports & themes: analyze spending trends and use Expensave in light or dark mode.

Mobile

Expensave mobile overview Expensave mobile expense dialog Expensave mobile reports overview

Mobile experience: manage expenses, edit entries, and review reports on smaller screens.


Features

  • 👥 Multiple user support
  • 📅 Shared expense calendars between family members
  • ♾️ Multiple & unlimited expense calendars
  • 🔁 Recurring expenses — daily, weekly, monthly, and yearly schedules
  • 🏦 Import bank statements in various formats
  • 📊 Reports on spending and income habits
  • 📱 Mobile PWA — installable on iOS and Android
  • 🎨 Responsive design — works on desktop, tablet, and mobile

Quick Start

Option 1 — Automated installer (recommended)

Requires Docker. Installs and starts Expensave interactively:

curl -fsSL https://expensave.app/install.sh | sudo bash

The installer will:

  • Verify Docker is installed and running
  • Ask whether to use default or custom settings
  • Configure timezone and locale from your OS automatically
  • Generate a secure database password
  • Pull images and start the application
  • Print the URL and credentials when done

Option 2 — Docker Compose (manual)

1. Create a directory and download the compose file:

mkdir -p /opt/expensave && cd /opt/expensave
curl -fsSL https://raw.githubusercontent.com/algirdasc/expensave/main/docker-compose.yml -o docker-compose.yml

2. Create a .env file:

cat > .env <<EOF
TZ=Europe/Vilnius
LOCALE=en
REGISTRATION_DISABLED=no
EOF

3. Start:

docker compose up -d

App is available at http://localhost:18000

Useful commands:

docker compose logs -f          # view logs
docker compose pull && docker compose up -d   # update to latest
docker compose down             # stop

Option 3 — Deploy on Hostinger VPS

One-click deploy on a Hostinger VPS with Docker pre-configured:

Deploy on Hostinger


Mobile PWA

Expensave works as a Progressive Web App — install it on your phone directly from the browser, no app store required.

See wiki: Using mobile version.


Bank Statement Import

Import your balance from financial institutions in various formats.

See wiki: Bank statement import.


Community & Discussions

Have a question, idea, or want to share how you use Expensave?

👉 Join the discussion on GitHub

  • 💡 Ideas & feature requests — suggest what you'd like to see
  • Q&A — ask questions and get help from the community
  • 🗣️ Show & tell — share your setup or how you use Expensave

Support

💬 Bug reports & questions

Found a bug or need help?

❤️ Financial support

Expensave is developed and maintained in my free time. If you find it useful, consider supporting the project:

  • Click the Sponsor button at the top of this page
  • Your support helps me dedicate more time to new features, bug fixes, and keeping the project alive
  • It also lets me know that Expensave is useful to others — which means a lot

License

Expensave is open-source software licensed under the GNU General Public License v3.0.

About

Personal and family expense tracking and budgeting application, enabling better financial management

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

Sponsor this project

Used by

Contributors

Languages