Actual Budget Alternative: Open Net Worth vs Actual Budget
An Actual Budget alternative for when your budget should sit beside holdings, any currency and an AI agent. Where Actual is better, and how to move over.
Actual Budget is a fast, local-first envelope budget, and for budgeting alone it’s the more established choice. If you want the budget to sit beside your holdings, your property and every currency you hold, with an agent doing the bookkeeping, Open Net Worth is the Actual Budget alternative to try. Below: where Actual wins, how the two differ, who should pick which, and how to move over.
We build Open Net Worth, the open-source personal wealth agent: a private family office for the other 99%, run by Lucius, an AI agent that keeps the books, watches your holdings and reports in on a schedule. We’re the maintainers, so read this as our view. For the other open-source tools in this space, see our open source net worth tracker comparison.
Short answer: Actual Budget is free, open source (MIT) and local-first, with bank sync, optional end-to-end encryption for synced data and no AI in the app. Open Net Worth (AGPL-3.0) adds holdings with live prices, accounts in any currency and Lucius, an agent that changes your books under rules you set, and it needs an AI model at first run. Pick Actual for budgeting alone; pick Open Net Worth if the budget should live beside everything else.
Note: Open Net Worth is software, not a financial advisor. This post shows how the two apps work; it is not financial, investment, tax or legal advice.
An Actual Budget alternative at a glance
| Actual Budget | Open Net Worth | |
|---|---|---|
| What it is | A local-first envelope budget app | An open-source personal wealth agent |
| Price | Free; optional paid hosting | Free, plus your AI provider’s fees |
| License | MIT | AGPL-3.0 |
| Where data lives | Each device, synced via your server | One database on your machine or server |
| How it runs | Desktop app, or a server and browser | Desktop app, onw server or Docker |
| Budgeting | Envelope or tracking budget | Zero-Based or 50/30/20 |
| Credit cards | Accounts with a negative balance | A payment envelope per card |
| Investments | Balances in off-budget accounts | Holdings, lots and live prices |
| Currencies | One; an experimental workaround | Any, totaled in your base currency |
| Bank sync | 4 providers for new accounts, no AI | Connectors, run by Lucius |
| On a phone | iOS beta app; installable web app | Home-screen web app from a server |
| People | Several users through OpenID | One password per book |
| Encryption | Optional end-to-end for synced data | None on disk; use disk encryption |
| AI | None in the app; community add-ons | Required at first run |
| API | Node.js package and a CLI | onw mcp server with write access |
A few rows need a word more:
- Price: Actual calls itself “100% free and open-source”. Its README lists one-click hosting on PikaPods at about $2.00 a month and Fly.io at about $1.50. Open Net Worth is free; you pay your AI provider, or run a local model.
- Where data lives: Actual keeps a full copy on each device and on your server. Open Net Worth keeps one database file, by default under
~/.open-net-worth, and every device works on that one copy. - How it runs: Actual’s desktop apps cover Windows, Mac and Linux, and its server runs in Docker, from a CLI or on a host. Open Net Worth’s desktop app needs Apple Silicon on macOS.
- Bank sync: Actual supports SimpleFIN Bridge (North America), Enable Banking (Europe), Pluggy.ai (Brazil) and Akahu (New Zealand), and lists GoCardless for Europe as closed to new accounts. Open Net Worth has SimpleFIN, Plaid, Enable Banking, Lunch Flow, Lunch Money and YNAB, plus GoCardless for people who already have an account. Our SimpleFIN setup guide walks through connecting it.
- People: Actual’s support for several users needs an OpenID provider and has Basic and Admin roles.
- AI: Actual’s docs list AI tools as community projects, outside the app. In Open Net Worth, Lucius works the books.
- API: Actual has no REST endpoints; its
@actual-app/apipackage runs on a local copy of your budget.onw mcplets other AI apps act as you.
For Actual’s side, see its README, install docs, FAQ and homepage.
Where Actual Budget is better
Actual is local-first. Each device keeps the whole budget and syncs through your server in the background, so the app keeps working with no connection (syncing docs). On a phone, Actual’s FAQ describes an official iOS app in beta on TestFlight, with no official Android app, and the web page installed from your server works offline too. Open Net Worth has no mobile app: a phone opens it in the browser, added to the home screen, and needs its server within reach.
It does more for a household. With an OpenID provider, Actual’s user directory gives each person a login, with Basic and Admin roles and access per budget. Optional end-to-end encryption means the server passes around changes it can’t read. Open Net Worth has one password per book, no user accounts, and a database that isn’t encrypted on disk.
Bank sync works without an AI model. Actual can sync linked accounts in the background every 12 hours, every day, every week or on a custom interval, while the app is open. It’s off until you turn it on (release notes, bank sync docs). Our bank connectors run through Lucius, so they need a model and a machine that’s on.
Coming from YNAB, Actual brings your history. Its homepage lists built-in YNAB4 and nYNAB importers “that keep all of your history”, and the nYNAB migration guide walks through the cleanup. Open Net Worth’s YNAB data sync imports a whole YNAB plan with its categories and each month’s Assigned amounts and keeps it in step both ways; it’s on by default (details). The regular YNAB connector only reads YNAB and copies transactions; our YNAB comparison covers the budget side.
Actual is the older project, too, and it ships monthly. Open Net Worth ships much faster: more than one release a day since 2 Oct 2026.
One r/selfhosted user asked for a YNAB or Monarch replacement that would “track all of my spending & investments”. A reply loved Actual but said “It took me like 6 months to figure it out” and skipped bank sync because “I don’t appreciate 3rd parties having my transaction data”. Another keeps net worth elsewhere: “I have that elsewhere”. Net worth is the part Open Net Worth is built around.
And Actual has no AI in the app. If that’s what you want from a budget, it’s the better tool, and the next section says why.
AI is required at first run
Open Net Worth’s first run asks you to connect a model and has no skip button. You can use an API key (Anthropic, OpenAI or any OpenAI-compatible endpoint), an existing Claude Code, Codex or Antigravity sign-in, or a free local model through Ollama. With a local model, your requests to Lucius stay on your machine. With a hosted provider, that provider receives your conversation and the data Lucius looks up for it; the AI provider docs cover each option.
Without a model, accounts, transactions, budgeting, investments and net worth keep working (FAQ), and so do OFX, QIF, MT940 and CAMT.053 imports. Lucius, Automations, memory, bank sync and reading PDF, CSV and XLSX statements need one (importing docs). Plan on having a model for CSV. Our data flow post lists every other outbound call.
Where Open Net Worth is different
Investments sit in the same book as the budget
Actual’s off-budget accounts “don’t affect the budget” and only track balances over time, which suits investments and a mortgage you update by hand (accounts docs). Its reports include a Net Worth graph and a Crossover Point report, and an experimental Monte Carlo report tests whether savings last.
Open Net Worth tracks the positions themselves: holdings with lots, FIFO or specific-lot sales, dividends, and TWR and MWR returns, priced from Yahoo Finance and CoinGecko (investments docs). Property, cars and other assets keep the value you enter. RSU, ESOW and LTIP grants sit in the same book. Outlook runs thousands of simulated market paths from your real net worth.
Every account keeps its own currency
Actual is “currency agnostic and does not support multi-currency”. Its docs describe an experimental workaround: two rules per foreign account that convert each transaction at a rate you type (multi-currency docs). In Open Net Worth, each account keeps its own currency, and every total converts to your base currency.
The two budgets treat credit cards differently
Both budgets give every dollar a job; they part ways on credit cards. Actual treats a card as an account with a negative balance: spending leaves the category you picked, and paying the card is a plain transfer (credit card docs). Open Net Worth gives each card a payment envelope, as YNAB does. Buying on the card from a funded envelope sets that money aside for the bill (budgeting docs).
Neither is wrong. Pick the one you already think in. For a looser budget, Actual has a tracking mode that forecasts income and spending, and Open Net Worth has a 50/30/20 split.
Lucius ships with the app
Actual users who want AI add it themselves. Actual’s community projects page lists three MCP servers (MCP is the protocol AI apps use to call tools): actual-budget-mcp, actual-mcp and actual-mcp-server. It also lists Actual AI, which categorizes transactions. The Actual team doesn’t maintain them; actual-mcp, for one, is read-only unless you start it with --enable-write.
Lucius is part of Open Net Worth. He reads and changes your book through about 300 tools, the same write paths the screens use. A new conversation starts in Auto: ordinary changes go through and can be undone with Restore, risky ones ask first. Manual asks for every change. Automations run him on a schedule or an event, such as a daily briefing or a bank sync, and Lucius writes each briefing from your own book on every run. Open Net Worth trades through your broker’s own MCP server, and asks first by default; our bank and brokerage data connectors stay read-only. A scheduled trade is an Automation plus the broker’s MCP server. Our post on the AI agent for personal finance covers permissions in detail.
It works the other way too. Claude, ChatGPT and other AI apps can use your book through onw mcp. A connected app acts as you, with no confirm cards; only tools set to Blocked are refused (connect AI apps). The personal finance MCP server guide shows the setup.
Which one fits whom
Actual Budget fits you if a budget is the job, you want it offline on every device, or you share it with other people. It also fits if you want no AI anywhere in your finance app, or you’d rather pay a host like PikaPods than run a server. If Firefly III is the other tool on your shortlist, see our Firefly III alternative post.
Open Net Worth fits you if the Actual Budget alternative you want keeps the budget next to holdings, equity grants, property and retirement odds, in any mix of currencies. It also fits if you’d let an AI agent do the bookkeeping under rules you set, on a machine you run. Our self-hosting how-to shows what running it involves, and the features page lists the rest.
Moving from Actual Budget
Open Net Worth can import a whole Actual budget. It is experimental and off by default: turn it on in Settings → Developer → Experimental, then open Automations → Data sync → Actual and connect your own Actual server. It isn’t available on a hosted Open Net Worth instance (import docs). If your Actual server sits behind a sign-in proxy such as Pangolin, Authelia or Cloudflare Access, add the header the proxy accepts in the connection form, or let five paths through to Actual without the proxy’s login. The docs list the five. /api isn’t one of them, so a bypass for /api alone won’t let the sync through.
Review… writes nothing. You give each new account a type, because Actual only knows on budget or off budget, and send each Actual category to a new category or to one you already have. Import takes a backup first, brings accounts, categories, transactions and each month’s Assigned, then checks them against Actual’s figures. Tags written in a note, like #groceries, become the transaction’s tags. Any sync that follows uses no AI model.
Ready to Assign won’t match Actual’s To Budget, because the two are worked out differently, and the review says so. A book syncs with YNAB or Actual, not both. Afterwards you can stop, or keep the two in step on a schedule, both ways, from Actual only or to Actual only. Without a server to connect, transactions come across as files:
-
In Actual, keep a full backup: Settings, then Export data in the Data section.
-
Export each account’s transactions as CSV. Actual’s CLI does it in one line; it needs Node.js 22 or later and your Actual server’s address, password and sync ID.
Terminal, with Actual’s CLI installed
actual transactions list --account <id> --start 2026-01-01 --end 2026-12-31 --format csv > transactions.csv -
In Open Net Worth, open the matching account, click Import, drop the file and click Read the statement. Lucius reads CSV files, so have your model connected.
-
Review each row as Link, Import or Leave out. Expand a row to change its payee and category before it books, then click Confirm.
With the file route, envelopes, targets and assigned amounts don’t come across; set them up again on Plan › Budget. Investment accounts you kept off budget in Actual become holdings, added under Investments. Importing the same file twice is safe: rows already booked are left out (importing docs). So you can keep budgeting in Actual for a while and bring newer transactions over later.
Our take
Pick Actual Budget for budgeting alone; pick Open Net Worth if the budget should live beside your investments and an agent. Actual’s offline sync, shared budgets and end-to-end encryption are things we don’t match. Holdings with live prices, a currency per account and a built-in agent with Restore are things Actual leaves to community projects or doesn’t cover.
If you already run Actual with a community MCP server, ask what you want the AI to do. For questions about your budget, that setup may be enough. If you want an agent that books, reconciles and runs on a schedule, with Restore to undo what he changed, that’s the job we built Lucius for.
Reconciling is part of that job: when a balance is a few cents off the bank, Lucius can trace it to the row from a screenshot of your bank app.
Try it before you move a budget. Open the demo on demo data (no sign-up; the book is shared and AI limits apply). If it fits, install the app from the docs, export one account from Actual and import it, while you keep budgeting in Actual. Compare the first import with your bank statement. Questions go to Discord, bugs and import problems to GitHub issues.
Frequently asked questions
Does Actual Budget have AI?
Not in the app. Its Community Projects page lists three MCP servers that let Claude and other assistants read, and optionally change, your budget, plus Actual AI for categorizing transactions. The Actual team doesn't maintain any of them.
Can Open Net Worth import my Actual Budget file?
Yes, as an experimental feature that is off by default. Turn it on in Settings, Developer, Experimental, connect your own Actual server and review the budget. The import brings accounts, categories, transactions and each month's Assigned, then checks them against Actual. Without a server, export each account's transactions as CSV and import them with an AI model connected. That route brings transactions only, so envelopes, targets and assigned amounts are set up again.
Can I use either one on a phone?
Yes, through the browser. Actual's FAQ describes an official iOS app in beta on TestFlight and no official Android app; its web app installs to the home screen and works offline. Open Net Worth has no mobile app and runs on a phone as a home-screen web app from your own server.
Sources
- Actual Budget homepageofficial
- Actual Budget README and repository, GitHubofficial
- Actual Budget release 26.11.0official
- Installing Actual, Actual Budget docsofficial
- Syncing across devices and end-to-end encryption, Actual Budget docsofficial
- Connecting your bank, Actual Budget docsofficial
- Managing multi-user support, Actual Budget docsofficial
- Multi-currency, Actual Budget docsofficial
- Accounts overview, Actual Budget docsofficial
- Credit cards and Actual Budget, Actual Budget docsofficial
- Reports dashboard, Actual Budget docsofficial
- Community projects, Actual Budget docsofficial
- CLI tool, Actual Budget docsofficial
- Frequently asked questions, Actual Budget docsofficial
- Migrating from nYNAB, Actual Budget docsofficial
- Thoughts on Actual Budget? (r/selfhosted)
- Open Net Worth release notesofficial
- Importing statements, Open Net Worth docsofficial
- Investments, Open Net Worth docsofficial
- Budgeting, Open Net Worth docsofficial
- YNAB data sync, Open Net Worth docsofficial
- Connect other AI apps, Open Net Worth docsofficial
- Import from Actual Budget, Open Net Worth docsofficial