Expense Tracker

A self-hosted budgeting app for people who plan month by month. Save the bills and income that repeat, update real spending as life happens, and keep your accounts, backups, and updates under your control.

Recurring-first
Paychecks, bills, subscriptions, plans, and cards are ready to use again next month.
Accounts stay close
Manual balances, snapshots, projected totals, and payoff progress stay near the budget.
Self-hosted
Run it from source or pinned images, then keep backups you can inspect.
Stop starting over
Know what to do next
Plan with real accounts
Adjust actual spending
Self-host your data
Update with release tags

Make monthly budgeting repeatable and easier to review.

It turns budgeting into a repeatable monthly workflow

Add accounts, save recurring transactions, create or clone the month, pull in the repeating pieces, then update the real activity as it happens. The app gives you a sequence to follow instead of a blank spreadsheet and a vague sense that something is missing.

It keeps account context nearby

Snapshots, linked entry activity, projected balances, credit card payoff progress, and account movement drilldowns keep the budget connected to the accounts you actually use.

It works without bank sync

Use manual entries, CSV imports, and account snapshots when you want to understand the numbers without connecting live bank accounts.

It makes monthly review easier

Grouped, full-list, calendar, breakdown, cash-flow, and Plan and Edit views let you review the same month from different angles without losing context.

It protects the way you work

Versioned JSON exports, optional backup encryption, import previews, and sample backup files make recovery and migration part of the product instead of an afterthought.

See how Expense Tracker helps you plan, adjust, and review a real month.

Overview page showing quick actions, recent months, and needs review guidance.
Month budget screen showing grouped budget sections and view controls.
Backup and Restore screen showing export and import options.
01

Open to a clear next step

The overview keeps quick actions, recent months, account movement, and review prompts close so returning users know what to do without relearning the app.

02

Build from reusable items

Save the repeating parts once, then create or clone months from paychecks, bills, subscriptions, payment plans, and card settings.

03

Adjust the month as real life changes

Use grouped, full-list, calendar, and Plan and Edit views to add one-offs, update actual amounts, mark items paid, and keep decisions current.

04

Keep account context visible

Snapshots, projected balances, credit card progress, and account movement drilldowns make the budget explainable from the entries behind each total.

Planning templates page showing saved recurring transactions.
Recurring templates
Guided add entry wizard for creating a budget entry.
Guided entry wizard
Accounts overview with asset totals, net worth trend, and tracked accounts.
Accounts and net worth
Overview money flow graph showing income, spending buckets, and leftover cash.
Money flow review

Plan the month, update real spending, review account movement, and keep backups.

Start with what you already know is coming

Save pay schedules, subscriptions, monthly bills, payment plans, and card settings once. Build the recurring backbone of the month without typing the same budget over and over.

One month, a few useful views

Use timeline, full-list, calendar, breakdown, monthly flow, account movement, and plan-and-edit views to understand the same month from the angle you need right now.

Guided entry updates

Add one-off entries manually, use a guided wizard, or edit entries and recurring items in modal flows that keep your place when you are moving quickly through the month.

Account-aware budgeting

Link recurring items to the accounts they affect, track balance snapshots in the same place, and review account movement, projected balances, and credit card payoff progress from the entries behind each month.

Lightweight guidance

Use the Overview check-in and financial rhythm choice during signup or in settings to keep the next useful action visible without turning setup into a long questionnaire.

Backups you can inspect

Export versioned JSON backups, include workflow preferences, encrypt them with a password, preview imports before restore, and inspect a sample backup before trusting your own data to the process.

Smarter card planning

Estimate card payments after the rest of the month is visible so payoff decisions are grounded in the actual plan, not guesswork from day one.

Follow one reliable budgeting sequence every month.

01

Start with your accounts

Add the checking, savings, cards, loans, and other balances you care about so the rest of the month has real account context, projected balances, and payoff progress instead of generic categories floating on their own.

02

Save the recurring parts once

Store the paychecks, bills, subscriptions, debt payments, and card settings you expect so the next month starts from something solid.

03

Build the month without starting from zero

Create a new month or clone a recent one, then add the recurring items you already saved instead of rebuilding it from memory.

04

Keep the plan honest as life happens

Add one-off costs, update actual amounts, mark items paid, and use the month views to see what is still realistic before the month gets away from you.

Start Fast

Accounts first

Get the important balances and account names in place so the rest of the budget can connect to real life.

