When we built Sortlumo, the first design question was how many spending categories to use. The default budgeting apps lean toward 60-100. Hand-rolled spreadsheets often have 5. We landed on 22, and after categorizing several million transactions across early users, we still think it's the right number. Here's why — and the full list, with the rules we use to assign each.
Why 22, and not 100
More categories don't make a budget more useful. They make it more accurate, which is a different thing. Accurate categorization is necessary for accountants — because they're producing a document that has to balance against general ledger accounts. Useful categorization is what you need as a person, because you're actually trying to act on the data.
The constraints we landed on:
- Every category should produce a different decision.If you'd take the same action whether something landed in "Groceries" or "Restaurant Groceries", they should be the same category.
- You should be able to remember the whole list.If you can't hold the categories in your head, you can't make spending choices that align with them.
- Combined they should cover 99% of real-world transactions.An "Other" category should rarely fire.
The full 22
Essentials (6)
- Housing — rent, mortgage, HOA, property tax, home insurance.
- Utilities — electric, gas, water, internet, mobile phone.
- Groceries— grocery stores, farmer's markets, bulk grocery delivery (Instacart of a grocery store).
- Transport — public transit, rideshare, parking, tolls. Not gas.
- Fuel — gas stations and EV charging. Separate from Transport because it correlates differently with car ownership.
- Healthcare — medical, dental, vision, pharmacy, therapy. Health insurance premiums when not deducted from paycheck.
Discretionary (7)
- Dining — restaurants, coffee shops, food delivery from restaurants (DoorDash, Uber Eats).
- Entertainment — movies, concerts, sports tickets, museums.
- Shopping — non-essential retail, clothing, household goods, Amazon non-essentials.
- Travel — flights, hotels, vacation rentals, travel insurance. Not gas (Fuel) or rideshare on a normal day (Transport).
- Personal Care — haircuts, salon, gym, fitness classes, beauty.
- Hobbies — sports gear, craft supplies, music gear, gaming.
- Gifts & Donations — gifts to others, charity, religious giving.
Recurring digital (3)
- Subscriptions — streaming, news, magazines, content subscriptions. The forgotten-cancel bucket.
- Software — productivity tools, design tools, hosting, domains, paid apps. Separate from Subscriptions because the cost-benefit math is usually obvious for software.
- Education— courses, tuition, books, learning subscriptions that aren't entertainment (Coursera, but not Netflix).
Money flows (4)
- Income — salary, freelance income, refunds, gifts received.
- Transfers — between your own accounts. We treat these as neutral, not as spending.
- Savings & Investments — explicit savings deposits, brokerage contributions, retirement contributions.
- Fees & Interest — bank fees, ATM fees, credit card interest, late fees, overdraft.
Catch-alls (2)
- Kids & Pets— childcare, school fees, kid gear, vet, pet food, pet insurance. Combined because households often think of them as the same "dependents" budget line.
- Other — the catch-all when nothing fits. Should be under 1% of your total spend.
How Sortlumo assigns categories
Categorization runs in two passes. First, we apply a deterministic rule set built from the merchant — TARGET → Shopping, WHOLE FOODS → Groceries, EXXON → Fuel. The rules cover roughly 70% of typical transactions.
Second, we run an LLM call on the long-tail merchants we don't have rules for. The prompt includes the merchant string, the amount, and the 22 categories. The LLM picks one, plus a confidence score. Anything below 0.7 confidence gets flagged for your review.
Why overrides stick across statements
The most important property: once you override a merchant's category, Sortlumo remembers it forever in your account. If you re-categorize "Spotify" from Subscriptions to Entertainment, every past and future Spotify charge moves with it. You only need to do the work once.
Adapting this for your own spreadsheet
If you want to use this category system manually:
- Set up a "Category" column in your spreadsheet with a data validation list of these 22 categories.
- Set up a second sheet with two columns:
Merchant patternandCategory. - Use VLOOKUP or XLOOKUP to map merchants in your statement to categories from your rule table.
- Anything that doesn't match a rule gets a manual category, then add that pattern to your rule table — so it self-trains over time.
The category we almost didn't include
"Subscriptions" almost went into the "Software" bucket. We separated them because the cost-benefit conversation is genuinely different. Software is usually a deliberate, ongoing decision (you'd notice if Notion disappeared tomorrow). Subscriptions are usually a one-time decision that you forgot about (you might not notice if Hulu disappeared tomorrow). Same charge structure, different decision — therefore different category.