Skip to content

Releases: azimul-kabir/actua

Actua 2.2.1

Choose a tag to compare

@github-actions github-actions released this 25 Oct 20:23
404bff3

Actua 2.2.1

Actua 2.2.1 is a bugfix release following 2.2.0. It fixes OpenID sign-in failing immediately when the browser opens, restores equal column widths in the Budget table stacked layout when goal icons are disabled, allows wide table amounts to scale down smoothly without premature wrapping, and simplifies the Budget display options sheet to keep all sections expanded.

Before you update

  • Display options are always expanded. In the Budget tab ⋮ menu > Display options, all sections are now shown expanded in a scrollable sheet without requiring taps on collapsible headers.
  • As always, let Actua finish syncing before you update, and keep an independent backup from Actual before using a new version with a real budget.

Changed

  • Budget display options now always shows all sections (Page, Each category row, Categories shown) expanded in a clean scrollable sheet (#1321)

Fixed

OpenID sign-in

  • Fixed OpenID sign-in failing immediately with a closed listener when the browser opens, by keeping the loopback callback server alive across Connection screen recomposition (#1320)

Budget table layout

  • Fixed the Budget table stacked balance column keeping extra width when goal icons are turned off, restoring equal column proportions (#1318)
  • Lowered the minimum scale floor from 75% to 60% and enabled auto-sizing within allocated columns so wide currency amounts scale down smoothly without prematurely wrapping into the stacked layout (#1318)

Compatibility and safety

  • The OpenID callback listener change affects only the local loopback server lifecycle on the Connection screen during sign-in; the listener is properly closed when navigating away from the screen or upon flow completion.
  • The Budget table column weight and scaling adjustments are presentation-only Compose layout changes; stored budget amounts, calculations, and database structures are unchanged.
  • The Display options sheet change is presentation-only.
  • No database schema, Merkle tree, encryption or sync-protocol changes.

Since 2.2.0

This release includes #1318 (table layout and column weights), #1320 (OpenID callback listener) and #1321 (always-expanded display options), plus the issues they close or reference (#1284, #1317 and #1319).

Actua 2.2.0

Choose a tag to compare

@github-actions github-actions released this 25 Oct 17:05
46ff0fe

Actua 2.2.0

Actua 2.2.0 lets pay periods and schedules follow your own working week: choose your weekend days, move
the month start day to the previous or next working day, list holidays to skip, and see weekend-skipping
schedules, and post them, on the dates that match. It also adds a target funding icon to Budget table
balance pills, with an option to hide it, and the Summary and Cash Flow cards now follow the month start day.
The Budget tab's menu is shorter, with its display switches in a collapsible Display options sheet, and you can switch
budgets from it. It also fixes six bugs.

Before you update

  • Weekend days, the working-day adjustment and the holiday list are device-local. They change what
    Actua shows on this device only; Actual and your other devices keep their own dates, and nothing about
    them is synced.
  • By default nothing changes: Saturday and Sunday stay the weekend, the month start day keeps its day, and
    there are no holidays.
  • A schedule's date in Actual does not change. Actua works out the date it shows from Actual's date, so
    another device or Actual itself still shows the original one.
  • The Budget tab's menu and Settings > Manage changed: display switches are under Budget menu > Display options, and the
    active budget picker is now Budget menu > Switch budget. The display switches stay device-local and keep your choices.
  • As always, let Actua finish syncing before you update, and keep an independent backup from Actual before
    using a new version with a real budget.

Added

Weekend days, working days and holidays

  • Weekend days and a previous or next working day option for the month start day in Settings > Budget, so a
    pay period that starts on the 25th starts on the Thursday when the 25th is a Friday or Saturday (#1294)
  • Schedules that skip weekends are shown on your chosen weekend days in Schedules, Home, upcoming rows, the
    bills calendar, the schedule widget and reminders (#1295)
  • Posting such a schedule dates the transaction on the date shown, as long as the schedule still reads as
    paid; exact-date and auto-posting schedules keep Actual's date (#1298)
  • A holiday list in Settings > Budget > Holidays that the working-day month start and weekend-skipping
    schedules skip like weekend days (#1299)

Budget

  • The target funding icon on balance pills in the Budget table view (#1289)
  • A Show goal icons option in the Budget menu that hides the target icons on balance pills in the table and plan views, on this device only (#1311)
  • A Switch budget row in the Budget tab's menu, shown when there is more than one local budget (#1316)

Changed

  • The Budget tab's menu is now Plan view, Expand all, Collapse all, Manage Categories, Switch budget and Display
    options. The display switches moved into a Display options sheet with collapsible sections (Page, Each category
    row, Categories shown) that show how many of their switches are on. It adds Show status dots and Color balances
    switches next to the existing ones, and Copy last month's budget moved to the Add to budget sheet (#1314)
  • Changing the budget type in Settings > Budget now asks for confirmation first, saying it applies on every device
    that syncs the budget (#1316)
  • The active budget picker moved from Settings > Manage to the Budget tab's menu (#1316)

Fixed

  • The Summary and Cash Flow cards ignored the month start day when their time frame was last month or a
    sliding window; Cash Flow now shows one bar per pay period (#1309)
  • The Cash Flow chart's month labels did not sit under their bars (#1308)
  • The weekend days description in Settings > Budget said holidays are not considered (#1307)
  • The Sankey card ignored the month start day when its time frame was the current month, last month or a
    sliding window (#1292)
  • OpenID sign-in hung in the browser when it opened an idle connection to Actua first (#1285)
  • Goal categories ignored the Goal in progress and Goal reached status colors on the dot and balance pill (#1288)

Compatibility and safety

  • Weekend days, the working-day adjustment and holidays are stored in Android SharedPreferences per
    budget and are never written to the budget file or synced. Actual has no equivalent setting.
  • A schedule's synced next_date and the post, skip and complete actions stay Actual's own Saturday/Sunday
    results. The only value that follows your weekend is the date of a transaction you post, and only when it
    still counts as paying that occurrence.
  • No database schema, Merkle or sync-protocol changes.
  • The main navigation host was restructured so its code stays under the JVM's method size limit; the
    screens and their behavior are unchanged.

Since 2.1.0

This release includes #1285, #1288, #1289, #1292, #1294, #1295, #1298, #1299, #1307, #1308, #1309, #1311, #1314 and #1316, plus the issues they
close or build on (#1284, #1286, #1291, #1293, #1296, #1297, #1305, #1306, #1310, #1312 and #1313). It also includes housekeeping changes
such as documentation updates.

Actua 2.1.0

Choose a tag to compare

@github-actions github-actions released this 23 Oct 05:12
2f8f26f

Actua 2.1.0

Actua 2.1.0 adds loan tracking with a payoff planner, a floating tab bar that gets out of the way
while you scroll, a month start day for people who are not paid on the 1st, goal and target icons on
Budget balance pills, and a Brazilian Portuguese translation with in-app language selection.

Before you update

  • The month start day is device-local. It changes how Actua groups months on this device only;
    Actual and your other devices keep showing calendar months, and no saved report is rewritten.
  • The tab bar now hides while you scroll down by default. Turn it off under Settings > Display >
    "Hide tab bar while scrolling".
  • As always, let Actua finish syncing before you update, and keep an independent backup from Actual
    before using a new version with a real budget.

Added

Loans

  • Loans screen in Settings to track a loan account's balance, interest rate, payment and payoff progress (#1255)
  • Projected payoff month for each loan (#1256)
  • Loan card on loan accounts with payoff progress, payment schedule and projected payoff (#1257)
  • Record loan payments split into interest, escrow and a categorized transfer, and pair a loan with a budget category (#1258)
  • Payoff planner with a burndown chart and a total-paid figure (#1262)
  • The paired category's monthly target on the loan card, with a per-month skip so budget template runs leave that category alone (#1263)

Credit cards

  • Billing-cycle card separates the last statement from the current cycle and shows previous-cycle spend and credit utilization (#1245)
  • Pay statement button that opens a prefilled transfer for the amount due (#1247)

Navigation and Budget

  • The bottom tab bar is a floating pill, keeping your tab order, the Add tab and the labels setting (#1265)
  • The tab bar slides away while you scroll down and returns when you scroll up, with a switch in Settings > Display (#1269)
  • Fully rounded Budget balance pills that show an icon when a category has a target (#1280)
  • Balance pills show how far a goal, save-by-date or cover-schedule target is funded: not started, in progress, reached or funded past it (#1281)

Reports and month start day

  • Custom report month presets (This month, Last month, Last N months) follow the month start day, so pay-period pie charts work (#1270)
  • Summary and Cash Flow cards default to the current pay period (#1272)
  • The Sankey card defaults to the last 6 pay periods (#1273)
  • The month start day setting moved from Customize Home to Settings > Budget (#1275)

Languages

  • Brazilian Portuguese translation with in-app language selection, covering navigation, Home, Budget, widgets, notifications, settings, transactions, imports and the demo budget, thanks to @edurbs (#1227, #1231, #1233, #1235, #1237, #1239, #1242)

Fixed

  • Accounts tab section and group headers showed a full-width square press highlight instead of a rounded one (#1267)
  • Transfers that carry a budget category now show that category instead of "Transfer" in the transaction list and details (#1260)

Compatibility and safety

  • Loan terms are stored in Actual's synced preferences table under actuali:loan:<accountId>, using
    Actuali's JSON fields plus a few optional keys Actuali ignores. Recording a payment writes its
    interest/escrow rows and transfer through Actual's CRDT message path as one atomic insert.
  • The month start day, the tab bar behavior and the pill icons are device-local presentation. Nothing
    about them is synced, and stored report and widget settings are never rewritten, so Actual keeps
    showing calendar months.
  • No database schema, Merkle or sync-protocol changes.

Since 2.0.0

This release includes #1223, #1226–#1229, #1231, #1233, #1235, #1237, #1239, #1242, #1245–#1247,
#1249, #1255–#1258, #1260, #1262, #1263, #1265, #1267, #1269, #1270, #1272, #1273, #1275, #1277,
#1280 and #1281, plus the issues they close (#1240, #1271, #1274, #1278 and #1279). It also includes
housekeeping changes such as release-workflow and documentation updates.

Actua 2.0.0

Choose a tag to compare

@github-actions github-actions released this 19 Oct 18:58
fb7955d

Actua 2.0.0

Actua 2.0.0 lets you budget entirely on your device. You can create or import a standalone budget
without a server, back up to your own Google Drive with encryption, build custom reports, import more
bank statement formats, and organise accounts into groups. Actua is now licensed under the GNU
General Public License v3.0.

Before you update

  • Actua is now GPL v3. Earlier releases were MIT-licensed; the credited upstream MIT code keeps
    its notices (see NOTICE.md).
  • Standalone budgets stay when you disconnect from a server. Only server budgets are cleaned up.
  • As always, let Actua finish syncing before you update, and keep an independent backup from
    Actual before using a new version with a real budget.

Added

Budgets and backups

  • Create, import, manage and upload standalone on-device budgets without a server (#1182)
  • Standalone budgets are preserved when you disconnect from a server, and their schedules are processed locally (#1176)
  • Optional Google Drive backup and restore with client-side authenticated encryption (#1183)
  • Switch the budget type between Envelope and Tracking under Budget Settings (#1161)
  • Delete a category group and reassign its categories to another group (#1162)

Accounts

  • Create, rename, reorder and assign custom account groups (#1158)
  • In-place edit mode for reordering accounts and managing groups (#1191)
  • Collapsible account groups, a flat favorites list and section-scoped reordering (#1193)
  • Custom pay cycle period on the Accounts monthly summary (#1175)

Transactions, rules and imports

  • Transfer lines in split transactions (#1155)
  • "Apply rule now" bulk execution and a live matching preview for rules (#1156)
  • Split rule formulas can read the parent transaction's fields (#1157)
  • OFX, QFX, QIF and CAMT.053 statement imports with stable-ID deduplication (#1159)

Reports

  • Custom report builder and dashboard card authoring with page management (#1163)

Play Store build

  • An optional one-time "Support Actua" purchase (#599)

Changed

  • Relicensed Actua to GNU General Public License v3.0 (#1202)
  • Report card headers expand on title tap and card management is consolidated (#1185)
  • Budget table amount columns fit their content with one shared size, giving names more room (#1209)
  • Budget display options use the same switches as the Accounts menu (#1212)
  • Reports header buttons use the same tonal pill as Budget and Accounts (#1214)

Fixed

  • UI freezes and ANRs during remote budget download and open (#1206)
  • The account transactions overflow menu showed checkboxes instead of switches (#1216)
  • Category details showed no recent transactions after filtering the Transactions tab (#1211)
  • Google Drive authorization failed; Actua now uses a registered OAuth client ID, with an optional custom ID (#1195)
  • The Add account dialog showed a group ID instead of the group name (#1189)
  • The "server session expired" banner no longer appears on standalone budgets (#1181)
  • Unreadable standalone budgets are no longer silently deleted during repository recovery (#1180)
  • Missing bottom padding at the end of the Reports tab (#1174)
  • Group header padding and spacing between grouped and ungrouped accounts (#1172)
  • A crash opening the manage account groups sheet from Reorder Accounts (#1165)

Compatibility and safety

  • Standalone budgets use Actual's database format and message log, and are exported and imported
    as Actual .zip archives. They stay on your device unless you upload them to a server.
  • Google Drive backups request only the drive.file scope and are encrypted on the device with
    authenticated encryption (key derived from your backup password) before upload, so Google cannot read
    them. See PRIVACY.md.
  • Account groups, split transfer lines, rule actions and imports write through Actual's CRDT message
    path, so they stay compatible with Actual.
  • No database schema, Merkle or sync-protocol changes.

Since 1.9.0

This release includes #599, #1155–#1159, #1161–#1163, #1165, #1172, #1174–#1176, #1180–#1183, #1185,
#1189, #1191, #1193, #1195, #1202, #1206, #1209, #1211, #1212, #1214 and #1216. It also includes
housekeeping changes such as documentation audits and Discord notification settings.

Actua 1.9.0

Choose a tag to compare

@github-actions github-actions released this 16 Oct 19:59
d6e76c9

Actua 1.9.0

Actua 1.9.0 redesigns Reports. Every chart is smoother and easier to read, almost every bar, point,
slice, node and day opens the transactions behind it, and each card has a full-screen view with a
time range and a data table. The rule editor can now add split actions, and pop-up messages use the
app's own style.

Before you update

  • Reports look and behave differently. Charts have axes and month labels, tooltips show the real
    value at each point, and tapping a bar, slice or day opens its transactions. Figures are unchanged;
    see "Compatibility and safety".
  • Calendar reports swipe between months. Long-press a day for its income and expense by category.
  • As always, let Actua finish syncing before you update, and keep an independent backup from
    Actual before using a new version with a real budget.

Added

Reports

  • A drill-down transactions sheet with the period, count and total, search, sorting, tap-to-edit and Open in Transactions (#1125)
  • Tapping an Income/Expense or Cash Flow bar opens that month's transactions (#1128)
  • Net Worth, Age of Money, Balance Forecast and Crossover use smooth line charts with value and month labels and a drag tooltip; Net Worth months open their transactions (#1129)
  • Donut reports gain slice gaps, one-tap slice drill-down, long-press focus and an "Other" slice for more than 12 categories (#1132)
  • Calendar reports gain month swipe, per-day bars with today highlighted and a long-press category breakdown (#1133)
  • Sankey reports draw names and shares inside the bars; tapping a node or flow opens its transactions (#1134)
  • Budget Analysis shows budgeted, spent and overspending bars with a balance line, and Monte Carlo shows shaded outcome ranges around the median (#1135)
  • Each report card opens full screen with a larger chart, a view-only time range and a data table (#1136)

Rules

  • The rule editor can create and edit split actions with fixed, percent or remainder amounts (#1122)

Changed

  • Reports dashboard widgets move their title and headline metrics into unified card headers (#1126)
  • Reports animate in (unless system animations are off), use one green/red colour language across cards, and read better with TalkBack and at large font sizes (#1137)
  • Pop-up messages such as "No network" and "Merged transactions" use the app's own colours and rounded style instead of a black bar (#1139)

Fixed

  • Tapping a day in the Calendar report opens its transactions directly instead of only selecting it (#1123)
  • Line chart axis labels show whole units and month labels no longer overlap (#1131)
  • The Budget overview card lines up To budget with Budgeted, Spent and Balance (#1141)

Compatibility and safety

  • Report figures are unchanged. Budget Analysis points gain an overspending amount (Actual's
    overspendingAdjustment) and Monte Carlo points gain 10th to 90th percentile values; the existing
    median, 10th percentile and success rate are identical for the same inputs.
  • Drilling into a chart reads your local budget with parameterized queries; nothing is written.
    The full-screen time range is applied in memory for that view only and is never saved to the
    Actual dashboard widget.
  • Split actions in the rule editor use Actual's stored rule format, so rules stay compatible with
    Actual.
  • No database schema, encryption, Merkle or sync-protocol changes.

Since 1.8.1

This release includes #1122 (split rule actions), #1123 (Calendar day tap), #1125 (drill-down
sheet), #1126 and #1137 (report cards), #1128, #1129, #1131, #1132, #1133, #1134, #1135 and #1136
(report charts), #1139 (pop-up messages) and #1141 (Budget overview alignment). It also includes the
project housekeeping changes #1099, #1101, #1103, #1105 and #1121 (store listing and README
artwork, release notifications and repository settings).

Actua 1.8.1

Choose a tag to compare

@github-actions github-actions released this 15 Oct 06:46
8d37579

Actua 1.8.1

Actua 1.8.1 fixes captured transactions and the Tasker plugin based on feedback on 1.8.0. It also
follows dark mode from the first frame, fits Budget table amounts on small screens, and adds an
option to show balances without pills.

Before you update

  • Tasker amounts are read more leniently. The action now takes the first number in the
    amount, so Rs. 1,234.50 or $10.69 work without cleaning them in Tasker first. With Type set to
    "From the amount's sign", -%amount turns a negative refund into money in. Type Debit or Credit
    still always decides the direction.
  • Captured payees keep their case. Payees from bank notifications, shared text and Tasker are
    no longer title-cased, so STARBUCKS 1234 stays as it is. Statement files (CSV, XLSX, PDF) are
    still title-cased, as in Actual. Rules and payee matching ignore case, as before.
  • As always, let Actua finish syncing before you update, and keep an independent backup from
    Actual before using a new version with a real budget.

Added

  • A Budget display option to show balances as plain amounts instead of on pills (#1091)

Fixed

Captured transactions and Tasker

  • Captured alerts from a card named "Credit" are no longer imported as income (#1074)
  • Rejected captured transactions no longer come back in Review captured (#1077)
  • A Tasker action whose amount variable wasn't set now says which variable was missing (#1075)
  • The Tasker action reads the amount's number even with currency prefixes like "Rs." or a doubled minus sign (#1081)
  • Captured, shared and Tasker transactions keep the payee's original case (#1093)

Appearance and layout

  • The splash screen follows the device's dark mode instead of always being white (#1079)
  • Status and navigation bar icons follow the app's Light or Dark appearance instead of the device's (#1086)
  • Budget table view amounts no longer get cut off in the overview and group totals on narrow screens or large text (#1087)
  • Budget table view category amounts stay on one line instead of being cut off at large text sizes (#1089)

Compatibility and safety

  • Captured, shared and Tasker transactions are still imported only from the review page or a
    notification's Import action, through the same atomic CRDT import path as statement files.
    Rejecting a capture only removes it from the device-local queue.
  • Keeping the payee's case changes only the text of new payees and imported_payee for
    Android-only sources; file imports still match Actual's title-casing.
  • Tasker amounts are still converted to integer cents; a broadcast with no number is rejected
    with a reason and nothing is queued.
  • The balance pill option, splash and system bar changes are presentation only.
  • No database schema, encryption, Merkle or sync-protocol changes.

Since 1.8.0

This release includes #1074, #1075, #1077, #1081 and #1093 (captured transactions and Tasker),
#1079 and #1086 (appearance), #1087 and #1089 (Budget table view), #1091 (balance pills option)
and #1085 (README artwork).

Actua 1.8.0

Choose a tag to compare

@github-actions github-actions released this 13 Oct 05:42
388c1e9

Actua 1.8.0

Actua 1.8.0 is the first release for Google Play's production track. It makes captured
transactions much faster to review: from bank notifications, shared text and Tasker. It also
marks what bank sync just added, adds reminders before scheduled transactions are due, and adds
Actual's Make transfer, keypad arithmetic and currency symbols after the amount.

Before you update

  • Capturing stays opt-in. Reading bank notifications needs both the capture switch and
    Android's notification access for Actua, and only the apps you pick are read. Captured
    transactions wait in a review queue on the device; nothing is written to your budget until you
    approve it. See PRIVACY.md.
  • Notifications are optional. Schedule reminders and capture notifications are off by
    default. Android 13 and later ask for notification permission when you turn either on.
  • Android 17 asks for Nearby devices access only for local servers. The permission is
    requested only when your Actual server's address is on your local network, and the Connection
    screen explains why.
  • As always, let Actua finish syncing before you update, and keep an independent backup from
    Actual before using a new version with a real budget.

Added

Captured transactions

  • Captured transactions can use a default account, and Review captured sets an account for all rows at once (#1067)
  • A Review captured launcher shortcut, and the Accounts tab icon counts waiting captures from any tab (#1068)
  • The Accounts tab shows how many captured transactions are waiting, and opens them on their own review page (#1052)
  • Captured transactions can post a notification to review them or import them with one tap (#1049)
  • Captured transactions start with the account you last chose for the same card or app (#1048)
  • Captured transactions each have their own account, so a queue for several accounts imports in one go (#1038)

Tasker and automation

  • A Tasker plugin action, Queue transaction, sends transactions to the review queue from a ready-made form (#1041)
  • The Tasker plugin form lets you pick the account from a list (#1043)
  • The import screen shows why the last Tasker broadcast was ignored (#1035)

Bank sync, schedules and transactions

  • Transactions added by bank sync are marked as new on their account until you view it (#1069)
  • Optional reminders before scheduled transactions are due (#1055)
  • Make transfer links two selected transactions in different accounts as one transfer, as in Actual (#1036)
  • The amount keypad has multiply, divide and equals keys (#1039)
  • Currency symbols can go after the amount, with or without a space, as in Actual (#1054)

Changed

  • The demo budget has a year of everyday activity and a fuller Reports dashboard (#1057)
  • Tasker's account extra now selects an account by its exact name, not only by digits in the name (#1034)
  • Updated Actua and developer website, support email and Discord links (#1030)

Fixed

  • The pending-capture badge now updates after clearing captures on Android 9 and 10 (#1063)
  • Android 17 asks for Nearby devices access only when the server is on a local network, and the Connection screen explains why (#1061)
  • Resetting the demo budget no longer duplicates its transactions as Uncategorized (#1059)
  • Captured alerts name the merchant or sender as payee, not the wallet or account the money moved through (#1047)

Compatibility and safety

  • Captured, shared and Tasker transactions are never written directly: they are imported only
    from the review page or a notification's Import action, through the same atomic CRDT import
    path as statement files.
  • The capture queue, remembered and default capture accounts, the Tasker token and bank-sync
    "new" marks are device-local, kept per budget where they name accounts, and never synced. Bank
    sync records only the ids of the rows it added; matching, updating and writing are unchanged.
  • Make transfer follows Actual's validForTransfer checks and links both legs in one CRDT batch.
  • Schedule reminders are planned on the device from the open budget's schedules and replanned
    after local writes and syncs; they never change a schedule.
  • Keypad arithmetic and currency symbol position change entry and presentation only; stored
    amounts stay integer cents.
  • No database schema, encryption, Merkle or sync-protocol changes.

Since 1.7.0

This release includes #1030 (website and contact links), #1034–#1035, #1041 and #1043 (Tasker),
#1036 (Make transfer), #1038, #1047–#1049, #1052, #1063 and #1067–#1068 (captured transactions),
#1039 (keypad operators), #1054 (currency symbol position), #1055 (schedule reminders),
#1057 and #1059 (demo budget), #1061 (Android 17 local network permission) and #1069 (bank-sync
new transactions), plus build and dependency updates #1024–#1027.

Actua 1.7.0

Choose a tag to compare

@github-actions github-actions released this 09 Oct 04:01
62de866

Actua 1.7.0

Actua 1.7.0 brings payees, budgets, categories, schedules, reports, tags, reconciliation, bank
sync and display formats in line with Actual, after a feature-by-feature audit of each against
Actual 26.9.0. It adds payee management, Actual's remaining budget actions, account group totals,
"Use last synced total" when reconciling, and a privacy-safe Diagnostics page for reporting
problems.

Before you update

  • Formats follow your budget by default. Currency, number and date formats, decimal places and
    balance hiding now come from the budget's settings in Actual unless you set them on the device.
    If Actua looked different from Actual before, it now matches; set a device override under
    Settings to keep your own format.
  • Yen, won and rial budgets show different amounts. Budgets in JPY, KRW or IRR used to
    show and accept amounts 100 times too small. They now use whole amounts like Actual. Stored
    amounts don't change, but amounts you entered in Actua while the bug was present may be 100
    times off; check them in Actual.
  • File imports behave like Actual. Imported payee names are title-cased, imported
    transactions are marked cleared, and an imported row that matches a transaction entered within a
    week updates it instead of adding a duplicate. Imports are also saved all at once.
  • Bank sync follows Actual's account settings. Each account's sync settings from Actual, such
    as skipping pending transactions or custom field mappings, now apply in Actua. Unlinking a bank
    account clears its synced balance and removes an unused GoCardless connection from the server.
  • Deleting a category that's in use asks where its money goes. A category with transactions or
    budget amounts now asks for a category to move them to, as Actual does.
  • Budget moves are capped and noted. Moving money out of To Budget, or covering a negative To
    Budget, can't move more than is available, and moves and covers add a "Reassigned …" line to the
    month's notes.
  • As always, let Actua finish syncing before you update, and keep an independent backup from
    Actual before using a new version with a real budget.

Added

  • A Diagnostics page in About lets you copy, save or email a privacy-safe report of recent app activity, including crashes and errors (#1020)
  • Reconciling a bank-synced account offers "Use last synced total" (#1000)
  • Reconciling shows when the account was last reconciled, and locking records the time for Actual too (#999)
  • Account groups in the Accounts list show their total balance (#925)
  • Budget actions from Actual: set budgets to a 3, 6 or 12-month average, copy one category's last month or copy it to the rest of the year, and hold income automatically (#917)
  • Moving or covering budget money adds a "Reassigned …" line to the month's notes, as Actual does (#915)
  • The payee picker suggests your favorite and most-used payees first (#904)
  • Manage payees: rename, merge, delete, favorite and turn category learning on or off (#903)
  • Categorising a payee's transactions creates or updates its category rule, as Actual's category learning does (#901)

Changed

  • Imported payee names are title-cased and imported transactions are marked cleared by default, as in Actual (#1018)
  • Every #tag in notes shows as a chip, and tags created from notes no longer get a default color (#991)
  • Currency, number and date formats, decimal places and balance hiding follow the budget's Actual settings unless set on the device (#979)

Fixed

Bank sync and imports

  • Importing a statement updates matching transactions entered within a week instead of adding duplicates, as Actual does (#1019)
  • Imports are saved all at once, keep the bank's order, and create both sides of a transfer a rule sets, as in Actual (#1017)
  • Bank sync follows each account's sync settings from Actual, such as skipping pending transactions or custom field mappings (#1016)
  • Unlinking a bank account clears its synced balance and removes an unused GoCardless connection from the server, as in Actual (#1015)
  • SimpleFIN accounts linked in Actua are included in Actual's "Sync all", and linked banks keep their name (#1014)
  • A newly linked bank account starts from the bank's balance, and later syncs keep the last synced balance, as in Actual (#1013)
  • Bank sync imports transactions without a bank id, keeps blank payees empty and stops turning # in bank notes into tags, as Actual does (#1012)
  • Bank sync clears a pending transaction once the bank books it, as Actual does (#1011)

Reconciliation

  • Reconciliation adjustments run through your rules, as in Actual (#998)
  • Reconciled transactions show a lock and can be unlocked after a confirmation, as in Actual (#997)

Tags

  • Tags match like Actual: ###tag isn't a tag, and tag views and report filters are case-sensitive (#990)
  • Renaming a tag also renames it in split-line notes (#989)
  • Re-creating a deleted tag brings it back instead of creating a duplicate that stopped Actual from syncing (#988)

Currency and formats

  • Amounts with hidden decimals round to the nearest whole unit like Actual instead of dropping the cents (#978)
  • Budgets in Japanese yen, Korean won or Iranian rial show and accept whole amounts like Actual instead of amounts 100 times too small (#977)

Reports and dashboards

  • Balance Forecast widgets set to the tracking budget project budgeted income and expenses, as Actual does (#970)
  • Markdown dashboard widgets show formatted text instead of Markdown syntax (#969)
  • Budget Analysis counts visible categories in hidden groups and handles unsupported filters as Actual does (#968)
  • The Age of Money chart follows its daily, weekly or monthly setting (#967)
  • Saved reports' All time range includes future-dated transactions, and averages start at the first transaction (#966)
  • Weekly reports and the report calendar start on the budget's first day of the week (#965)
  • Saved reports follow their sort, show-empty and trim-intervals settings, and chart the whole date range (#964)
  • Saved reports group off-budget and payee-less transactions as Actual does (#963)
  • Sankey reports net refunds against their category and leave out uncategorized transactions, as Actual does (#962)
  • A dashboard widget for a deleted custom report says so instead of showing other totals (#961)
  • Dashboard report widgets use Actual's default and quarter date ranges (#960)

Schedules

  • Editing a schedule can no longer give it another schedule's name (#943)
  • Schedules use the budget-wide upcoming length setting when they have none of their own (#942)
  • Upcoming transactions list every scheduled occurrence in the upcoming window, including paid and account-less schedules (#941)
  • Paid schedules move to their next date, and paid one-off schedules complete, as in Actual (#940)
  • Posting a transfer schedule moves the money into the other account too (#939)

Categories

  • Renaming or moving a category, or renaming a group, can't create a duplicate name, as in Actual (#932)
  • Moving a category no longer changes whether it's hidden, and new categories in a hidden group aren't hidden themselves (#931)
  • Deleting a category that's still in use asks for a category to move its transactions and budget to, as Actual does (#930)
  • The category picker lists categories by group in budget order and no longer shows categories from hidden groups (#924)

Budget

  • Budget months follow Actual's budget range: older budget rows no longer change To Budget, and the month picker only offers months Actual budgets ([#918](https://github.com/azimul-kabir/ac...
Read more

Actua 1.6.0

Choose a tag to compare

@github-actions github-actions released this 07 Oct 08:51
c2b483e

Actua 1.6.0

Actua 1.6.0 makes rules and budget templates behave like Actual: rules now run on
file, notification and bank-sync imports and on the other side of new transfers,
see earlier rules' changes, and apply template, formula and split actions, while
budget templates budget, round and set category goals the way Actual does. It also
adds a budget switcher at the top of Manage and a one-tap "cover the full
overspending" option when moving money.

Before you update

  • Rules now run in more places. Transactions imported from files, SMS or bank
    notifications, bank sync, and the other leg of a new transfer now go through your
    rules, as in Actual. If you relied on imports arriving uncategorized, review the
    rules that match them before importing.
  • Rules behave more like Actual. Each rule now sees the changes earlier rules
    made, contains/matches conditions on payee, category and account compare ids
    (as Actual does) rather than names, and template, formula and split actions
    created in Actual are now applied instead of being skipped. These actions are still
    edited in Actual; Actua's rule editor doesn't create them.
  • Budget templates can give different amounts. Simple, average, percentage of
    last month, refill with a weekly or daily cap, repeating save-by-date and schedule
    templates now match Actual, amounts are rounded to whole units when the budget
    hides decimals, and applying templates sets each category's goal, so underfunded
    and overfunded colors match Actual. Preview before applying, as always.
  • "Color budgeted amounts" is now "Color balances". The status color now sits
    behind the category's Balance instead of its Budgeted amount; your on/off choice is
    kept.
  • As always, let Actua finish syncing before you update, and keep an
    independent backup from Actual before using a new version with a real budget.

Added

  • Switch between downloaded budgets from a row at the top of Manage (#844)
  • Cover an overspent category's full amount in one tap from the Move Money sheet (#841)

Fixed

Rules

  • Rules now apply Actual-compatible templates, formulas and split actions, saving generated splits atomically (#888)
  • Bank sync runs rules before matching, so matched transactions get rule categories and renamed payees no longer leave the bank's name behind (#875)
  • Rules now run on the other side of a new transfer, like Actual (#874)
  • Rules now run on transactions imported from files and notifications, like Actual (#873)
  • Rules treat transfers like Actual in category-none and transfer conditions (#872)
  • Rule contains/matches conditions on payee, category and account now compare ids like Actual instead of names (#871)
  • Rules now see changes made by earlier rules, so chained rules such as rename-then-categorize work like Actual (#867)

Budget templates

  • Set budgets to zero now also clears income category budgets in tracking budgets, like Actual (#885)
  • Budget templates round to whole amounts when the budget hides decimals, like Actual (#884)
  • Average templates now count refunds and round like Actual (#883)
  • Percentage templates of last month's income now budget like Actual instead of nothing (#882)
  • Refill templates with a weekly or daily cap now top up to the month's full cap like Actual (#881)
  • Schedule templates for bills due in later months now save toward them like Actual's sinking fund (#880)
  • Repeating save-by-date templates whose date has passed now roll forward like Actual instead of budgeting the whole target at once (#879)
  • Budget templates now set category goals like Actual, so underfunded and overfunded colors match across clients (#878)
  • Applying budget templates now picks up #template notes written in other Actual clients (#877)
  • Simple budget templates such as #template 50 and #template up to 100 now budget like Actual (#876)

Budget and widgets

  • Budget table amounts now shrink to fit narrow screens and large font sizes instead of clipping decimals (#887)
  • The Upcoming Schedules widget now scrolls through every schedule in its period instead of showing only four (#870)
  • Status colors now tint the Balance instead of the Budgeted amount on Budget rows (#843)

Compatibility and safety

  • Rules are checked against Actual's own runRules (@actual-app/api 26.9.0) by a synthetic fixture of 149 transactions and 91 rules; every case matches, with no known divergences (#848, docs/RULES_PARITY.md)
  • Budget templates are checked against Actual's engine on two identical synthetic budgets across apply, overwrite and month-end cleanup, comparing budgeted amounts, goal and long_goal; no cells differ (#847, #849, docs/BUDGET_AUTOMATION_PARITY.md)
  • A two-client check makes the same 17 transaction edits through Actual and Actua against one actual-server 26.9.0 and found identical synced rows; Actua still writes some explicit null/zero cells Actual leaves out, which is intentional (#845, #846)
  • Rule-generated splits write the parent and its children in one atomic batch through the existing transaction writer; formula results are rounded to integer cents and an evaluation error leaves the field unchanged (#888)
  • Template goals are written to the category's goal/long_goal cells in the same atomic budget batch as the amounts (#878)
  • Status colors and table-amount sizing are presentation-only; stored amounts are unchanged (#843, #887)
  • No database schema, encryption, Merkle or sync-protocol changes

Since 1.5.0

This release includes #841 (cover full overspending), #843 (status color on
Balance), #844 (Manage budget switcher), #845 and #846 (two-client check), #847
and #849 (budget-template check), #848 (rules fixture), #867, #871, #872, #873,
#874, #875 and #888 (rules parity), #870 (Upcoming Schedules widget), #876–#885
(budget-template parity), and #887 (budget table amounts).

Actua 1.5.0

Choose a tag to compare

@github-actions github-actions released this 03 Oct 11:52
71f925d

Actua 1.5.0

Actua 1.5.0 adds an experimental Enable Banking bank sync for European banks,
lets you merge two transactions, search transactions by amount or date, choose
the day your Home summary period starts, and optionally color Budgeted amounts by
category status, with a new "Funded past goal" status. It also makes hand-entered
and duplicated transactions match Actual more closely.

Before you update

  • Enable Banking is experimental and off by default. Turn it on under
    Settings → Experimental. It needs an Actual server with Enable Banking
    available, an Enable Banking application whose allowed redirect URL is
    <your Actual server>/enablebanking/auth_callback, and it has not been tested
    against a live Enable Banking application yet. With the switch off, Bank Sync and
    accounts already linked to Enable Banking behave exactly as in 1.4.1.
  • Imported-payee rules no longer match hand-entered transactions. New
    transactions you type in Actua no longer store the payee as the imported payee,
    as in Actual, so a rule with an imported-payee condition only matches bank-sync
    and file imports. Existing transactions are not changed.
  • Duplicates are saved uncleared. Duplicating a cleared transaction adds an
    uncleared, unreconciled copy, so your cleared balance no longer changes.
  • Overfunded goal categories look different. A category with a goal whose
    balance is above the goal now shows a new "Funded past goal" status color
    (customizable in Settings → Budget → Category status colors) instead of "Goal
    reached" or its ordinary status.
  • As always, let Actua finish syncing before you update, and keep an
    independent backup from Actual before using a new version with a real budget.

Added

  • Experimental Enable Banking bank sync for European banks, switched on under Settings → Experimental (#833)
  • Optional status-colored Budgeted amounts on Budget rows, and a customizable "Funded past goal" status for categories above their goal (#831)
  • Choose the day your Home Income, Spent and Net summary period starts, for pay cycles that don't begin on the 1st (#830)
  • Transaction search now matches amounts and dates typed in the budget's date format, like Actual (#829)
  • Merge two selected transactions, such as a bank import and the same purchase entered by hand (#822)

Fixed

  • Duplicated transactions are now uncleared, like Actual, instead of keeping the original's cleared state (#828)
  • Hand-entered transactions no longer record their payee as the imported payee, so imported-payee rules and the Imported payee column match Actual (#827)
  • Categories with a cover-schedule or save-by-date automation plus a spending automation now show spending progress instead of a full goal bar (#820)

Compatibility and safety

  • Enable Banking follows Actual's enableBanking flag: the Application ID and private key go to your server's /enablebanking/configure and are not kept on the device, the bank's consent page opens in the browser, and a link writes the same accounts/banks fields Actual writes (one banks row per account). It does not yet cover business (non-personal) accounts, Actual's per-account "import pending" option, or starting-balance handling (#833, BACKEND_PARITY.md)
  • The Experimental switch is stored on the device only and is never synced (#833)
  • A new hand-entered transaction or split parent no longer writes an imported_description message; bank-sync and file imports still record it (#827)
  • Duplicates are written with cleared and reconciled off, including split children and both transfer legs; the schedule link is still dropped, which is recorded as a divergence in the transactions parity audit (#828)
  • Search reads a typed amount in integer cents (42.50 is exact; 42 matches 42.00–42.99) and a date in the budget's synced dateFormat; the whole-number and day-month rules follow the original request and have not been checked against Actual's source (#829)
  • The Home summary period is a device-local, per-budget display preference; it never changes budget months or stored data, and the default (day 1) is unchanged (#830)
  • Status colors and the Funded past goal status are presentation-only; stored budget amounts are unchanged (#831)
  • No database schema, encryption, Merkle or sync-protocol changes

Since 1.4.1

This release includes #833 (Enable Banking), #831 (budgeted status colors),
#830 (Home summary period), #829 (search by amount and date), #828 (uncleared
duplicates), #827 (imported payee), #826 (issue and PR templates), #822
(merge transactions), and #820 (spending progress for mixed automations).