If you search for a self-hosted budgeting app you find three names over and over. We make one of them, so this is not neutral, but we have run the other two and we would rather you pick the right tool than pick ours for the wrong reason. Many households end up running two of these for different jobs.
The one-line versions
- Actual Budget is envelope budgeting, done as open source and local-first. Its question is "what job does every dollar have?"
- Firefly III is a personal ledger with budgets bolted on. Its question is "where did every transaction go, exactly?"
- Oikonome is a daily verdict plus the analysis behind it. Its question is "am I on budget today, and what can I spend?"
Side by side
| Actual Budget | Firefly III | Oikonome | |
|---|---|---|---|
| License | MIT | AGPL-3.0 | FSL-1.1 (Apache after 2 years) |
| Stack | Node, SQLite, local-first sync | PHP/Laravel, MySQL or Postgres | Python/FastAPI, Postgres, React |
| Budget model | Zero-based envelopes | Budgets and "piggy banks" | Monthly caps plus annual pools, daily allowance |
| Daily verdict email | No | No | Yes, the core loop |
| Bank sync | SimpleFIN (US), GoCardless (EU) | Via Data Importer: GoCardless, Salt Edge, SimpleFIN, CSV | SimpleFIN, your own Plaid or MX keys, CSV, community scripts |
| Bill detection | Schedules you define | Recurring transactions you define | Detected from history, you approve |
| Cash-flow forecast | No | No | 60-day forecast with card payoff scenarios |
| Debt payoff planner | No | No | Avalanche and snowball on one schedule |
| Retirement projection | No | No | Deterministic model plus historical replay since 1928 |
| Investments and net worth | Balances you enter | Asset accounts | Holdings, liabilities and net worth over time |
| Business and Schedule C | No | Some via categories | Entities, P&L, Schedule C, mileage |
| Import history | CSV, YNAB, nYNAB | CSV via importer | Mint, YNAB, Quicken QIF, OFX/QFX, CSV, PDF |
| Local AI categorization | No | No | Bundled local model, nothing leaves the box |
| Mobile | Responsive web app | Third-party apps | Native iOS and Android, or the email |
| Multi-user household | Single budget file, shared | Yes | Owners, members and view-only readers |
| Hosted option | PikaPods and others | Various | oikonome.com, $6.99/mo |
Details checked September 2026 against each project's documentation. Both projects move quickly, so verify anything that matters to you on their own sites.
When Actual Budget is the right choice
You want to practice budgeting. Envelope budgeting is a discipline, and Actual gives you the YNAB method without the YNAB subscription, with your data in a file you own. The community is active, the sync server is a single container, and the interface is fast. If you already know the envelope method and want to keep using it, stop reading and install Actual. It is excellent at its job.
Where it will frustrate you: there is no forward view. Actual tells you what you have assigned, not what the next sixty days look like once rent, the car insurance renewal and the credit card due date land. There is no payoff planner, no retirement model, and bank sync outside the US and EU is on you.
When Firefly III is the right choice
You like keeping books. Firefly's strength is the ledger: every transaction has a source and destination account, transfers are real transfers, and the rule engine can do almost anything to incoming data. If you have several currencies, business and personal in one place, or you want to run reports on years of precisely tagged data, Firefly is built for you. The separate data importer is a bit of ceremony but it connects to more European banks than anything else on this list.
Where it will frustrate you: it does not tell you what to do. Budgets exist but nothing nudges you, and the app assumes you will open it and read it. It is a system of record, and it wants a bookkeeper.
When Oikonome is the right choice
You do not want to open a finance app, but you want to know. Oikonome's product is a single morning email: on budget or over, the one number you can still spend today, the bills coming up, and the reason if you are over. The web and mobile apps exist for setup and for digging in, but the daily loop needs neither. Everything else is downstream of that: bills and paychecks are proposed from your history rather than typed in, envelopes come in monthly and annual flavours so a yearly insurance premium does not read as a blown month, and the same data feeds a cash forecast, a debt planner and a retirement replay.
Where it will frustrate you: it is younger than the other two and it says so on its README. The envelope model is deliberately simpler than Actual's, so if you want to move $14 from Dining to Groceries on a Tuesday, Actual does that better. And the license is Fair Source, not OSI open source: you can self-host every feature forever and each release becomes Apache after two years, but you cannot sell it as a hosted service in the meantime. Some people mind that. We think it is the honest way to keep a one-household-company product alive, and we would rather say so than hide it.
Running two of them
It is common. Actual for the envelope discipline, Oikonome for the morning email and the long-range questions. Or Firefly as the books, Oikonome as the daily signal. Oikonome imports from CSV, so a Firefly or Actual export loads in minutes, and all three run happily on the same small server.
Try before installing
Oikonome has a live demo on synthetic data that resets every hour, and ./oikonome.sh demo stands up a throwaway instance locally. Actual has a demo too. Firefly's demo site is the fastest way to see whether the ledger model suits you. Spend ten minutes in each and the choice usually makes itself.