emberfi Join the waitlist
← All releases

Week of

A tag manager, reconciling against the statement, and a faster ledger

Tags have their own page for renaming and tidying, reconciling starts from the statement the month came from, and the ledger loads and searches noticeably faster on large accounts.

Beta

Ember is in private beta. These are the changes made that week. Join the waitlist for an invite.

A place to manage your tags

Tags could only be created from the transaction that needed one, so near duplicates piled up with no way to tidy them. The new Tags page in the Library lists every tag you have, with how often it is used, and lets you rename, recolor, and merge them.

Retiring a tag is reversible. An archived tag disappears from the pickers but stays on every transaction that already carries it. Only an archived tag can be deleted for good, and the confirmation states exactly how many transactions and split line items would lose it.

Reconcile a month against the statement it came from

Reconciling now starts from the Reconciliation heading on the account, which opens the statement view deliberately rather than leaving it as one more filter chip sitting next to search. Inside it:

  • The Bank date column shows when a row actually settled. A transaction your bank has not reported yet shows no bank date at all, rather than repeating the date you entered. A bank date that agrees with the ledger date is dimmed, so the rows that settled on a different day are the ones that stand out.
  • Search reaches past the period you are reconciling, so a row you are hunting for is findable even when it falls outside the open month.
  • The opening balance is editable in place, without leaving the reconcile view.
  • Reconcile says why it cannot lock. Clicking it on an account whose cleared rows are newer than the balance date your bank gave used to do nothing at all.

The ledger keeps up on a large account

Three separate things were making a big account feel heavy.

The ledger now arrives compressed. A four thousand row account used to send about three megabytes on every load; it now sends under two hundred kilobytes, and the page finishes loading in roughly a third of the time. Every edit that refreshes the list benefits by the same margin, so this compounds through a long editing session rather than only helping the first paint.

Typing in the search box no longer redraws the page behind it. On a three thousand row ledger, a keystroke that cost between 14 and 50 milliseconds now costs between 1 and 3, and no keystroke misses a frame. Mobile was the worse of the two and gained the most.

A long run of matching duplicates stays stable. Matching went sluggish after three to five in a row and then dead ended on an error that only a page reload cleared. Repeated matches are now handled one at a time, and if one does fail it explains itself and reloads the list instead of stranding you.

Matching a duplicate keeps the row you curated

When the same transaction arrives twice, once from a file you imported and once from your bank, matching them now keeps the copy you worked on. It used to keep whichever import happened to run first, which with a bank backfill that lands months after your upload usually meant the bank's version: its date, its auto-assigned payee, and its low confidence category replaced the ones you set.

A split transaction can be matched now, too. Before, a split had to be taken apart, matched, and rebuilt from memory. A split is always the row that survives, and it keeps its line items and its total.

Matching also stopped moving the cursor. After a match, pressing Down steps one row instead of jumping to wherever the mouse happened to be parked.

The same keys work from every cell in the ledger

Escape now discards the row in one press from any cell. In the date, payee, and category cells it took two, because the first press only closed the picker. Enter from a read view opens the row with the calendar already showing, which is what every other way into that cell already did.

Other keys that changed:

  • The amount cell opens on a plain 4 as well as $, so it costs one keystroke like every other cell.
  • Shift+C combines the selected rows, matching the other bulk shortcuts.
  • Page Up and Page Down keep moving after the first press.
  • The arrow keys reach the Scheduled group even when it is collapsed, and ArrowUp on the top row leaves the cursor where it is instead of dropping you into the search box.
  • Tab walks a whole split rather than stopping at the end of one line item.
  • Holding Alt and pressing a cell's key with several rows selected searches for all of their values at once, instead of one search per row.

Quality of life improvements

  • Import: You can find everything an import brought in by typing import: in the ledger search box and picking the upload by name, or import:bank for everything a bank sync brought. Typing import: alone lists your most recent uploads. The import detail screen links straight through to it.
  • Import: An account's recent imports read as a table, so the new and duplicate counts line up down the list and can be compared. Renaming an import no longer shoves the rows below it down the page.
  • Import: A bank transaction that mentions a merchant inside a longer note keeps the description your bank sent. A Venmo reimbursement described as an Uber Eats order used to import as a purchase from Uber Eats, with the note and the person it was owed to both gone.
  • Transactions: Columns share the spare width in the ledger instead of handing all of it to the memo column, so the date, payee, and category columns stop reading as cramped on a wide window.
  • Transactions: An entry carrying more than one bank record shows all of them, tabbed, and each control names exactly what it removes.
  • Transactions: You can mark a posted transaction related to a scheduled one that has not happened yet. A split line item's related mark is a real link you can click and count, like the one on a parent row.
  • Transactions: Marking rows related keeps your selection, so the batch you just related is still the batch you can categorize or tag next.
  • Transactions: The bulk action bar keeps the six actions people use daily in place and groups the rest into a More tray, instead of wrapping fourteen buttons onto three lines.
  • Transactions: When Combine is unavailable, the message names the rows that are blocking it rather than listing every rule at once. The entry drawer says Approved and Unapproved, matching the word used everywhere else.
  • Transactions: Duplicate and Make recurring can no longer fire twice on a fast double press, which used to create two copies.
  • Search: Results from other accounts appear once your in-scope results are short enough to take in at a glance, rather than piling up under a search that still matches hundreds of rows in the account you are in.
  • Tags: A tag you create from inside a transaction row shows on that row right away instead of only after a refresh.
  • Investments: Running Mark to Market twice in the same month no longer counts the first run's change a second time. Marking to market after deleting the day's existing mark records the new value, instead of reporting success and showing nothing.
  • Splits: A new split starts empty rather than pre-filled, and states the remaining difference once.
  • Categories: Dragging a category to reorder or nest it follows your cursor and shows where it will land.
  • Accounts: The summary strip above the ledger fits on fewer lines, giving back about thirty pixels of vertical space on every account.
  • Actions: Applying a split rule to a row from another account shows the transaction it created. It was created correctly every time but never appeared, so clicking twice quietly produced two.
  • Keyboard: The shortcut cheat sheet opens with Cmd+/ or Ctrl+/ on every page.
  • Email: A reply to a password reset email now reaches a person.
  • Ember: Ember now lives at emberfinance.app, and the links in its emails point there.