Service — Actual Budget
What it is
Actual Budget is a self-hosted, envelope-style personal finance manager. It stores all transactions, accounts, and categories. Quorra uses it as the backend for conversational transaction logging and spending queries — the highest-friction daily integration, and the first one built.
Accessing it
- Web UI:
https://budget.juncyard.com - SSO: Authentik OIDC;
ACTUAL_USER_CREATION_MODE=loginauto-creates accounts on first SSO login - Internal:
http://actual:5006(on thequorra-netDocker network) - Compose stack:
~/projects/junc1/compose/finance/ - Data:
~/data/finance/actual/
Accounts
| Name | Type |
|---|---|
| Chase Debit | Checking |
| Cash | Cash |
| Capital One Credit | Credit card |
| Chase Savings | Savings |
Categories
Organized as groups with subcategories:
| Group | Subcategories |
|---|---|
| Food | Groceries, Dining, Drinks |
| Auto | Gas, Auto Loan, Maintenance, Insurance, DMV, Parking, Other |
| Household | Mortgage, Utilities, Cleaning, Supplies, Furnishing, Garage, Improvements |
| Health & Wellness | Therapy, Fitness, Clothing |
| Hobbies | Motorcycles, Snowboarding, Longboarding, Reading, Music |
| Travel | Transportation, Accommodation |
| Miscellaneous | Entertainment, Subscriptions, Gifts, Taxes, Debts |
| Software Engineer (income) | Salary, RSU, Bonus |
| Rental Property (income) | Rent |
| IXL Training (income) | Payment |
Quorra integration
Integrated. Quorra can log transactions and answer spending questions in
plain language. Because @actual-app/api is JavaScript-only, QuorraAPI talks to
Actual Budget through a small sidecar service (quorra-actualbudget) that wraps
the API and runs one worker process per user. Querying is Tier 0; logging a
transaction is Tier 1; modifying or deleting one is Tier 2 (confirmation
required).
The full integration design — tools, permission tiers, multi-user budgets — is in Quorra’s service integrations reference.
Notes
- The Actual Budget web UI logs in via Authentik OIDC, but the
@actual-app/apiSDK authenticates with a server password against/account/login. Thefinancecompose stack passesACTUAL_PASSWORDto the container so the server accepts SDK logins. - Budgets are per-user; each household member has their own Actual Budget file, with a shared household budget also supported.