Merchant identity
The cleaned merchant string, not the raw bank descriptor. A payment reading as "RZP*ACME MEDIA PVT" resolves to Acme Media, and Acme Media has a history in your ledger.
Categorization is the step everything else depends on. If spend is not assigned to the right category, tracking is wrong, flags are wrong and the report is worse than no report. So this module is built to be auditable: every assignment shows what drove it, and every correction you make changes what happens next.
No single signal decides a category. The engine weighs all six and reports how confident it is, which is what lets you trust the high-confidence bulk and review the rest.
The cleaned merchant string, not the raw bank descriptor. A payment reading as "RZP*ACME MEDIA PVT" resolves to Acme Media, and Acme Media has a history in your ledger.
Same merchant, similar amount, regular interval. A monthly charge behaves differently from a one-off, and a software subscription behaves differently from a contractor invoice.
Which card or account the spend came from. A card issued to the sales team carries different priors from the account that pays rent.
Order of magnitude against the category history. A 1,400 charge and a 1,40,000 charge at the same merchant are rarely the same kind of expense.
Explicit rules you write take precedence over inference. Anything from this merchant, on this card, above this amount, goes to this category. Full stop.
Every override you make becomes a signal. Correct a merchant once and the assignment holds from then on, for that merchant, on your ledger.
Any categorization engine will get some assignments wrong. What matters is whether it tells you which ones it is unsure about, so your review time goes to the handful that need it instead of the whole ledger.
Every transaction carries a confidence band. High-confidence assignments post straight through. Anything in the review band is held in a queue that takes minutes rather than an afternoon, and anything genuinely ambiguous is never guessed into a category silently.
See how corrections surface in reportingA known merchant with consistent history, or a match on a rule you wrote. Posts to the category immediately and moves the tracker.
A plausible assignment with a credible alternative. Posts to the category so your tracking stays current, and lands in the review queue marked with both candidates so you can confirm or switch in one action.
A first-time merchant with no usable pattern. Held in Uncategorized, counted against the period total but never silently charged to a category it might not belong to.
The review queue is a working surface, not a backlog. Bulk-confirm a merchant, write a rule from a correction, or split one transaction across two categories when a single invoice genuinely covers both.
Change a single transaction and only that transaction moves. Choose to apply it to the merchant and every past and future transaction from that merchant follows, with the historical restatement shown before you commit it.
A single supplier invoice covering supplies and contractors can be split by amount or percentage across categories. Both halves track independently and the split is preserved in the audit trail.
Who recategorized what, from which category to which, when, and whether a rule was created from it. Your reports stay defensible because the path from transaction to category is never a black box.
Account connections are read-only. The engine ingests settled transaction data to assign categories and nothing else. It cannot initiate a payment, reverse a charge or alter a bank record, because it has no write access to do it with.
Live spend against every category limit, with status the moment it changes.
OpenWhere the month lands if current spend velocity holds.
OpenRoute spend and reallocation decisions to the person who owns the budget.
OpenVariance to budget by category, period over period, export ready.
OpenOne of them still lets you do something about it.
The category closed at 112 percent. The money left the account three weeks ago. The only decision available now is which line to explain it against.
At 74 percent on day 11 the category is flagged as trending over, with an under-spent line named as the source. You approve the shift, or you tighten the spend. Either way you chose.