Back to documentation

Categorization

The order Karchu categorizes in: your own rules first, then learned behaviour, merchant and keyword rules, AI suggestion, then human review.

Last updated 2026-09-11

Categorization is deterministic first. Karchu tries the layers in a fixed order and stops at the first one that matches. Every stored transaction records which layer set its category.

Order of precedence

  • Layer 1, explicit user rule: a rule you created, matched on all its conditions, not just the first one
  • Layer 2, learned historical behaviour: a category you have consistently applied to this merchant before
  • Layer 3, deterministic merchant rule: Karchu's built in merchant to category mapping
  • Layer 4, keyword rule: description keywords, used only when no merchant match exists
  • Layer 5, AI suggestion: offered only for rows still uncategorized, and recorded as a suggestion
  • Layer 6, human review: the row is left for a person when nothing above is confident

Rule conditions

A rule can combine conditions on description text, merchant, counterparty, reference, amount range and direction. All conditions must match. A rule with several keyword conditions is evaluated in full, not on the first keyword alone.

Rule: "Cloud infrastructure"
  description contains "AWS"
  AND direction = debit
  AND amount >= 10.00
  -> category: Cloud Infrastructure
  -> source recorded on each row: user_rule

Turning a correction into a rule

If you move AWS from Software to Cloud Infrastructure three times, Karchu offers to always categorize AWS as Cloud Infrastructure. Accepting creates a deterministic rule you can see and change. Declining changes nothing.

Limits

  • A category is never invented for a row whose merchant could not be read
  • AI suggestions are optional and available on paid plans only
  • Bulk recategorization happens through rules and re-analysis, so it stays reversible and explainable

Questions

Can the AI overrule a rule I wrote?
No. An explicit user rule always wins. AI suggestion only runs on rows that no rule matched, and a suggestion is recorded as a suggestion, not as a confirmed category.
How does Karchu learn from my corrections?
It counts them. When you change the same merchant to the same category repeatedly, it offers to create a rule. If you accept, a normal visible rule is created that you can edit or delete. No model is trained on your data.
Do rules apply to transactions already imported?
New rules apply to future imports and to a re-analysis you trigger. Existing rows are not rewritten behind your back.