Skip to main content

Transactions

Transactions are the day-to-day entries that drive Sure’s budgets, reports, and account history. Use the Transactions screen to review imported activity, add manual entries, categorize spending, and keep related labels such as merchants and tags tidy.

Review transactions

Open Transactions from the main navigation to see recent activity across your accounts. From this screen you can:
  • Search and filter by account, date, type, status, amount, category, tag, or merchant. The merchant filter includes a No merchant option to show only transactions without an assigned merchant; the tag filter includes an Untagged option to show only transactions with no tags.
  • View a summary of the count and total amounts for your current filter
  • Click anywhere on a transaction row to open its detail drawer
  • Add a new manual transaction
  • Import transaction data from a CSV file
  • Review upcoming recurring transactions
  • Convert eligible investment cash activity into a security trade

Tags in the transaction list

Tags are shown directly on each transaction row so you can see at a glance which tags a transaction carries. On wider screens, a dedicated Tags column appears. A single tag renders as a colored pill. Multiple tags collapse into a compact badge showing the first two letters of each tag; hovering the badge reveals all tag names. On narrower screens and on mobile, tag pills appear inline after the transaction title. To change the tags on a transaction without opening its detail drawer, click any tag pill (or the add-tag icon) on the row. A searchable picker opens where you can toggle tags on or off. Each click applies the change immediately without closing the picker. Transfer rows display tags as read-only in the list; edit tags for a transfer from its detail drawer, which keeps both legs in sync. Tags can only be added or removed by users who have annotate permission on the account. Pending transactions are visible in your transaction list but are excluded from account balance calculations. Balances reflect only settled (posted) transactions. Once a pending transaction posts, it is included in balance and report totals. If Sure detects that a pending transaction might duplicate a posted one, you can merge the duplicate or keep both transactions.

Add a manual transaction

To add a transaction that was not imported from a provider, select Add transaction from the Transactions screen. Fill in the date, amount, account, and any other details, then save. If you submit the form more than once — for example by double-clicking the save button, using the browser back button, or restoring a cached tab — Sure detects the repeated submission and opens the existing transaction instead of creating a second one.

Edit transaction details

Click anywhere on a transaction row to open it and update the fields that affect reporting and review:
  • Name: The display name for the transaction
  • Date: The transaction date
  • Amount: The transaction amount and direction. When you change the currency selector, the amount field’s symbol, decimal step, and precision update immediately to match the selected currency. You can paste formatted amounts — such as 20,000, 1.234,56, or $1,234.56 copied from a bank statement or spreadsheet — directly into any money field. Sure parses the value and inserts the plain number. When the pasted amount is ambiguous (for example, 1,234 could be one-thousand-two-hundred-thirty-four or one point two-three-four), Sure uses the decimal separator of the selected currency to decide: pasting 1,234 into a euro field yields 1.234, while the same paste into a US dollar field yields 1234. Amounts in parentheses are treated as negative. Text that does not match a recognizable amount is left to the browser.
  • Account: The account the transaction belongs to. When adding a new transaction, the account selector includes a search box so you can find the right account quickly.
  • Category: The income or expense category used for budgets and reports. Subcategories appear indented under their parent in every category selector across the app, so the hierarchy is always visible when you assign or change a category. The “Uncategorized” option is displayed as a badge in the category selector, consistent with how other categories appear, making it easy to identify at a glance.
  • Merchant: The merchant or payee associated with the transaction
  • Tags: Extra labels for flexible filtering. When you filter by one or more tags, the summary count and totals reflect each matching transaction once, even if it carries multiple matching tags. You can also filter by Untagged to find transactions that have no tags assigned.
  • Notes: Private context for the transaction
You can also mark a transaction as excluded. Excluded transactions are removed from budgeting calculations and reports, which is useful for activity you do not want counted in normal spending analysis. Excluded transactions remain visible in the account activity list so you can review or re-include them at any time.

Create a merchant inline

If the merchant you need does not exist yet, you can create it directly from the merchant selector in the transaction detail or new-transaction form. Type a name in the merchant field and select the option to create it. Sure saves the new merchant and immediately assigns it to the transaction. There is no need to navigate to Settings → Merchants first.

Categorize transactions

