A native Android client for Actual Budget, built with Kotlin and Jetpack Compose.
Actua brings Actual Budget to Android with a native Material You interface.
It connects directly to your self-hosted Actual Budget server, keeps a local copy of your budget for offline use, and synchronizes changes with Actual. You can also use Actua completely offline with standalone on-device budgets—no server required.
Actua is an independent community project and is not affiliated with or endorsed by Actual Budget.
- Native Material You Android interface
- English and Brazilian Portuguese (pt-BR) with in-app language selection
- Home dashboard with an at-a-glance financial overview (ready to budget, favorite categories/accounts, upcoming bills, this month, reports and recent activity), customizable via show/hide and drag-to-reorder, with an optional start day for the This Month summary to match mid-month pay cycles
- Customizable floating bottom tab bar: show/hide and reorder tabs (Reports and Bills can be added as their own tabs), plus an optional "Add" quick-add tab, and optional hiding while you scroll
- App-wide favorites for categories, accounts and reports, shared by Home, the Budget favorites filter and the home-screen widget
- Password and OpenID/OIDC login
- Standalone on-device budgets: full envelope budgeting without needing a server, with automated schedule posting, local backups, and export/import compatibility with Actual Budget archives (see docs/STANDALONE_BUDGETS.md)
- Offline budgets with encrypted Actual sync
- Budgeting, categories and money movement, including one-tap cover for overspent categories, switching budget type between Envelope and Tracking, category group deletion with target reassignment, and Actual's budget actions (3/6/12-month averages, copy last month or to year end, hold income)
- Transactions, splits (including transfer lines in split transactions), transfers, Make transfer for two existing transactions, merging duplicates and reconciliation, including "Use last synced total" for bank-synced accounts
- Amount keypad with + − × ÷ arithmetic, a leading minus, Paste, and Clear with Undo
- Optional receipt scanning in the Google Play version and the
-fullAPK: take or pick a receipt photo and Actua suggests the payee, date and total (and offers the tax and items as split lines) using Google ML Kit, which reads the photo on your phone (the library may send technical diagnostics to Google, never your receipt or budget data); a kept photo stays on the device only (see PRIVACY.md) - Bank sync through your Actual server (SimpleFIN, GoCardless, Pluggy.ai, Akahu and Enable Banking), with per-account sync settings; newly synced transactions are marked until you view the account
- Category targets and budget automations, including
#templatenotes, checked against Actual's own template engine - Scheduled transactions and Bills calendar, with optional reminders before they are due, shown on your own weekend days and holidays when a schedule skips weekends
- Accounts with collapsible groups, custom group creation/management, in-place reordering, group totals, flat favorites, credit cards, payment reminders, loan accounts with a payoff planner, and a device-local month start day for monthly summaries, report presets and report cards that can follow your own weekend days and holidays
- Actual dashboard and custom reports with a report builder, authoring and card/page management, with smooth line, bar, donut, Sankey, calendar, Budget Analysis and Monte Carlo charts, tap-to-open transactions with search and sorting, a full-screen view with a view-only time range and a data table, optional total and average per period, and date/account filtering
- Rules and automatic categorization, run on manual entry, transfers, imports and bank sync as in Actual, including template, formula and split actions, split rule authoring, live matching preview, and 'Apply rule now' bulk execution
- CSV, OFX, QFX, QIF, CAMT.053, XLSX, PDF, SMS and notification imports (statement files can also be shared or opened from other apps), plus a Tasker plugin and intents; captured transactions wait in a review queue with per-row, remembered and default accounts, optional review notifications, a launcher shortcut and an Accounts tab badge
- CSV export of an account register, of the transactions a filter or search shows, and of every Global Search match, in Actual's account-export layout
- Payee management (rename, merge, delete, favorite, category learning), with suggested and location-aware payees
- Global search, and transaction search that also matches amounts and dates
- Optional app lock (biometrics or the device PIN, with a relock timeout) and a setting that hides Actua in the recents screen and blocks screenshots (see docs/APP_LOCK.md)
- Automatic local backups and restore, plus optional Google Drive backup and restore with client-side authenticated AES-256-GCM encryption
- Optional encrypted WebDAV backup and restore for Nextcloud, ownCloud and other WebDAV servers, with the same client-side encryption (see docs/WEBDAV_BACKUPS.md)
- Home-screen widgets and launcher shortcuts
- Currency (including the symbol before or after the amount), date and number formats that follow your budget's Actual settings or a device override, plus appearance options with an optional Material You dynamic-color mode (Android 12+)
- Actual tag management, with colored
#tagrendering, notes autocomplete, a Manage Tags screen, and tap-a-tag transaction filtering - Multiple downloaded budgets with a quick switcher in Manage
- Built-in local demo budget
- Privacy-safe Diagnostics report you can copy, save or email when reporting a problem
See BACKEND_PARITY.md for detailed compatibility and implementation status. Actua is reviewed against Actual Budget 26.11, as of 2.4.0 (details).
|
|
|
|
|
|
|
|
|
|
|
Screenshots use the built-in demo budget and follow your GitHub light or dark theme.
Actua requires Android 9 or newer.
Actua is available to everyone on Google Play. You can also download the latest APK from GitHub Releases or add Actua to Obtainium for update notifications and in-place upgrades.
Each release has two APKs, signed with the same key, so you can switch between them: Actua-v<version>.apk is fully open source with no Google libraries (the build F-Droid verifies), and Actua-v<version>-full.apk adds receipt scanning (on-device Google ML Kit, Google Play version features). Obtainium lists both; use its APK filter (a regular expression) to pick one, for example -full for the full build.
Don't have an Actual server handy? Open Manage → Connection & Data → Try demo budget to explore Actua using a completely local sample budget.
Caution
Actua can write changes to your synchronized Actual budget. Back up important budgets before connecting a new client.
Actua was originally based on and informed by Actuali, the open-source iOS client by Matt Farrell.
The project aims for compatibility with Actual Budget while providing an independently implemented native Android experience.
Found a bug or have an idea? Open an issue.
Want to discuss Actua, test beta builds, or help with development? Join the Discord server.
Actua is free software licensed under the GNU General Public License v3.0.
