Transaction Rules
Say once where a transaction belongs, and stop correcting it every month.
Updated
What a Rule Is
Every transaction has to be categorised somehow, and Cadence has an automatic chain for that - merchant patterns, keywords, what it has learned from your corrections. It is good, and it is still a guess. A rule is you stating the answer instead, and it runs ahead of that whole chain rather than inside it: if a rule matches, its answer is the answer.
Rules are checked on every way a transaction can reach you:
- Bank syncing, on both new and updated transactions.
- CSV import.
- A transaction you type in yourself.
- The Auto-categorize button in All Activity.
Only the fields the winning rule actually sets are taken. A rule that names a category and nothing else leaves the budget, the bill and everything else to the automatic chain as usual.
Three Ways to Create a Rule
All three build the same thing, and all three obey the same limits.
- Settings → Transaction Rules - tap Create Rule. This is the full surface: the ordered list, the switches, and the only place a rule can be edited or deleted.
- The + button on any page - choose Transaction Rule. This creates only. A rule’s meaning depends on its position against the others, and this screen cannot show you that list, so editing stays in Settings.
- While correcting a category - when you change a transaction’s category and Cadence offers to update similar ones, there is a second tick box: Make a Rule so future transactions like this one are categorized with the category you picked. It is off by default, and it is a separate decision from the update itself.
That third rule is built from the transaction’s own name, tested with contains so a store number your bank appends does not stop it matching, and it sets the category only. A budget or a goal is a decision that prompt never asked about, so you add those yourself in the builder.
Conditions: the When Half
The builder opens with When a transaction’s: and one condition row. Every condition you add must be true for the rule to match - they are all joined with “and”, never “or”. If you want either of two patterns, write two rules.
| Field | What it looks at | Tests available |
|---|---|---|
| Name | The raw text your bank sends | contains, is exactly, starts with |
| Merchant | The tidied merchant name, where there is one | contains, is exactly, starts with |
| Amount | The size of the transaction, ignoring sign | is, is more than, is less than, is between |
| Direction | Money out or money in | is |
| Account | One of your synced or manual accounts | is |
Text tests ignore capitals, and there are no wildcards - a percent sign or an underscore you type is just that character. Amount tests compare the size of the transaction, so is more than 500 means the same thing on a payment as on a deposit.
Because Name is matched against exactly what your bank sends rather than a cleaned-up version, the builder shows you that raw string when it has one, under “Text conditions are matched against the name your bank sends”. Copy from that line rather than from what you see on the transaction card.
| Limit | Value |
|---|---|
| Rules per account | 25 |
| Conditions on one rule | 5 |
| Length of a text condition | 200 characters |
| Length of a rule name | 60 characters |
What an Account condition can and cannot see
The builder says this on the row itself: an Account condition matches bank-synced transactions, and imported ones you have assigned to an account. It will not match transactions you add by hand, or the Auto-categorize button.
Nothing is broken when that happens - the rule simply does not match, silently. If a rule seems not to fire, an account condition is the first thing to check.
Actions: the Then Half
Under Then: every rule sets a Category. That one is required and always visible - it is the question a rule exists to answer, and the rule cannot be saved without it.
Everything else is optional and added a row at a time with Add Action. There are four, and a rule can hold at most one of each:
- Assign a budget - files the spending against a budget you choose, including an annual budget or a Goal Fund.
- Link to a bill - attaches the transaction to a recurring bill and moves its next due date on.
- Link to an income source - the same, for money coming in.
- Link to goal - counts the transaction toward a savings goal, up to that goal’s target.
Two pairs are refused outright, by the app and by the database behind it. A rule cannot hold a bill and an income source together, because one transaction cannot be both a bill payment and income; and it cannot hold an income source and a budget together, because a budget measures money spent, so it would name somewhere nothing this rule matches could land. A budget alongside a bill is allowed on purpose - a bill carries its own budget, and naming a different one is a legitimate override, which the builder points out rather than blocking.
A linking action only fires in one direction
A bill is money going out and an income source is money coming in. If your rule has a Direction condition pointing the other way, the builder warns you that nothing will ever be linked - and even with no direction condition at all, Cadence still checks each transaction’s direction before linking it, so a refund never gets attached to your rent.
When an Action Does Not Suit the Category
Each action is a claim about what the transaction is, and your rule has already answered that with its category. An action the category could never carry is therefore refused: the row shows a note saying why, and Save Rule stays greyed out until you change the category or remove the action.
| Action | Needs a category that is |
|---|---|
| Assign a budget | Something you spend on, or a refund |
| Link to a bill | Something you spend on |
| Link to an income source | Income, and not a refund or reimbursement |
| Link to goal | Money that moves or arrives, or income |
Without that check a rule would save, appear in the list, and quietly do nothing - much harder to notice than a message at the moment you write it.
Order, and Turning a Rule Off
Rules are a list, and the first one that matches decides. Drag the handle on the left of a row to move it, and put your narrow rules above your broad ones.
Each row also carries a switch. Turning it off leaves the rule intact and stops it applying to anything new - useful for a rule you only want in a particular season. The same control appears at the top of a saved rule as Rule is active. It is not offered while you are creating one, because a new rule is created switched on.
Running a Rule Over Transactions You Already Have
A rule normally only decides transactions that arrive after you wrote it - which is the wrong half, since the reason you wrote it is usually the rows already sitting in front of you. Open a saved rule and you will find Transactions already on file at the bottom.
- Tap Check what would change. Nothing is written yet.
- Read the count and the sample rows. Cadence shows the first five, then says how many more there are.
- Tap Update with the count on it to commit, or Go Back to leave everything alone.
The preview and the update are the same pass with one switch flipped, so the number you agree to is the number that happens. Transactions you categorised yourself are counted separately and left alone - your own answer outranks a rule written afterwards. The search is bounded too: Cadence reads your history in pages of 200 and stops after 40 of them, so 8,000 transactions, and it names the window it searched rather than implying it read everything.
Two things stop the button working, both on purpose. It runs the rule as it is saved, so unsaved edits block it until you save. And a switched-off rule matches nothing, so Cadence asks you to turn it on rather than answering “0 transactions” - true about the search, misleading about the rule.
There is no single undo
The update writes as it goes, one page at a time, so it cannot be reversed in one step - putting it back means editing the affected transactions. That is exactly why the preview exists and why it lists real rows. Read it before you commit.
It also means that if something goes wrong part-way, the pages already written stay written. Cadence says so, with the number it reached, rather than clearing the panel as though nothing happened.
Correcting a Transaction a Rule Decided
If you change the category on a transaction a rule set, that correction stands on that transaction - but it teaches Cadence nothing. A rule permanently outranks a learned preference, so a preference recorded here would only ever disagree with what actually happens.
Instead the prompt names the rule responsible and offers Change the rule, which saves your correction and then opens that rule’s builder. That is the honest fix: the rule is where the answer came from, so the rule is where it changes for every transaction like it.
Deleting a Rule
Use the bin icon on the rule’s row in Settings. Deleting stops the rule applying to anything new, and transactions it has already changed keep their category - nothing is rolled back. If you are at the limit of 25 and want another, combining is usually better than deleting: several conditions on one rule often replace two or three near-identical ones.