Categorize transactions

Every transaction in your books needs a category — that's what turns "$72 to Google" into a line on your Profit & Loss. PeakBooks gives you four ways to do it: manually one at a time, AI-suggested, bulk-applied, or via a learned rule that catches future matches automatically.

Where categorization lives

Go to Transactions in the sidebar. Every row that hasn't been categorized yet shows a yellow Uncategorized label in the Category column. The number on the sidebar (e.g., "Transactions · 42") counts uncategorized rows so you always know how much is left to clear.

One transaction at a time

  1. Find the row you want to categorize and click on its Category cell.
  2. Start typing the category name. The dropdown filters as you type. Categories are grouped by type — Income, Expenses, Cost of Goods Sold, Assets, Liabilities, Equity.
  3. Click the category you want, or press Enter. The change saves immediately.

Don't see the category you need?

Scroll to the bottom of the dropdown and click + New category, or go to Settings  ›  Chart of Accounts to add one with a specific type, parent, or tax-treatment flag. Categories you create stay in the dropdown for next time.

Let AI suggest a category

Each uncategorized row has a 💡 Suggest button in the Category cell. Click it and PeakBooks asks Claude (Anthropic's AI) to read the transaction's name, amount, and account, then propose the best category from your chart of accounts.

The suggestion appears next to the cell. Accept it with one click, or pick something else — every accept also teaches the system, so similar transactions get the right answer faster next time.

AI works best when your chart of accounts is set up
The AI only suggests categories that exist in your chart. If you've added specific categories like "Software — Productivity" and "Software — Hosting", you'll get more accurate suggestions than if you only have a single "Software" category.

Bulk-categorize many at once

Most of your time is spent on the long tail of repetitive transactions. Bulk-categorize handles those in seconds.

  1. On Transactions, use the filters at the top — search by name, filter by date range or account — to narrow the list to similar rows. For example, search for "Shell" to surface every fuel charge.
  2. Tick the checkbox on each row you want to apply the same category to, or click Select all in the column header.
  3. The bulk action bar appears at the bottom. Pick the category from the Category dropdown.
  4. Click Apply to selected. The category is set on every selected row in one server call, and an Undo toast appears for 10 seconds in case you change your mind.

Bulk-apply also works for Class, Location, and Vendor if you have those dimensions enabled.

Locked-period transactions are skipped
If any selected rows fall inside a locked period (see closing a period), they're skipped silently and you'll see a toast saying "X skipped — locked period". Unlock the period first if you need to recategorize historical rows.

Learned rules — auto-categorize going forward

PeakBooks watches the categorizations you make and proposes rules when it notices a pattern. For example, after you categorize three transactions named "AWS" as "Hosting", a small banner appears: "Always categorize AWS as Hosting?" One click and every future AWS transaction is categorized the moment it lands.

Managing rules

Go to Settings  ›  Learned rules to:

If a rule misfires

Find the wrong transaction, change its category manually — your manual choice always wins. If the rule keeps causing trouble, delete it or tighten its match string.

Splitting one transaction across categories

Sometimes a single charge needs to land in two categories — e.g., an Amazon order with both office supplies and software. Click the row's Category cell, then click Split. Enter as many lines as you need with their own category, amount, and optional description. The lines must sum to the original total; PeakBooks won't save an unbalanced split.

Was this article helpful? Email support@peakbooksapp.com if anything was unclear.