Why your AI asks "are you sure?" before changing a category
On this page
When your AI tries to change a category that was decided recently, Pennyweight holds the change until you confirm it. This keeps a choice made by you, a rule or your bank from being undone by accident. It uses the same one-time code as the preview-and-confirm step.
How it works
- Your AI asks Pennyweight to change a transaction's category.
- If the transaction was last changed within the past 90 days and already has a category from you, a rule or your bank, Pennyweight compares the new category with the first one set there. Yours counts first, then a rule's, then your bank's. If they differ, Pennyweight refuses the change with a
REVERSAL_DETECTEDerror. Switching back to that first category is not checked. - The refusal names the category it compared against and who set it, and includes a one-time confirmation code. See find out why a transaction has its category.
- Your AI can ask whether you meant it. If you say yes, it sends the same change again with the code, and Pennyweight saves it.
The code works once and expires after 15 minutes. If it expires, your AI can try the change again to get a new code.
Categorize my most recent Daily Grind Coffee purchase as Dining, then change it to Groceries.
What counts as a recent decision
- Who set it. A category you chose counts, including one your AI set because you asked. So does a category set by a rule, or one your bank supplied with the transaction.
- Rules that ran on their own. Your rules now apply as transactions arrive: when an import is saved, when your AI adds a transaction without a category, and when bank transactions join your ledger. A category a rule set this way counts as a recent decision too. See create a rule.
- When. The 90 days count from the last change to the transaction, not from when the category was chosen. Any edit restarts the clock, such as adding a note, tags or a split. A bank transaction counts from when it reached Pennyweight or was last updated by your bank, so bank transactions from the past 90 days of syncing often trigger the check, even when the purchase itself is older.
These never trigger it:
- giving an uncategorized transaction its first category;
- changing a category that came in with an import, when no rule matched the row and nothing has been decided in Pennyweight since.
If your AI imported with rules turned off, a row keeps the category from the file and no rule decision is recorded for it.
Categorize my most recent Daily Grind Coffee purchase as Groceries.
See categories explained for how Pennyweight picks the category that shows when several have been set.
Bulk edits
When your AI changes many transactions at once, the preview lists the rows where the edit would overturn a recent decision: up to 50 of them, plus a total when there are more. Saying yes to that preview confirms all of them. You are not asked again row by row. See bulk recategorize.
What you'll see
For the first prompt above, your AI saves Dining first. When it tries Groceries, Pennyweight flags that Dining was set moments ago, and your AI asks whether to switch anyway. After you say yes, it confirms the transaction is now Groceries.
Pennyweight hands the code to your AI, not to you, and your AI decides whether to ask. It can treat your original request as your answer and finish without asking. See review what your AI changed.
For the second prompt, the transaction was uncategorized, so the change saves straight away with no question.
Good to know
- After 90 days, changes save directly. Once a transaction has gone 90 days without a change, a new category saves without the check.
- Pinned merchants get a different question. If you've told your AI to always treat a merchant a certain way, a change that contradicts that pin is stopped with a conflict first. See what your AI remembers and recategorize a transaction.
- Rules never override you. A rule never replaces a category you set by hand, and no confirmation changes that. See who wins: you, your rules, or the bank.