Editing Transactions
Learn how to efficiently edit your transactions in moneyflow using keyboard-driven bulk operations.
Single Transaction Edits
In detail view, edit individual transactions:
| Key | Action |
|---|---|
| M | Edit merchant name |
| C | Edit category |
| H | Hide/unhide from reports |
| X | Delete transaction (with confirmation) |
The cursor stays in place after editing, so you can quickly edit multiple transactions by pressing the same key repeatedly.
All edits are queued (not committed immediately) so you can review them before saving.
Note: Delete is different - it executes immediately after confirmation (not queued). This is because deletion is irreversible and should be done carefully.
Edit Merchant Modal
When you press M to edit a merchant, the edit modal shows:
- Input field with the current merchant name (pre-filled)
- Autocomplete suggestions showing existing merchants that match your typing
- Your exact input as "create new" option - displayed in quotes:
"Your Input"
Selecting existing merchants:
- Type to filter the list of existing merchants
- If exactly one match: press Enter to auto-select it
- If multiple matches: use arrow keys to select, then Enter
Creating new merchants:
- Your typed input always appears in the list as "Your Input" (in quotes)
- Press down arrow to navigate to this option
- Press Enter to create a new merchant with exactly that name
Example workflow - Consolidating "Amazon" merchants:
Scenario: You have "Amazon.com", "AMZN Mktp US", and want to rename both to "Amazon"
- Navigate to first Amazon transaction, press M
- Type "Amazon" → see:
- "Amazon.com" (existing match)
"Amazon"(create new)- Press down arrow twice → highlights
"Amazon" - Press
Enter→ creates new merchant "Amazon" - Navigate to next transaction, press M
- Type "Amazon" → now see:
- "Amazon" (existing - the one you just created)
- "Amazon.com" (existing)
"Amazon"(create new - but you want the existing one now)- Press
Enter→ auto-selects existing "Amazon" merchant
This workflow gives you precise control over merchant names while making it easy to select existing ones.
Multi-Select in Detail View
Select multiple transactions to edit them all at once:

- Press Space on each transaction you want to edit
- A
✓checkmark appears - Press M to rename merchant for all selected
- Or press C to recategorize all selected
- Or press H to hide/unhide all selected
- Or press X to delete all selected (with confirmation)
Example: Recategorize 3 transactions
- Navigate to transactions
- Space on transaction 1 → ✓
- Space on transaction 2 → ✓
- Space on transaction 3 → ✓
- Press C → Select category modal
- Choose category → All 3 transactions queued for update
Bulk Edit from Aggregate Views
Single Group Edit
From any aggregate view (Merchants, Categories, Groups, Accounts), press M, C, or H to edit ALL transactions in that group:

Example: Rename a merchant (all transactions)
- Press G until "Merchants" view
- Navigate to "AMZN*ABC123"
- Press M → Edit merchant modal
- Type "Amazon" and press Enter
- ALL transactions for that merchant are renamed

Multi-Select Groups (NEW!)
You can now select multiple groups and bulk edit all their transactions at once:
Example: Recategorize multiple merchants
- Press G until "Merchants" view
- Press Space on "Amazon" → ✓ appears
- Press Space on "Walmart" → ✓ appears
- Press Space on "Target" → ✓ appears
- Press C → Edit category modal
- Select "Shopping" → ALL transactions from all 3 merchants recategorized!
Available bulk operations: - M - Rename merchant for all transactions in selected groups - C - Change category for all transactions in selected groups - H - Hide/unhide all transactions in selected groups from reports
This works in all aggregate views:
- Merchants view - Select multiple merchants, edit all their transactions
- Categories view - Select multiple categories, edit all their transactions
- Groups view - Select multiple groups, edit all their transactions
- Accounts view - Select multiple accounts, edit all their transactions
- Sub-grouped views - Select multiple sub-groups, edit all their transactions
Visual indicators:
✓- Group is selected*- Group has pending edits✓*- Group is selected AND has pending edits
Workflow Examples
Clean Up All Coffee Purchases
Goal: Rename all coffee-related merchants to consistent names
- Press / → search "coffee"
- Merchants view shows filtered results
- Space on "STARBUCKS*123" → ✓
- Space on "Starbucks Coffee" → ✓
- Space on "SBUX*456" → ✓
- Press M → Edit merchant
- Type "Starbucks" → All renamed
- Esc → Clear search
- See consolidated "Starbucks" merchant
Recategorize Online Shopping
Goal: Move Amazon, eBay, and Etsy to "Online Shopping" category
- G to Merchants view
- Space on "Amazon" → ✓
- Space on "eBay" → ✓
- Space on "Etsy" → ✓
- Press C → Edit category
- Type "online" to filter → Select "Online Shopping"
- All transactions from 3 merchants updated
Analyze Then Edit
Goal: Find expensive groceries from specific stores
- G to Categories → Enter on "Groceries"
- G to see "(by Merchant)"
- Space select expensive merchants
- Press C to recategorize to "Dining Out" (maybe they weren't groceries)
Undo Pending Edits
Made a mistake while queueing edits? Press u to undo the most recent pending edit.
How it works:
- Removes last edit - Edits are undone in reverse order (last in, first out)
- Press multiple times - Each
upress removes one more edit - Preserves position - Cursor and scroll stay where they are
- Shows feedback - Notification displays: "Undone {Field} edit (N remaining)"
- Pending only - Committed changes cannot be undone
Example workflow:
- Edit merchant - Change transaction 1 merchant → queued
- Edit merchant - Change transaction 2 merchant → queued
- Edit category - Change transaction 3 category → queued
- Press
u- Undoes category edit (most recent) - Press
u- Undoes merchant edit on transaction 2 - Press
u- Undoes merchant edit on transaction 1
When to use:
This is useful when you've queued multiple edits and realize one was a mistake, without having to discard all your pending changes.
Review Before Commit
All edits are queued locally until you commit:
- Press W to review all pending changes
- See table showing: Type | Transaction | Field | Old Value → New Value
- Press Enter to commit
- Or press Esc to cancel and return without committing
The * indicator shows which transactions/groups have pending edits before you commit. If you need to remove edits before reviewing, use u to undo them one by one.
Tips
Multi-Select Strategy
- Use Space liberally - select all items you want to change
- Edit once instead of editing each item individually
- Especially powerful for cleaning up messy merchant names
Combine with Search
- Search to filter
- Multi-select from results
- Bulk edit
- Clear search to see full results
Aggregate View Power
- Select entire groups (merchants/categories) with one Space
- Edit hundreds of transactions across multiple groups in seconds
- Much faster than selecting individual transactions
Visual Feedback
✓shows what you've selected*shows what has pending edits- Both can appear together:
✓* - Review screen shows all changes before committing
Summary
| Context | Key | Action |
|---|---|---|
| Any view | Space | Select current row |
| Detail view | M / C / H | Edit selected transaction(s) |
| Detail view | X | Delete selected transaction(s) |
| Aggregate view | M / C | Edit transactions in current group |
| Aggregate view (multi-select) | M / C | Edit transactions in ALL selected groups |
| Any view | U | Undo most recent pending edit |
| Any view | W | Review pending changes |
| Review screen | Enter | Commit all changes |
| Review screen | Esc | Cancel (keep edits queued) |
Multi-select works consistently across all views for maximum productivity.