Build Clearly

Save recurring

Keep the monthly basics reusable so future months are faster and more consistent.

Adjust Reality

Create the month

Start fresh or clone what already worked, then pull in the recurring pieces you want.

Decide Better

Adjust as the month unfolds

Update real spending, mark items paid, and use the visuals to see what the month can actually support.

Keep every decision connected to accounts, recurring plans, and real activity.

What usually goes wrong

  • The same bills, paychecks, and recurring items get rebuilt manually every month.
  • Imported and manual entries drift away from the original plan as the month gets busier.
  • Card payments are guessed before income, fixed spending, and one-offs are fully visible.
  • Account balances, card payoff progress, and monthly money movement live in a separate system that is easy to ignore.

What Expense Tracker fixes

  • Repeating items come from saved recurring transactions, not memory and repeated typing.
  • Months are reviewed through Budget, Breakdown, and Plan and Edit, with Grouped, Full List, and Calendar modes inside Budget.
  • Card estimates are derived from the visible month, not wishful thinking.
  • Month planning, account snapshots, movement drilldowns, and card payoff progress live in the same app, so decisions stay connected.

Self-host your budget so the data, updates, access, and backups stay under your control.

Why self-host this kind of app

  • Your budget, account snapshots, CSV imports, recurring setup, and backup files stay in your own deployment.
  • You choose who can sign in, where the database lives, how backups are stored, and how the app is exposed.
  • The product does not require bank-link credentials or a hosted account with a third-party budgeting provider.
  • Versioned exports make it easier to move, restore, or inspect your data when your hosting setup changes.

How updates stay practical

  • Use a pinned release image such as ghcr.io/taimoorq/expense_tracker:v0.7.3 for repeatable production deploys.
  • Pull the new image, restart the stack, and let the app run database preparation during startup.
  • If you run from source, pull the latest checkout, review environment changes, and restart with the usual setup command.
  • The app includes in-product release notes and GitHub update prompts so self-hosted installs can see when a newer release is available.

Good fit

People, households, and small private groups who already think in monthly cycles and want a repeatable way to plan, review, and preserve their own financial records.

Not the right fit

Anyone who wants automatic bank connections, a hosted phone-first budgeting service, investment advice, tax advice, or a service that manages the app, server, and backups for them.

Questions people ask before installing Expense Tracker.

Is Expense Tracker a hosted service?

No. Expense Tracker is a self-hosted app. You can clone the repository and run it yourself, or deploy a published release image from GitHub Container Registry or Docker Hub.

Why would I use this instead of a spreadsheet?

A spreadsheet can work, but it usually makes you rebuild the same setup every month. Expense Tracker gives you reusable recurring transactions, month cloning, guided entry flows, account movement, balance snapshots, backups, and review screens built around the monthly budgeting loop.

What can the app actually do today?

It supports month creation and cloning, recurring transactions, guided Plan and Edit actions, guided and manual entry editing, Budget and Breakdown review flows, backup and restore, Overview guidance, snapshot-based account balances, account movement drilldowns, and credit card payoff progress.

Why self-host it?

Self-hosting lets you keep the app database, backups, account labels, imports, and access controls in your own environment. It also makes the product usable without bank-link credentials or a hosted budgeting account.

How do I keep a self-hosted install updated?

Use versioned Docker images for repeatable deploys, or pull the latest source checkout if you run from git. The README explains both flows, and the app shows release notes plus GitHub update prompts when a newer release is available.

Does it include backup and restore tooling?

Yes. The app includes a dedicated Backup & Restore area for versioned JSON exports, optional encrypted backups, workflow preference exports, import previews, and sample backup files that show what a restore expects.

Does it rely on bank syncing?

No. The workflow is built around manual accounts and imported CSV activity. That keeps the tool usable without bank integrations and makes self-hosting simpler.

Who is responsible for privacy in a self-hosted install?

The operator of the installation is responsible for hosting, storage, backups, access control, and any privacy disclosures for that deployment.

Self-host Expense Tracker when you want a monthly budget you can repeat, review, and move.

Start locally from the repository, or deploy a pinned release image when you are ready for a longer-running install. The docs walk through setup order, the monthly workflow, backup behavior, and update guidance.

Open the GitHub Repo Docker Quick Start Self-hosting Guide

Local path: clone the repo and run docker compose up --build. Production path: pin a release image from GHCR or Docker Hub, then follow the README update flow when new releases land.