Browse / Invoicing and finance
Actual Budget
Local-first envelope budgeting with an official Node API package and CLI.
Actual is a free, MIT-licensed budgeting app with a sync server you can self-host. The Builder publishes @actual-app/api, which opens a budget file (local or against your server) and exposes accounts, transactions, budgets, categories, payees, rules, schedules, bank sync and an ActualQL query engine. Personal finance, at the edge of this vertical.
Alternative to YNAB, Monarch Money, Mint
- I want a budget my agent can post transactions into and read balances from, with the file on my own machine
- I am moving off YNAB and want an app I can script
- Personal budgeting; no invoicing, clients or tax reporting
- The API opens the budget file directly and should not run against the same file the desktop app has open in some setups; read the API docs on sync
- A finished product: the Customization surface is deployment only
Last activity Sep 2, 2026. Fit: adaptable 2, operable 3.
Editions
Free · Free open source
PikaPods managed hosting (third party) · $2 per month closed source
- HostedOpen the hosted app
Adaptable: what is yours to change
Make it yours
Config only14 things to edit
The sync server reads config.json or ACTUAL_* env vars for port, data directories, login method (password, header or OpenID) and upload limits. Budget behavior is data inside the budget file; there is nothing else to edit unless you fork.
- Env vars
ACTUAL_PORTACTUAL_HOSTNAMEACTUAL_DATA_DIRACTUAL_CONFIG_PATHACTUAL_SERVER_FILESACTUAL_USER_FILESACTUAL_LOGIN_METHODACTUAL_ALLOWED_LOGIN_METHODSACTUAL_HTTPS_KEYACTUAL_HTTPS_CERTACTUAL_UPLOAD_FILE_SIZE_LIMIT_MBACTUAL_TRUSTED_PROXIESACTUAL_TRUSTED_AUTH_PROXIES- Config files
config.json- Prompt files
- none
- Accounts you need
- GoCardless or SimpleFIN account for bank sync (optional)
Source
- github.com/actualbudget/actual
- MIT license
- Last commit Sep 2, 2026
- 28,532 stars
Operable: what an agent can drive
Interface
OfficialSDKpublished by the builderlocal
How an agent can drive an Operable Listing, in five levels: native (built for the agent as the primary interface), official (the Builder ships an agent interface), wrapped (a third party wraps the software's API), config (an agent can only drive it by editing files), gui (screen control only). An interface is official only when it is published by the same organization that ships the software. GUI-level Listings are allowed and sorted last.
Reach
Partial coverage. 9 of 10 jobs reachable through the stated interface.
| Job | Through the interface | Evidence |
|---|---|---|
| Envelope budgeting by month | Reachable | API methods getBudgetMonths, setBudgetAmount, setBudgetCarryover |
| Accounts and balances | Reachable | getAccounts, createAccount, closeAccount, getAccountBalance |
| Add, import and edit transactions | Reachable | addTransactions, importTransactions, getTransactions, updateTransaction |
| Categories, groups, payees and tags | Reachable | getCategories, createCategoryGroup, mergePayees, getTags |
| Rules for automatic categorization | Reachable | getRules, createRule, updateRule |
| Scheduled transactions | Reachable | getSchedules, createSchedule, updateSchedule |
| Bank sync (GoCardless, SimpleFIN) | Reachable | runBankSync; the bank link itself is set up once in the UI |
| Import from YNAB and other apps | Reachable | runImport, importBudget, exportBudget |
| Ad-hoc queries over your data | Reachable | runQuery with ActualQL |
| Custom reports and dashboards | Not reachable | reports are built in the UI; the API returns data through runQuery but does not create report widgets |
Code stack
- Languages
- TypeScriptJavaScript
- Frameworks
- ReactElectronExpress
- Package manager
- yarn
- Database
- SQLite
- Hosting target
- DockerFly.ioPikaPodsdesktop installers
- Built
- Human-written (recorded, never ranked)
Skills
Repo carries contributor-facing development skills (commits, PR review, VRTs, docs, release notes), not skills for end users of the budgeting app. [contributor tooling, not adopter-facing]
- Kind
- contributor
- Paths
.claude/skills/*/SKILL.md.agents/skills/
Evidence and confidence
| Field | Where it was seen | Confidence |
|---|---|---|
| formFactor | web client plus sync server; Electron desktop build in the same repo | 95% |
| executionModel | no model at runtime | 95% |
| operability | @actual-app/api and packages/cli shipped in the repo; docs at actualbudget.org/docs/api/reference | 95% |
| effort | actualbudget.org/docs/config lists config.json and ACTUAL_* variables | 90% |
| editions | README: 100% free and open source; PikaPods and Fly listed as paid hosting | 90% |
| active | GitHub pushedAt 2026-09-02 | – |
| reach | 90% |
Open questions
- Whether the in-repo packages/cli is published and documented for end users, or internal
Sources
- github.com/actualbudget/actual sourcing:invoicing-finance:github
- actualbudget.org/docs/api/reference analysis:invoicing-finance
- actualbudget.org/docs/config/ analysis:invoicing-finance