Transaction screen

Transaction

The single editor for every transaction shape — a regular expense, a transfer between two of your accounts, or a split across multiple categories. Mode chips at the top swap which fields are visible.

Mode

  • Regular — one account, one category, one amount. Income or expense is inferred from the category's classification.
  • Transfer — one source account, one target account, one amount. Writes a balanced pair of legs and does not contribute to spending or income totals.
  • Split — one account, one total, multiple category rows that sum to the total. Each leg can also be a transfer.

Date

The ◀ / text / ▶ / 📅 stepper. The arrows nudge by one day; the text opens the system date picker. Tapping the arrow on an empty field seeds today.

Account

Which of your accounts this entry posts to. Required. Locked when you opened this editor from inside one account's detail screen. A fresh entry opens on the account you last saved a transaction to, and the quick-pick chips are your most-used accounts.

Payee

Free-text with autocomplete from past entries — suggestions are ranked by how often (and how recently) you use each payee, and the top ones appear as soon as the field is focused. Typing a new name creates the payee on save. Picking an existing payee pre-fills the category (and classifications) from its last entry; if you already typed an amount, a small Last time: … chip appears under the Amount field instead — tap it to swap in the payee's usual amount.

Amount

The calculator field. Sign is owned by the leading ± / − chip. Paste-friendly: (25,00), −1'234.56, $1,234.56 all parse cleanly. The calculator icon opens a full-keypad sheet with copy / paste / sign-flip chips.

Paying in a foreign currency (a card abroad, a EUR receipt into a CHF account)? The calculator sheet has a Type in currency rail under the display: tap a currency chip to type the foreign amount and watch the converted value track live. The rate pill shows the stored rate at the transaction's date — tap it to edit the rate on the keypad, or tap the converted line to type what your bank actually charged and let the rate derive itself. The + chip searches the full currency catalog for currencies the book hasn't met yet; rates you commit are saved and reused both ways.

Category (regular and split modes)

The category this leg books to. In split mode, every row carries its own category, and the per-row arithmetic must sum to the header amount before Save is enabled.

Transfer to (transfer mode)

The destination account. Cross-currency transfers prompt for the target-side amount so the FX rate is captured per row. The destination amount is prefilled from the stored rate and stays editable; its calculator opens with the source leg pinned, so typing the received amount adjusts the implied rate live.

Split rows (split mode)

Switching to Split seeds the first row for you, pre-filled with the full amount. Tap + Add leg to append more — each new row arrives carrying the remaining difference, so a two-way split only needs the first amount typed. Each row has a small × to remove it. The footer pill shows how far the split sum is from the header total; Save unlocks at zero.

Status

The reconciliation status. Most users leave this on the default (Entered). The four states are Entered (grey, default for any row you just typed in), Pending (amber dot — the bank shows it as pending), Cleared (✓ — the bank has posted it), Reconciled (✓ green — you locked it from a finished reconcile session). Reconciled is set by the reconciliation flow, not by hand here.

Abandoned

Toggle off the entry without deleting it. Abandoned rows render struck through in lists and don't count toward any balance, budget, or report total. The data is preserved so you can revisit your reasoning later or restore the row (toggle off Abandoned). Use this for refunds you never want to delete, mistaken duplicates kept for the paper trail, or any row you want history of without arithmetic.

Follow-up

Toggle on when this row needs your attention later. Flagged rows show a clock icon in the list as a personal reminder; the engine doesn't act on the flag itself.

Two optional fields appear under the toggle:

  • Follow-up date — when you want to be reminded. As soon as the date comes up, the Transactions tab shows a cyan counter badge with the number of follow-ups due. Tap the tab to find them in the list.
  • Follow-up notes — what to follow up on (a refund to chase, a receipt to file, a category to revisit). Free text, indexed by the global search.

Notes

Free-text memo, up to 255 characters. Indexed by the global search.

When you opened this editor on one leg of a transfer, a small "Related transaction" link jumps to the other leg.

Duplicate (edit only)

Editing an existing transaction shows a copy icon in the header. It opens a fresh entry pre-filled from the row — account, payee, amount, category, splits or transfer legs, notes — ready to tweak and Create. The copy always starts as Entered, with the cheque number cleared.

Saving

The Save button lives in the top-right. The form blocks save while required fields are empty or the split sum doesn't balance — the offending field shows a red ring. Errors from the database (FK violation, currency mismatch) surface as a banner above the form.

Quick entry

Type a whole transaction as one line in the search bar (⌘/Ctrl+K, or the rail's search button) and pick the ⚡ row — the editor opens with every field primed for you to check and Save:

42.50 whole foods yesterday #groceries @checking // team lunch

  • Amount — the first number. Plain or - = expense, + = income. A currency symbol or code next to it is ignored (the account's currency governs).
  • Payee — the words left over. A known payee is matched (its usual category and amount autofill as if you'd tapped it); anything else becomes a new payee on save.
  • Datetoday / yesterday / tomorrow (in any app language), a weekday name (the most recent one), 15.08 / 8/15 in your display locale's order, 2026-08-15, 15 aug, 1st. Default today.
  • #category#groceries, #food:groceries, #eating out.
  • @account — the source account. On an account's own screen it defaults to that account, else to the last account you used.
  • > account — makes it a transfer to that account (500 @checking > savings).
  • // notes or a "quoted run" — notes.

Everything is order-free. Unmatched names show with a ? in the row so you can fix them before saving.

  • Save without the editor — ⌥/Ctrl+Enter on the ⚡ row (or its trailing ✓✓ button) commits the line as-is: a known payee's usual category fills in, a new payee is created, a transfer needs both accounts resolved in the same currency (else the editor opens).
  • Planned occurrences — a payee that has a plan due (netflix 17.99) also offers Enter planned (editor primed from the occurrence, your typed amount wins; ⌥/Ctrl+Enter accepts it as-is). Prefix a verb to act directly: skip netflix skips the occurrence, accept netflix (or enter / post) posts it as-is. Verbs work in every app language (überspringen, passer, salta, omitir, overslaan / annehmen, accepter, accetta, aceptar, accepteren).

Report an issue

Found a bug, or something confusing? Tell us — it opens a tracked issue we follow up on. Alpha feedback is gold.

The page you're on, your browser, and locale are attached automatically. No account or financial data is ever sent.