Categorize a month of transactions without losing your mind
How to turn a stack of uncategorized transactions into a useful month, in about 15 minutes. Built around the rules engine so you only do the work once per merchant.
Watch the walkthrough
One month, start to finish
Review a bank export, import it locally, categorize new payees, and read the updated Money State.
Fictional demo data · captions available · no bank connection shown
Every personal-finance app eventually shows you a list of uncategorized transactions and tells you to “go through them.” Most people quit there. This walks you through how GlidePath wants you to do it — once per merchant, not once per transaction — so a typical month takes 15 minutes instead of two hours.
What you’ll learn
- Why the rules engine is your friend (and where to find it)
- How to bulk-categorize a month in three passes
- How to handle the awkward stuff: split transactions, refunds, transfers
- How to make sure next month is faster than this one
Before you start
You’ll want a month of transactions already imported. If you haven’t done that yet, bring in a month of transactions first — import a CSV from your bank, or from an aggregator (a tool like Simplifi or Monarch that pulls all your accounts into one place) — then come back here.
Then do one 10-second thing that makes everything below work better. A fresh install ships with almost no categories. Open Clean up payee names (under Trust & Data) and click Seed missing categories — it appends the standard set (Groceries, Dining, Gas, Subscriptions and so on).
This matters more than it sounds: GlidePath carries a library of built-in merchant heuristics that pre-select a category for you, and a heuristic silently does nothing when the category it points at doesn’t exist in your list. Seed first and the app starts guessing correctly on day one; skip it and you’ll do by hand what it would have done for you.
The thing nobody tells you
Most uncategorized transactions are from merchants you’ve seen before. Starbucks, Costco, your mortgage company, Netflix. If you categorize Starbucks once and tell GlidePath “always do this,” you never categorize Starbucks again. The whole game is categorize the merchant, not the transaction.
The Uncategorized page is built around this idea. It groups transactions by payee and lets you assign a category to the whole group in one click. Worth knowing how it orders those groups, because it isn’t what most people assume: the list is sorted by total dollars, not by how many transactions are in the group. A single $2,000 insurance payment sits above twelve $5 coffees.
Step 1 — Open the Uncategorized page (1 min)
Open Uncategorized from the top nav (it’s under Money). You’ll see your transactions grouped by payee, largest dollar totals first.
The top of the list is where to spend your time — those groups move the most money, so they’re the ones distorting your spending picture while they sit uncategorized. High-frequency small stuff (the coffee, the parking) tends to sit further down, and it’s still worth a rule; it just isn’t where the first five minutes pay best.
Step 2 — Pass one: knock out the big movers (5 min)
Work the top 10 payees as the page presents them — the ones moving the most money. For each:
- Glance at the payee’s row to confirm it’s what you think it is
- Pick a category in the Bulk categorize column
- Click Apply to N (the button counts the group for you — “Apply to 14”)
That’s it. Every uncategorized Starbucks row gets Dining — that’s the shipped category name, and the one the built-in Starbucks heuristic maps to — and a rule is saved automatically — every future Starbucks import lands there too, no extra click. The rule lives in payee-rules.csv in your data folder, a plain file you can open in a spreadsheet: PayeePattern, CategoryId, UsageCount, LastSeen, CreatedAt. You can edit it directly if a rule turns out to be wrong — just note that the category is stored as an id, not a name, so you’d look the number up in categories.csv first.
Where you can’t fix it: this page. Once a rule is learned it categorizes every matching row, and this page lists only uncategorized ones — so the merchant you want to correct is exactly the one that has disappeared from it. Where you do fix it depends on how the rule is wrong, and the two cases are genuinely different:
If the rule has drifted — some Costco rows say Groceries, some say Home Goods — that’s what Transaction health (under Money in the top nav) is built for. It groups a payee whose category is inconsistent, lets you pick the right one, and re-learns the rule from that choice in the same step. One stop.
If the rule is uniformly wrong — every Starbucks row says Dining and you’ve decided they all belong in Coffee — nothing is inconsistent, so Transaction health won’t list it at all. That page is assembled from payees carrying more than one category; a rule that’s wrong the same way every time never qualifies. Repairing this one takes two moves, because the rule and the rows it already wrote are separate things:
- The rows you already have — on Transactions, filter to the payee, tick the rows, and use the bulk Set category. That corrects your history, and deliberately doesn’t write a rule.
- The rule itself — edit
payee-rules.csvin your data folder (the id lookup described above), so next month’s import doesn’t undo you. There’s no in-app editor for a rule that isn’t drifting.
Do only the second and your history stays wrong while new rows land correctly. Do only the first and the next import re-applies the old category over the top of your fix.
(Don’t confuse payee-rules.csv with payee-renames.csv, which the Clean up payee names page manages. That one is a display layer — it turns AMEX EPAYMENT DES:AMEX LOAN ID:X1234 ... PPD into “AMEX payment” on screen. It changes what you read, not what category anything lands in.)
The top of this list is where the dollars are, so clearing it makes your spending totals trustworthy fastest — even when it’s only a handful of rows. Don’t judge progress by how much shorter the list got; judge it by how much of your money is now accounted for.
Try it: Open /Uncategorized ↗ (works when the desktop app is running on this computer — just browsing? See the demo)
Step 3 — Pass two: handle the medium-frequency stuff (5 min)
Move down the list. For payees you’ve seen 2-5 times in the month, the same flow — pick a category, click Apply to N. The learned rule keeps paying you back every month, so even a payee you only see twice is worth a 10-second pass.
If a merchant is genuinely ambiguous (a Costco run might be groceries OR home goods OR gas), think before bulk-applying — a single learned rule will guess wrong half the time. Two honest options: pick the category that fits most of that merchant’s charges and split the exceptions afterwards (next section), or let AI Categorize (an optional cloud feature — it sends each row’s merchant, amount, date, and account type plus your category names; never account names, numbers, balances, or owners) walk the rows one-by-one with a suggestion each. A bad rule is fixable later, on Transaction health — it groups a payee whose category has drifted, lets you set the right one, and re-learns the rule from that choice in the same step. (That’s the drift case. A rule that’s wrong the same way on every row won’t surface there — that’s the two-step repair back in Step 2.) But no rule beats a wrong rule.
Step 4 — Pass three: the long tail (3 min)
Here’s the thing to know before you go looking: the bulk-categorize table only shows the top 15 payee groups. Once you’ve worked those, the long tail isn’t further down that table — it isn’t there at all. The other tables on the page (Exclude, Recategorize, Investigate) list remaining rows but are read-only — triage views, not editors.
So the long tail gets handled on Transactions: filter Category = Uncategorized, tick the rows you want, and use the bulk Set category. One trade-off worth knowing — that path does not learn a rule, so a merchant you’ll see again is better handled by letting it surface in the top 15 next month, where an Apply does learn one.
If you have a license, /CategorizeAi is the other route: it walks the 25 largest uncategorized rows per pass with a suggestion each, and it does learn a rule per row.
For the ones you genuinely don’t know what to do with, leaving them Uncategorized is fine. Nothing crashes — though those rows show as blank-category in Spending and Reports, and once ten or more pile up the Overview raises an action-queue item about it.
The awkward cases
Split transactions. A $200 Costco run that’s $120 groceries + $80 gas. On the Transactions page, click the small left-right-arrows button on that row — its tooltip reads “Split this transaction across categories” — then give each piece its own amount and category.
The pieces must sum to the original, and the amounts are signed. An expense parent is negative, so the editor pre-fills two negative halves; typing 120 and 80 as positives against a −$200 parent is rejected. Enter −120 and −80, and the check passes to the penny.
Refunds. A return of $40 to Target. Categorize it the same as the original purchase — the amount carries the opposite sign of the purchase (the purchase is the negative one; the refund comes back positive, exactly as your bank exports it). GlidePath nets the pair automatically in cash-flow views.
Transfers between your own accounts. Moving $500 from checking to savings is not income or expense. Use the category Transfer (it’s special-cased — the cash-flow page filters transfers out so they don’t double-count).
What just happened
You spent ~15 minutes and a month of transactions is now categorized. More importantly, next month will take half as long because every “apply to future” rule you set is now doing the work for you.
You can see this compounding in the Uncategorized page itself. Open it next month and the list should be noticeably shorter. By month four, only genuinely new merchants show up.
Ask Glide about this
Open Ask Glide and try: “What’s a reasonable number of spending categories to have?” Glide will walk you through the trade-off between too few (no signal) and too many (analysis paralysis).
Common pitfalls
- Don’t try to invent categories on the fly. Use the defaults for the first month. If something doesn’t fit, leave it in Uncategorized and look at the patterns later — you’ll see which custom categories you actually need. (There’s no “Other” bucket for transactions; if you want one, add it with + Add category on
/CategorizeAi.) - Learned rules are per-payee, and every Apply writes one. If a payee should sometimes go to Groceries and sometimes to Home Goods, applying to a single row does not avoid the rule — a one-row Apply saves a rule exactly like a fifteen-row Apply does. The rule-free ways to categorize are the bulk editor on Transactions, or splitting the individual charge.
- Transfers are not income or expense. Always use the Transfer category for money moving between your own accounts. Otherwise your cash flow will lie to you.