Categories help Sure group income and expenses consistently. You can assign a category from the transaction detail view or directly from the transaction list. When there are uncategorized transactions, use the categorize flow to work through them in batches. You can assign a category to each transaction and optionally create a categorization rule so future matching transactions use the same category. After you change a transaction’s category, a prompt may appear offering to create a matching rule. Use the X button to close only that prompt without affecting future ones. Select Hide for today to pause all rule suggestions for 24 hours — a note below the buttons states this so the effect is clear. Check Don’t show this again to permanently disable rule prompts for your account. Use subcategories when you want more detail within a broader category. For example, a parent category such as Food & Dining can contain subcategories such as Groceries, Restaurants, and Coffee. The category picker groups subcategories under their parent and indents them with a hierarchy indicator, so the full structure is visible in the transaction form, bulk edit, rule builder, search filters, and import mapping. Budgets can use subcategories individually or share the parent budget.

Category filter sidebar

When you filter transactions by category in the sidebar, parent and subcategory checkboxes are linked:
  • Checking a parent category automatically checks all of its subcategories.
  • Unchecking any single subcategory automatically unchecks its parent.
  • If some but not all subcategories are checked, the parent shows an indeterminate (partial) state.
This keeps the filter consistent with what the backend submits: selecting a parent category includes every subcategory with no way to exclude one individually, so the checkboxes always reflect exactly what gets applied to your transaction list. If you arrive at the transaction list from a link that filters by a parent category, all subcategories are pre-checked to match the active filter.

What counts as uncategorized

The Uncategorized filter, the uncategorized badge count, and the Quick Categorize wizard all use the same definition: a transaction is uncategorized when it has no category assigned and its kind is not a pure inter-account transfer leg (specifically, funds_movement and cc_payment are excluded because those legs have nothing to categorize). All other transaction kinds — including loan_payment, investment_contribution, and one_time — appear in the uncategorized list if they have no category. The dashboard’s uncategorized aggregate uses the same set, so the count shown on the dashboard always matches what you see in the Transactions list.

Filter by AI categorization status

The search popover on the Transactions page includes an AI filter group with two independent checkboxes:
  • AI — shows transactions whose category was set by automatic categorization (Bayes or LLM) and still matches that original assignment.
  • AI history — shows transactions where automatic categorization ran but the category no longer matches: a rule, manual edit, import, or a clear has since changed it.
Checking both options together returns any transaction that was ever automatically categorized, regardless of whether the category was later changed. Leaving both unchecked applies no AI-status filter. These filters let you audit how auto-categorization has behaved across your transaction history — for example, to find transactions where the AI assignment was overridden, or to confirm which transactions still carry their original AI-assigned category.

Filter by uncategorized on an account page

The Filter popover on each account’s activity list includes an Uncategorized only option under a Category section. Checking it narrows the activity list to transactions that meet the same uncategorized definition used by the Transactions page filter, the uncategorized badge, and Quick Categorize. The filter combines with the status filters (Confirmed, Pending) and the search field, so you can work through what still needs a category within a single account without switching to the global Transactions page.

Categorize flow

The categorize flow (accessible when uncategorized transactions exist) displays a category picker that groups subcategories under their parent, consistent with the rest of the app. Both the parent label and its subcategories are visible together, making it straightforward to pick the right level of detail without navigating a flat list.

Create a category inline

If the category you need does not exist yet, you can create it directly from the transaction form without leaving the transaction. Type a new name in the category selector and choose Create category from the dropdown. The new category is saved and immediately assigned to the transaction.

Create a category from the quick picker

The quick category picker that opens from a transaction row in the list now also supports inline creation. When you type a name that does not match any existing category, the picker shows a Create “[name]” row. Click the row or press Enter to create the category and assign it to the transaction in one step. The row refreshes in place and the rule suggestion prompt appears as normal. To create a subcategory instead, click Add as a subcategory… below the create row. The picker swaps to a list of your top-level categories. Select a parent to create the new category under it and immediately assign it. These options are only shown when you have permission to annotate the transaction’s account.

Bulk edit transactions

Select multiple transactions to reveal the selection bar at the bottom of the screen. The bar shows how many transactions are selected and gives you quick actions. Choose Edit to apply the same details to all selected rows. Bulk editing can update:
  • Name
  • Date
  • Category
  • Merchant
  • Tags
  • Notes
Before saving, review the selected transactions so you do not apply a cleanup change to unrelated activity. If your selection includes split transactions, Sure applies the bulk edit to the individual split entries rather than the parent transaction. The parent itself is not updated directly.

Group split transactions

