Self-hosted budgeting for people who plan one month at a time
Stop rebuilding the month from scratch every time life changes.
FinanceTracking.app helps you set up the recurring backbone of the month, pull it forward when a new month starts, and adjust it as real spending shows up. You keep the plan, the account context, and the leftover grounded in actual entries instead of wishful thinking.
- See the month faster by reusing saved paychecks, bills, subscriptions, and payment plans.
- Keep the budget tied to the real accounts, balances, and payments you are actually managing.
- Review the month in timeline, full-list, calendar, breakdown, and cash-flow views when you need a different angle.
- Stay in control with CSV imports, manual account tracking, and backups you can keep yourself.
Step 4 is where the app earns its keep: import activity, add one-offs, update actuals, and keep the month honest as it changes.
Self-host in a few commands
$ git clone git@github.com:taimoorq/expense_tracker.git
$ cd expense_tracker
$ cp .env.example .env
$ docker compose up --build
Inside the App
See how the app helps you plan, adjust, and review a real month.
Help & Documentation stays available in the app navigation
The help area explains what each screen is for and the best order to set things up. New self-hosted users do not have to guess where to start.
Features
Built around the messy reality of managing money month by month.
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, multiple ways to understand it
Use timeline, full-list, calendar, breakdown, monthly flow, account activity, and plan-and-edit views to understand the same month from the angle you need right now.
Guided entry management
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 charged-versus-paid activity by account over recent months.
Backup, restore, and sample import references
Export versioned JSON backups, 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.
Workflow
A monthly workflow that is easier to keep up with when real life gets messy.
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 instead of generic categories floating on their own.
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.
Build the month without starting from zero
Create a new month or clone a recent one, then pull in the recurring structure you already saved instead of rebuilding it from memory.
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.
Accounts first
Get the important balances and account names in place so the rest of the budget can connect to real life.
Save recurring
Keep the monthly basics reusable so future months are faster and more consistent.
Create the month
Start fresh or clone what already worked, then pull in the recurring pieces you want.
Adjust as the month unfolds
Update real spending, mark items paid, and use the visuals to see what the month can actually support.
Why It Works
It treats budgeting like a real monthly cash-flow problem, not a perfect spreadsheet fantasy.
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 and net worth snapshots live in a separate system that is easy to ignore.
What FinanceTracking.app fixes
- Recurring structure comes 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 and account snapshots live in the same app, so decisions stay connected.
FAQ
Short answers to the questions people usually ask before they bother installing it.
Is FinanceTracking.app a hosted service?
No. FinanceTracking.app is a self-hosted app. You clone the repository, run it yourself, and keep control of the environment where your data lives.
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, dashboard guidance, and manual account and net worth tracking.
Does it include backup and restore tooling?
Yes. The app includes a dedicated Backup & Restore area for versioned JSON exports, optional encrypted backups, import previews, and sample backup files that show the expected structure before restore.
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 It
Try the app and see if it fits the way you already budget.
FinanceTracking.app is designed to be self-hosted. Clone the repository, run the Rails app with Docker, and use it locally if you want a budgeting workflow that stays under your control.
Recommended path: clone the repo, run `docker compose up --build`, and open the app locally.