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_ruleTurning 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