Help / Transactions

Assigning a category to a transaction

Categorizing a transaction is how it ends up in reports. There are three ways a transaction gets a category: you assign one manually, a rule assigns it automatically on import, or an import maps it from a column in your CSV. This page focuses on the first — the manual flow in the transactions table.

Pick from the category dropdown

  1. Click the Category cell in the row you want to categorize.
  2. Start typing. The dropdown filters to show matching categories, displayed as Group > Name (for example, Food & Dining > Groceries).
  3. Click the one you want, or press Enter with the correct item highlighted.

The dropdown is strict — you can only pick a category that already exists, not type a free-form value. If the category you need isn't in the list, see the next section.

Create a category on the fly

If no category matches what you typed, the dropdown shows a Create Category... option at the bottom. Click it (or press Enter with it highlighted) and a small form opens with:

  • Type — Expense, Income, or Investment. Defaults to Expense.
  • Group — the heading this category will live under (e.g., Food & Dining). You can pick from an autocomplete of groups you've used, or type a new one.
  • Name — the subcategory name. Pre-filled with whatever you typed in the dropdown, so if you typed Groceries, you'll see that already populated.

Click Create and the category is saved and assigned to the transaction in one step.

Unassigning

To remove the category from a transaction, clear the cell (select it, hit Backspace or Delete, and press Enter). The transaction is then "uncategorized" and won't show up on any category's detail page, though it will still appear in the Cashflow dashboard totals based on its sign (positive amounts add to Income, negative to Expenses).

Bulk categorization

There's no built-in bulk-categorize UI in the transactions table. If you have a pile of transactions that should all get the same category, the usual approach is to write a rule whose memo pattern matches their common memo prefix, and then the rule applies to any future imports as well. For one-off cleanups, editing each row individually is fast enough thanks to inline editing and keyboard navigation.