π§© Zerosum v1.5.6 β Splits in Full Detail
Tag every line, note every leg, and a wave of speed underneath. This release brings full per-child editing to split transactions β separate tags and a separate note for each split row, on desktop and mobile. Plus calendar-rule recurring (every 3rd Wednesday, last day of month, arbitrary intervals), loan-payment templates, multi-currency support, and a long stack of pending-review polish, fixes, and quiet perf wins.
βοΈ Splits, Now With Per-Line Detail
-
Tag each split row independently. Splits no longer share one tag set. The Costco run that's "groceries portion + household portion + electronics portion" can now have a different tag on each line β and they show up correctly in Spending by Tag, tag filters, and
#tagnamesearch. -
A note on every line. Each split row gets its own free-form note in addition to the parent transaction's note. Useful for itemizing "what was this $43.27 for, exactly" without polluting the top-level memo.
-
Same UX everywhere. Inline desktop edit, mobile drawer, pending-approval row, and the recurring template editor all carry the same per-row tag picker + note input. The top-level tag picker hides when you're in split mode (it's analytics-invisible there anyway), and bulk-tag from the toolbar disables when a split is in the selection β with a tooltip explaining why.
-
Carries through recurring. Make a tagged-and-noted split recurring and every spawned occurrence inherits the per-child metadata. No more re-tagging every monthly Costco run.
-
Saved-row rendering. Each split child line now shows its own tag chips and note text on both desktop and mobile saved views β what you typed in the editor is what you see in the list.
β Splits help-center article Β· Tags and splits
π Recurring β Calendar-Aware Rules
-
Every 3rd Wednesday. Recurring templates now support week-of-month rules: "1st Friday", "Last Tuesday", "3rd Wednesday" β for things like rent that lands on a specific weekday-of-month rather than a fixed day number.
-
Last day of the month. A dedicated "Last day" rule that handles 28/29/30/31 correctly across every month β bills that hit on the 31st no longer skip February.
-
Arbitrary intervals. Every 2 weeks, every 3 months, every 6 weeks, etc. Pick a unit (week/month/year) and a number β the engine handles the rest.
-
Loan-payment recurring. Loan payments can now be set up as recurring templates (previously blocked). Backed by tightened recurring eligibility so system-kind transactions stay out.
π Multi-Currency Support
- 0, 2, and 3-decimal currencies. Yen (Β₯), KWD (3 decimals), and standard 2-decimal currencies all render and parse correctly throughout the app β display, input, CSV export. Pick your currency in budget settings and amounts behave consistently everywhere.
π Calendar β Daily Net Totals
- See each day's net at a glance. The calendar now shows a net (inflow β outflow) total under each day cell. The legacy "Add" button on the calendar header is gone β adding a transaction goes through the same dialog as the rest of the app.
π Pending Review β Bulk Polish
-
Progress toast + spinner. Bulk-approve and bulk-reject now surface a progress toast while the work runs, with a spinner so you know it didn't get lost.
-
Staged-edit selection. Edits made during pending review are remembered when you toggle selection β you don't lose your category or payee picks if you accidentally untick + retick a row.
-
Reconciled empty state CTA. When the pending list is empty because everything is reconciled, a helpful "go to pending review" link replaces the dead-end blank state.
π¦ Accounts Page Redesigned
-
Mirrors the sidebar. The Accounts list now follows the same tree + group ordering as the sidebar, so jumping between the two views doesn't feel like a different app.
-
Sync dot colors that match. Green / yellow / red sync dots are now consistent between the sidebar avatar and the accounts page header β and the dot anchors cleanly to the account avatar instead of drifting.
β‘ Speed Wins
-
Bulk operations, hardened. Move, duplicate, delete, bulk-edit, and bulk-approve all chunk requests at 100β500 transactions and use single
updateMany/createManywrites server-side. Working with hundreds of rows at a time is now snappy instead of stuttery. -
Dialogs preload on intent. Hover or focus a button that opens a dialog and the chunk loads in the background β by the time you click, it's instant. Applied across 9+ commonly-used dialogs.
-
Mobile tap reliability. Killed iOS Safari's 300ms tap-delay penalty across the app and tightened the numpad press feedback. Inputs feel native again on iPhone.
π οΈ Fixes & Polish
-
Currency input β strict to your budget format. Typing
1,000no longer auto-converts to1000if your budget uses comma-as-decimal. Format follows the budget setting precisely. -
Currency paste handles thousand separators. Pasting
1,234.56into an input no longer drops the trailing digits. -
Edit Starting Balance / Balance Adjustment rows. These previously-locked rows can now be edited where it makes sense (note, cleared, date) without breaking the engine.
-
Refresh payee recent-category cache. The "recently used categories for this payee" suggestions now update immediately after you save a transaction, not on the next page load.
-
Pending approval β no more flash. Approving a row no longer flashes the empty state for a half-second before the row disappears. Bulk approve is the same.
-
Charts β no re-animation on tab nav. Switching analytics tabs no longer re-runs the chart entry animation if you've already loaded that view.
-
Pending bulk approve disable. The Approve button correctly disables when any selected pending row is missing a required category for a budget or credit-card outflow.
-
CC accounts ordering. Credit-card accounts are now sorted within their group in the picker to match the sidebar order.
-
Numpad backspace. After deleting digits, the next typed digit now appends instead of replacing.
π Help center
-
Tags β added per-split tag guidance: how to apply tags to split children, how the bulk-tag flow handles splits, and how per-child tags propagate through recurring templates.
-
Transactions β splits β added a callout covering per-line tags + notes, and noted that the parent tag picker is hidden in split mode.
-
Help center β RTB formula β cleaner copy on the Ready-to-Budget formula and dropped a stale refunds callout.