emberfi
← All releases

Week of June 15, 2026

A clearer ledger, filterable net worth, and wider keyboard access

The transactions register is easier to read at a glance, the net worth report can now be narrowed to the accounts and dates you're actually asking about, and a great deal more of the app answers to the keyboard.

Beta

Ember is in private beta and under active development. These are the changes made during that week of building and testing.

A register you can read at a glance

Ledger rows now use the same size and weight as the sidebar, a little larger and a little bolder than before, with the sub-text beneath them raised to match. Nothing moved; the table just got legible from a normal sitting distance.

Two changes to how the amount column reads. On a wide screen it splits into Outflow and Inflow, and those halves are now genuine columns with their own headers and widths rather than two values offset inside one cell; they fold back into a single signed Amount column when the window narrows. And when the register runs out of room, every flexible column now gives up a little width instead of the memo column absorbing all the pressure alone, so Amount and the row actions stay on screen rather than sliding off the right edge.

The status column changed too. Cleared and reconciled rows are marked with a small c and R on tinted discs, replacing a checkmark that had been shrunk to eight pixels and a color padlock emoji that was the only multi-color thing in the ledger. A reconciled row is still read-only; it just says so more quietly. Pending, uncleared, and bank-removed markers are unchanged.

Clicking an amount now does what you'd expect. Clicking the value on a brokerage row opens the editor with the cursor on quantity instead of stranding it on the date, and clicking an Outflow or Inflow figure opens the editor at all, which it previously didn't. Empty amount boxes show a 0.00 hint so the expected format is obvious on a fresh row.

More of the app answers to the keyboard

Around twenty changes went into keyboard access this week, in three groups.

Focus you can see. The row selection checkboxes, the plain text fields in the row editor (quantity, price, memo, the amount lanes), and the rows of the Holdings positions tree all had no visible cursor when you tabbed onto them. They do now, which matters most in the compound investment cell, where quantity, price, and memo sit side by side and nothing told you which one you were typing into.

Focus that comes back. Dismissing the tag picker with Enter, committing or cancelling a scheduled or future-dated cell, and overriding an auto market-change amount all used to drop you at the top of the document, so your next Tab restarted from the beginning. Each of them now returns you to the cell you were on.

Controls that were mouse-only. The sortable column headers on Holdings and on Balances, the institution rows on Connect Accounts, the Theme and Density options in Settings, and the market-change override in the wide layout could all be seen but not reached. Theme and Density also behave like real option groups now: arrow keys move between them, and Tab enters the group once rather than stepping through every option.

Shortcuts picked up a few repairs as well. On an investment row, k opens the Type picker. It was previously a dead key, leaving the most-edited field on a brokerage row three keystrokes away. Pressing t on the same row does nothing, rather than jumping you into editing on the date field, because investment rows carry no tags. Home and End jump to the first and last option in the Type and cost-basis pickers. Enter saves an institution nickname instead of requiring the mouse. And activating a ticker filter from the keyboard no longer also opens the row underneath it for editing.

The investment row editor says what it wants

The brokerage row editor changes shape with the type of row you're recording, and several of its fields weren't keeping up. A reinvested dividend asked for a "position amt"; interest and dividend payouts asked for a bare "amount". Each value field is now named for the row it belongs to. Interest and fee rows no longer prompt you to pick a security, which they never needed.

When a value is refused, you can now see why and where. Every value field, not just quantity and price, draws a red border on a bad entry, and the message beneath it is written in the terms on screen ("Enter a positive dollar amount") rather than the name of a database column. Switching a row's type clears any error left over from the previous shape, which used to sit there naming a field the row no longer had. When only the price is wrong, the cursor lands on price instead of one field short of it.

A memo typed on a Buy, Sell, or Reinvest row used to vanish on save: it was stored, but the ledger showed only 100 sh @ $182.50 where the note should be, with no way back to it short of reopening the editor. Memos now show. A memo also survives the moment a cash row turns into an investment row when you pick a security, instead of being wiped. Overriding a market-change amount accepts a figure pasted straight off a broker statement ($1,234.56, commas and dollar sign intact) and raises the number keypad rather than the full keyboard on a phone. An opening position can no longer be inline-edited to a negative number, which used to book a negative asset into your net worth. And on a brokerage account, the Uncleared figure now shows that it breaks into cash and positions, which was only discoverable by hovering it on the off chance.

Transfers between your own accounts stop doubling up

When a transfer arrived as an import on both of your linked accounts, Ember could make the problem worse rather than better. Converting one side into a transfer fabricated a fresh leg on the destination account even when your bank had already delivered a real one, and once you had two pairs there was no way to get back to one, especially if a leg was reconciled.

Converting a row into a transfer now looks for the matching bank-imported row on the other account and pairs with it, so it stops creating the duplicate in the first place. For duplicates you already have, selecting both legs collapses all four rows down to two, keeping the bank-linked or reconciled row on each side and re-pairing them; if the surviving row is reconciled you're asked to confirm first, and the whole collapse undoes in one step. It's held to a short date window so two genuinely separate transfers of the same amount can't be swept together.

Separately, merging a transfer leg with a plain bank row now carries the transfer pairing onto the row that survives, so the far leg on the other account no longer ends up pointing at a row that's gone.

Net worth, narrowed to what you're asking about

The net worth report answers a broader set of questions this week.

One page for your actions

The Actions page is now a single list of everything you've set up, split rules and the Venmo charge configuration side by side. The Venmo row is always present, even before you've configured it. It used to sit in a separate form below the rules, which made it easy to never find.

Each row tells you what the action does and where it appears: the right-click menu, a keyboard shortcut, the bulk bar, a page, or a warning that it's currently attached to nowhere. An on and off switch on the row takes effect as soon as you flip it, and selecting a row opens its editor underneath in place rather than swapping panes. The page was also close to unreadable in light mode (pale grey text on white) and now renders correctly in light, dark, and both densities.

Improvements

Fixes