emberfi

The ledger

Keyboard-first inline editing, real search, splits, tags, and locked-once-reconciled history.

The transactions ledger is where you'll spend most of your time in Ember, and it's built like a power tool: a dense, keyboard-first register where every edit happens inline, every action is undoable, and a reconciled row is locked for good. If you've ever wished your finance app felt like a well-tuned spreadsheet instead of a stack of modal dialogs, this is that.

Editing at the speed of typing

  • Inline everything. Click (or keyboard into) any cell — date, payee, category, memo, amount — and edit it right there. No edit screens, no popups blocking the page.
  • Keyboard-first. The register has a full shortcut vocabulary, a command palette (⌘K) that jumps to any account, payee, action, or page, and pickers you can drive entirely with arrows and Enter.
  • Undo, not "are you sure?". Ember doesn't nag you with confirmation dialogs. It saves, shows a toast, and gives you Undo. Destructive actions that genuinely can't be undone are the only things that ask twice.
  • Smart pickers. The payee picker learns your habits: choosing a payee pre-fills its usual category. Transfers live in the same picker — pick one of your own accounts instead of a payee and the paired entry is created on the other side automatically.

Search that speaks your language

The ledger search understands a real query grammar, not just substring match: multiple terms combine with AND, amounts support operators and ranges (>100, 25..75), and you can scope terms by field, direction, or date range. Type, hit ArrowDown, and you're on the first result.

Splits, tags, and related transactions

  • Splits divide one transaction across categories, with the parts always summing to the whole — enforced, not hoped for.
  • Tags are freeform colored labels you define, attach to any transaction, and filter by (filters combine, so vacation + reimbursable means both).
  • Related transactions connect entries that belong together — a purchase and its refund, an expense and the check that repaid it — so the story stays together.

Cleared, approved, reconciled

Ember uses the classic register discipline:

  • Uncleared → cleared as transactions match what the bank reports.
  • Approved means you've looked at it — new imports queue for a quick review pass instead of silently entering your books.
  • Reconciled means you've balanced the account against a real statement, and every reconciled row becomes read-only. Your history can't drift after you've signed off on it.

Reconciliation is a guided flow per account: enter the statement balance, check off cleared items, and lock the period. Balance snapshots record the result so your net-worth history stands on audited ground.

Recurring transactions

Rent, salary, subscriptions — define the cadence once and Ember posts them automatically, showing upcoming instances in a Scheduled group before they land. Cadences handle real-world rules (last weekday of the month, every second Friday) rather than just "monthly."

On your phone

Ember detects phones and serves a purpose-built mobile app: net worth and accounts on the home screen, a card-swipe review queue for approving new imports, and a searchable ledger with quick-add. The desktop register is one tap away when you need it.

See also