When a transaction is split into multiple entries, Sure can display the child entries grouped under their parent row with an indented layout. This applies to both the Transactions page and the Activity tab on individual account pages. To enable or disable this behavior, go to Settings → Appearance and toggle Group split transactions. When the toggle is on, split children appear indented under their parent in both views. When the toggle is off, split children appear as individual rows in the same position they would occupy by date.

Duplicate a transaction

When exactly one non-investment transaction is selected, a Duplicate action appears in the selection bar. Selecting it opens a pre-filled new transaction form with the same details as the original, so you can adjust and save a copy without re-entering all the fields.

Manage categories, merchants, and tags

The Transactions screen includes shortcuts for:
  • Edit categories
  • Edit merchants
  • Edit tags
  • Edit imports
Use these management screens when the labels themselves need cleanup, not just one transaction assignment.

Merge categories

Use Edit categories and then Merge categories when two or more categories represent the same kind of activity. When you merge categories, Sure asks you to choose:
  • Target category: The category to keep
  • Source categories: The categories to merge into the target
Both the target dropdown and the source checkbox list use hierarchy-aware ordering: parent categories appear in alphabetical order, and each parent’s subcategories appear immediately after it in the same alphabetical order. This keeps related categories grouped together so you can quickly find the right target or source without scanning a flat, alphabetically mixed list. Sure moves matching transactions from each source category to the target category. It also moves budget lines to the target category. If a budget already has lines for both the source and target categories, Sure combines their budgeted amounts into the target line. After the move, Sure deletes the source categories.

Merge guardrails

Sure prevents merges that would make the category hierarchy confusing or invalid:
  • You cannot choose the same category as both the target and a source
  • You cannot merge a parent category into one of its own subcategories
  • You cannot merge a category that has subcategories into another subcategory
If a source category has subcategories and the target is a parent category, Sure reparents those subcategories under the target.

Transaction rules

Rules let you automatically apply categories, merchants, tags, and other attributes to transactions that match a set of conditions. You can create and manage rules from Settings → Rules.

Condition types

If a rule was created on an older version of Sure and includes a condition type that no longer exists, that condition shows an “Unsupported” label in the rule editor. The condition matches no transactions while in that state. You can delete the unsupported condition and replace it with a supported one to restore the rule’s behavior. Rules support the following condition types:
  • Transaction name – match on the transaction name or description
  • Amount – match on the transaction amount
  • Transaction type – match on whether the transaction is income, expense, or transfer
  • Merchant – match on the merchant associated with the transaction
  • Category – match transactions that already have a specific category assigned, or that have no category
  • Tag – match transactions that already have a specific tag applied, or that have no tags
  • Transaction details – search within provider-specific metadata such as SimpleFIN payee, description, or memo fields
  • Notes – match on the notes you have added to a transaction
  • Account – match on the account the transaction belongs to
Each condition type supports a set of operators based on how the field stores its data:
  • Text fields (Transaction name, Notes): Contains, Does not contain, Equal to, Not equal to, Is empty, Is not empty
  • Number fields (Amount): Greater than, Greater than or equal to, Less than, Less than or equal to, Equal to, Not equal to
  • Select fields (Merchant, Category, Tag, Account): Equal to, Not equal to, Is empty, Is not empty
  • Transaction type: its own fixed set of type-matching operators
  • Transaction details: Contains, Equal to, Is empty (JSONB metadata supports contains and equality semantics only)
The Not equal to operator also matches transactions where the field has no value set, so “category not equal to Food” includes uncategorized transactions. Does not contain likewise matches transactions where the text field is absent. The Is empty and Is not empty operators do not require a value. The condition form hides the value input automatically when you select one of these operators. The tag condition uses Equal to and Is empty operators, matching the same pattern as the category and merchant conditions. When you combine multiple tag conditions with AND, each condition is evaluated independently, so a transaction with both tags will match correctly.

Rule actions

Rules can set:
  • Category
  • Merchant
  • Tags (you can select multiple tags in a single action; the rule merges them with any tags already on the transaction rather than replacing them)
  • Notes
  • Name

Applying rules

Rules run automatically during account syncs. You can also apply rules manually from Settings → Rules using Re-apply on an individual rule or Apply All to run every active rule against your existing transactions.

Bill allocations

When a transaction has been applied to one or more bill occurrences, an Applied to section appears at the bottom of the transaction detail view. Each entry shows the bill name (linked to the bill’s detail page), the amount applied, and the due date of the occurrence. Due dates in this section are displayed in your configured language. To change the language, go to Settings → Preferences → Language.