AI Categorizer and Merchant Cleanup

Let AI fill the categories that Memory and your rules leave empty, and clean raw bank descriptors into canonical merchant names, with confidence gating and a review queue.

5 min read

On this page

The AI Categorizer fills in the categories nothing else could. It runs last in the fill order, after Memory, lookups, and your rules — and only touches fields that are still empty by then. Your explicit rules and everything BankSync has learned from you always outrank the model; AI handles the long tail of merchants nobody has categorized yet.

Merchant Cleanup is its sibling: the same machinery pointed at the Merchant Name field, turning raw descriptors like SQ *BLUE BTL COF 0442 OAK into clean canonical names like Blue Bottle Coffee. Both live in the AI & learning group of the enrichment picker.

Where the categories come from#

The categorizer classifies each merchant into a taxonomy — the set of allowed values. You choose the source:

Your custom list

Type your own category list (up to 200 values). Best when your books have a fixed chart of categories the AI must stay inside.

Learned from you

Use the distinct values BankSync has learned from your corrections via Memory. Your real vocabulary, kept current automatically.

Schema defaults

A sensible built-in category set. Zero setup; fine for getting started.

Cold start on a new workspace

Learned mode needs corrections to learn from. On a fresh workspace the learned set is empty, so the categorizer falls back to the default categories until BankSync has learned yours — it switches to your vocabulary automatically as corrections accumulate.

The result is always allow-listed against the taxonomy: the model cannot invent a category outside your list.

Confidence: fill or queue, never guess quietly#

Every AI suggestion carries a confidence score, checked against your confidence threshold (default 0.8):

  • At or above the threshold — the value is written into the still-empty field, like any other enrichment fill.
  • Below the threshold — the field is left empty and the suggestion goes to the Review Queue, where you accept, edit, or reject it. One decision covers every record with the same merchant pattern, and accepting teaches Memory so future records fill automatically.

Raise the threshold for a stricter book (more suggestions queued for your eyes), lower it to automate more aggressively.

Caching: repeated merchants are free#

AI results are cached per merchant pattern. The first time an unrecognized merchant appears, the model classifies it; every later record from that merchant — this sync or any future one — reuses the cached answer at no AI cost. In practice your spend tracks new merchants, not transaction volume: a thousand Uber rides cost one classification.

Each sync also has a cap on new (uncached) patterns sent to the model (default 500), so an enormous first backfill cannot run away with model usage in one go — the overflow is simply picked up by subsequent syncs. A second ceiling applies across all of your AI enrichments together, so adding more of them cannot multiply what one sync sends. Changing the taxonomy resets the cache (the old answers were for a different category list).

What AI enrichment costs you

AI Categorizer and Merchant Cleanup are included in the plans that carry AI (Professional and above) and do NOT draw down your AI assistant credits — those are for the assistant. There is also no model choice to make: one managed model serves every workspace, and the accuracy dial you control is the confidence threshold plus the Review Queue.

Fail-open: a model outage never blocks your sync

If the AI cannot be reached — outage, quota, anything — your sync completes normally. The affected fields just stay empty and are retried on the next sync. AI enrichment is a layer on top of your data flow, never a gate in front of it.

The correction loop#

AI fills are the start of the conversation, not the end. When you correct an AI-filled value in your connected sheet, database, or table, Memory learns the correction — and because Memory runs before AI and fills first, your corrected value wins for every future record from that merchant. The AI never fights you on a merchant you have corrected; it moves on to merchants you have not.

Privacy: what the model sees#

Only normalized merchant patterns are sent to the model — the descriptor with numbers, store codes, and reference noise stripped (for example, starbucks). Never account names or numbers, never amounts, never dates, never your raw statement lines. The cached results are stored per workspace and never shared across workspaces.

Merchant Cleanup#

Merchant Cleanup uses the same cache-first, confidence-gated, fail-open machinery to fill the Merchant Name field where your bank left it blank, with a fixed contract: return the canonical merchant name — title-cased, no store numbers, no city suffixes — or nothing. It never invents a brand: if the model cannot identify the merchant from the descriptor, the field stays empty.

Setup is near-zero: create it from the AI & learning group, attach feeds, enable. Map the Merchant Name column in your field mappings to see the cleaned names in your destination. As with categories, correcting a name in your destination teaches Memory and permanently outranks the AI for that merchant. Merchant Cleanup has its own guide covering the output contract and setup in full.

Setting up the AI Categorizer#

  1. Create it

    On the Enrichments tab, click "Add an enrichment" and choose AI Categorizer in the AI and learning group of the type picker.

  2. Choose the taxonomy

    Pick custom, learned, or default — and enter your category list if custom.

  3. Set the confidence threshold

    Keep 0.8 to start. You can tune it later once you have seen a few syncs worth of fills and queued suggestions.

  4. Attach and enable

    In the Dependencies tab, tick the feeds, then flip the switch to Enabled.

  5. Work the Review Queue occasionally

    Below-threshold suggestions accumulate there. Each accept or reject teaches Memory, so the queue shrinks as BankSync converges on your vocabulary.

The AI Categorizer configuration form: a Fill field selector set to category, a Category list section offering Learned from your data, Standard categories, and Custom list — with Custom list selected and chips for Software, Payroll, Rent, Travel, Meals, and Marketing — and a Confidence bar slider at 90 percent with the note that fills above this confidence apply automatically while guesses below it wait in the Review Queue.
A custom taxonomy and the confidence bar: values the model must stay inside, and the line between auto-fill and review.

Use this page with your AI assistant

Every BankSync doc is available as plain Markdown for agents and LLMs.