mothermachine

Browse / Invoicing and finance

Actual Budget

Local-first envelope budgeting with an official Node API package and CLI.

AdaptableOperable ProductWeb app Deterministic TypeScriptJavaScript SDK License: MIT

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

Use it when
  • 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
Gotchas
  • 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

  • Clonegit clone https://github.com/actualbudget/actual
  • ImageContainer
  • DownloadDownload
  • Installnpm install @actual-app/api

closed source

For agents: JSON · Markdown

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_PORT ACTUAL_HOSTNAME ACTUAL_DATA_DIR ACTUAL_CONFIG_PATH ACTUAL_SERVER_FILES ACTUAL_USER_FILES ACTUAL_LOGIN_METHOD ACTUAL_ALLOWED_LOGIN_METHODS ACTUAL_HTTPS_KEY ACTUAL_HTTPS_CERT ACTUAL_UPLOAD_FILE_SIZE_LIMIT_MB ACTUAL_TRUSTED_PROXIES ACTUAL_TRUSTED_AUTH_PROXIES
Config files
config.json
Prompt files
none
Accounts you need
GoCardless or SimpleFIN account for bank sync (optional)

Source

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.

Docs
actualbudget.org/docs/api/

Reach

Partial coverage. 9 of 10 jobs reachable through the stated interface.

JobThrough the interfaceEvidence
Envelope budgeting by monthReachableAPI methods getBudgetMonths, setBudgetAmount, setBudgetCarryover
Accounts and balancesReachablegetAccounts, createAccount, closeAccount, getAccountBalance
Add, import and edit transactionsReachableaddTransactions, importTransactions, getTransactions, updateTransaction
Categories, groups, payees and tagsReachablegetCategories, createCategoryGroup, mergePayees, getTags
Rules for automatic categorizationReachablegetRules, createRule, updateRule
Scheduled transactionsReachablegetSchedules, createSchedule, updateSchedule
Bank sync (GoCardless, SimpleFIN)ReachablerunBankSync; the bank link itself is set up once in the UI
Import from YNAB and other appsReachablerunImport, importBudget, exportBudget
Ad-hoc queries over your dataReachablerunQuery with ActualQL
Custom reports and dashboardsNot reachablereports 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

FieldWhere it was seenConfidence
formFactorweb client plus sync server; Electron desktop build in the same repo95%
executionModelno model at runtime95%
operability@actual-app/api and packages/cli shipped in the repo; docs at actualbudget.org/docs/api/reference95%
effortactualbudget.org/docs/config lists config.json and ACTUAL_* variables90%
editionsREADME: 100% free and open source; PikaPods and Fly listed as paid hosting90%
activeGitHub pushedAt 2026-09-02–
reach90%

Open questions

  • Whether the in-repo packages/cli is published and documented for end users, or internal

Sources