Actual Budget

financeprivacyindie hacker

Self-hosted envelope budgeting app with a local-first SQLite architecture. YNAB-style methodology, offline support, and bank sync via GoCardless and SimpleFIN. Single Docker container

#budgeting#personal-finance#envelope-budgeting#ynab-alternative#self-hosted#local-first#sqlite
Alternative to YNABMintCopilot

Quick Start

docker compose up -d

Overview

Actual Budget is a self-hosted personal finance app built around envelope budgeting. The approach is the same one YNAB popularised: every pound or dollar you have gets assigned to a category before you spend it, and when a category runs out, you either stop spending or move money from somewhere else. For people who have used YNAB and liked the method but resent the subscription, Actual is the obvious place to go.

The app runs entirely inside your browser against a local SQLite file and syncs changes to your server in the background. On a slow connection it still feels fast because the data is already local, and it works offline without any degradation. The sync server needs only 256MB RAM and a single CPU core, and the whole thing runs in a single Docker container with no external database to configure.

Bank sync works via GoCardless for EU and UK accounts, and SimpleFIN for US and Canada — though SimpleFIN charges a small fee per connection per month. Outside those regions, CSV import covers most cases.

The boundaries are worth being clear about. Actual does not do double-entry accounting. There is no multi-currency support, no multi-user setup for shared household finances, and the reporting stays within the envelope budgeting model rather than generating investment or net-worth analysis. If those things matter, Firefly III covers that ground at the cost of significantly more setup complexity.

For straightforward personal budgeting with no subscription and no data leaving your server, Actual is the most approachable option available.

Actual Budget: Pros & Cons

Pros (The Wins)Cons (The Friction)
Local-first:
Runs in-browser on SQLite; fast,
offline-capable, minimal server load.
No multi-currency:
Single currency per budget;
not suitable for international use.
Envelope budgeting:
YNAB-style methodology; direct
import from YNAB4 supported.
Bank sync gaps:
SimpleFIN (US/CA) charges a small
fee per connection per month.
Simple setup:
Single Docker container; 256MB
RAM, no external database.
No accounting:
No double-entry, no net-worth
tracking, no rules engine.
MIT licensed:
26k stars; free to self-host
with no feature restrictions.
Single user:
No multi-user profiles for
shared household budgets.

Use Cases

Specific ways to use Actual Budget for your workflow.

01
Replace YNAB without paying a subscription fee
02
Assign every dollar to a category before spending it
03
Budget across multiple devices with offline support
04
Import bank transactions via GoCardless or CSV and categorise manually

Deployment Strategy

Recommended ways to host Actual Budget in your own environment.

docker
self-hosted