Categorization Rules — Deterministic, Not Guesswork

Write the rule once and every future import obeys it: match on what the transaction actually says, then set the category, add a tag, or turn it into a transfer.

From a rule you wrote to what is left for the AI

Three screens: the Rules list, the Quick rule pill on a transaction you just recategorized, and everything no rule matched.

Some things should not be guessed

The Rules screen shows what you decided, rule by rule: the conditions on top — Title contains “Spotify” and Type equals EXPENSE — and under them the category and the tag the match sets. A condition can also read the merchant code, the amount, the account or the import source, and every rule has its own switch, so turning one off never means deleting it.

Budgie Rules screen: four rules, each with its conditions above the category and tag it sets, and an on-off switch
Conditions you wrote yourself
The category it sets

The Quick rule pill writes it for you

Change the category or the tags of an existing transaction and a Quick rule pill appears above the amount. It builds the conditions from the merchant name — reference numbers, amounts, dates and company suffixes stripped out, the comment used when the name is too generic — pins the merchant code when the transaction carries one, and attaches exactly the category and tags you just picked. Tap the pill and the rule exists; swipe it away and it is gone.

Budgie edit expense screen with a Quick rule pill above the amount, moments after the category was changed
Tap it, the rule exists
Conditions built from this name

Rules run before the AI does

Rules are evaluated on Monobank sync, on bank file sync and on file import, so most rows land already categorized — and a category a rule assigned is never second-guessed by a suggestion. What no rule covered is counted in the missing-categories pill above the list; open one of those rows and the on-device suggestion offers a category for it.

Budgie transaction list with a 14 missing categories pill above rows that carry no category chip
What no rule covered
Rows still without a category

Some categorization should be a rule, not a suggestion

Your landlord's transfer, your gym membership, the corner shop you visit twice a week — you already know where those belong. A rule states that once, in plain conditions, and the app stops asking.

Conditions can look at the title, the comment, the amount, the merchant category code, the account, the transaction type, or the import source it came from. Combine them with "match all" or "match any", and pick the operator that fits: equals, contains, does not contain, greater than, less than, between, in a list, or a regular expression. Text comparisons ignore letter case.

What you get

Conditions on title, comment, amount, MCC, account, transaction type, and import source

Match all or match any, with contains, equals, comparison, list, and regular-expression operators

Actions that set a category, add a tag, or convert the transaction into a transfer

Rules run automatically on Monobank sync, bank file sync, and CSV import

Saving a rule applies it retroactively to matching transactions you already have

A dedicated Rules screen with search across conditions, actions, categories, tags, and accounts

Every rule can be switched off without being deleted

A "matching rules" pill on a transaction shows which rules apply to it

The Quick rule pill writes the rule for you

When exactly one of your existing rules already matches the transaction, the pill turns into “Update rule?” and rewrites that rule's category and tag instead of creating a near-duplicate. When the conditions it would write already exist word for word, Budgie says so and lets you open the existing rule or create the new one anyway. Either way the rule is applied to your existing transactions as soon as it is saved.

Rules and on-device AI do different jobs

Rules are deterministic: the same conditions produce the same category every single time, which is what you want for rent, salary, subscriptions, and anything with a stable merchant name. On-device AI categorization is the opposite tool — it guesses sensibly for merchants you have never seen before. They are separate systems, and most setups end up using both.

Frequently Asked Questions

Do rules apply to transactions I type in myself?
Automatic evaluation runs on Monobank sync, bank file sync, and CSV import. For everything else, saving or editing a rule re-applies it across your existing transactions, which covers manual entries too.
Can one rule do more than one thing?
Yes. A rule holds several actions, so the same match can set the category and add a tag, or convert the transaction into a transfer to a chosen account.
What happens when I already have a lot of rules?
The Rules screen has a ranked search that looks at every condition, every action, and the related category, tag, and account names, so you can find the rule responsible for a category in a couple of keystrokes.
Is this the same as the AI categorization?
No. Rules are explicit conditions you wrote and can read back. AI categorization is a separate on-device suggestion engine for merchants no rule covers yet.
Can I turn a rule off temporarily?
Yes — each rule has its own switch in the Rules list, and swiping a row deletes it when you no longer need it at all.

Ready to take Budgie for a spin?

Join the waitlist — be first to try the offline-first expense tracker.