If you import transactions regularly, you've probably noticed the same merchant names show up over and over. Rules let you map those names to categories once, so future imports get categorized on the way in.
Where to find them
Open the Rules page: More → Rules (under Budgeting) on a phone, or Tools → Rules on desktop. It lives at /settings/rules.
Create a rule
- Tap Add rule. The form is titled New rule. Its fields are If description contains, Assign to category and Rename description to (optional).
- Enter a pattern that should match the transaction's description.
- Plain text matches case-insensitively, anywhere in the description.
starbucksmatches "Starbucks", "STARBUCKS #4032", "Starbucks Coffee". - Three characters add precision:
*matches any run of characters (amazon*prime),^matches only at the start (^shell, so "Marshell" no longer matches), and$matches only at the end (fee$). Write\*for a literal asterisk. - Everything else is literal. Patterns are not regular expressions, so characters like
+,(,#and[match themselves.
- Plain text matches case-insensitively, anywhere in the description.
- Choose the category the matching transaction should be assigned to.
- Optionally, set Rename description to — matching imports get that description instead of the raw bank text.
- Tap Save rule.
Once a rule exists, tap Edit rule to change it. The edit form also lists the rule's Match texts: add another spelling (say, mejier alongside meijer) and the rule matches either one.
How rules apply
Rules run during CSV import and AI bank statement import, before the preview. A rule is checked against both the description and the bank's original text, with store numbers and similar noise stripped. The matching rule sets the category and, if the rule has one, the new description. You can still override the suggested category for any individual transaction in the preview before confirming.
When you add a transaction by hand, a matching rule fills in the category if you haven't picked one yet. A note under the category names the rule it came from. It never renames what you typed, and it never replaces a category you already chose.
Rules do not retroactively recategorize transactions that have already been imported — that's a one-time decision per row.
Patterns that work well
| Pattern | Matches | Category |
|---|---|---|
whole foods | "WHOLE FOODS MARKET 10342" | Groceries |
comcast | "COMCAST CABLE 800-XYZ" | Internet |
chevron | "CHEVRON 0093" | Gas |
^uber | "Uber Eats" or "Uber Trip" | Transportation |
For ride-share you'd usually want to split Uber Eats and Uber Trip into separate rules (uber eats and uber trip); the ^uber pattern above is just an example of how the start anchor works.
When more than one rule matches
There's no priority setting to manage. When several rules match the same transaction, the most specific one wins: the rule whose matching text has the most literal characters. *, ^ and $ don't count toward that, so padding a pattern with wildcards won't make it outrank a genuinely longer one.
That makes exceptions work without any setup. A broad amazon rule pointed at "Shopping", plus a more specific prime video rule pointed at "Streaming", gives Prime Video the right home, and everything else from Amazon still goes to Shopping.
If two matching texts are exactly as specific, the rule created most recently wins.
Turning a rule off
Rules don't have an on/off switch. To stop a rule from applying, delete it from the rules list. Deleting a rule doesn't change any transactions it already categorized.
The rules list also flags duplicates — rules that share a match text. Only one of them can ever win, so tap Duplicates only to find them and delete the extras.
What rules don't do
- They don't move money or change amounts.
- They don't delete transactions.
- They don't change transactions you've already saved. They apply to imports in progress, and fill in the category on a new transaction you're adding by hand.