To categorize bank transactions with AI, paste your transaction list into ChatGPT (or Claude/Gemini) along with your chart of accounts and a prompt that forces the model to assign each row an account, a confidence level, and a flag for anything it can't place. Below is a copy-paste prompt template and the guardrails that keep the output clean enough for a bookkeeping workflow.

The core prompt template

Start with something like this. Replace the bracketed parts with your own data.

You are a bookkeeping assistant for a US small business. Categorize each bank transaction below using only accounts from my chart of accounts. Return a table with these columns: Date, Description, Amount, Suggested Account, Confidence (High/Medium/Low), and Notes. If a transaction does not clearly match one account, set Confidence to Low and explain why in Notes. Do not invent accounts. Do not guess at split transactions—flag them for manual review.
Chart of accounts:
[paste your account list]
Transactions:
[paste your CSV or transaction rows]

The three columns that matter most are Suggested Account, Confidence, and Notes. The confidence rating tells you which rows to trust and which to eyeball. Without it, you have to re-check everything, which defeats the purpose.

Feed it your actual chart of accounts

Generic categories like "Office Expense" produce generic results. Paste the exact account names and numbers you use in QuickBooks, Xero, or your write-up software. If you use sub-accounts (e.g., "6200 Auto: Fuel" vs "6210 Auto: Repairs"), include them so the model can be specific.

Add client context up front

The same vendor means different things for different clients. Add one or two sentences of context:

  • "This client is a general contractor; Home Depot purchases are usually Job Materials, not Office Supplies."
  • "Owner uses a personal card occasionally—flag any transaction that looks like personal spending as Owner's Draw for review."
  • "Amazon charges are a mix; ask me if the description is ambiguous."

Context is what separates a useful pass from a pile of misclassifications.

A sharper prompt for recurring, high-volume clients

For a client you clean up every month, build a rules block into the prompt so the AI applies your prior decisions consistently.

Apply these fixed rules first, then categorize the rest:
- "COMCAST BUSINESS" → 6300 Utilities: Internet
- "ADP" → 6000 Payroll Expense
- "SQ *" deposits → 4000 Sales Income
- Any transfer to account ending 4412 → Owner's Draw
For anything not covered by a rule, categorize normally and mark Confidence.

This mimics the memorized-transaction feature in accounting software but works before the data ever hits the ledger, so you catch problems earlier.

What to check in the output

AI categorization is a first draft, not a filing. Review these before importing:

Item to reviewWhy it matters
Low-confidence rowsThe model is telling you it guessed
Anything over a materiality thresholdA wrong account on a large amount distorts the books
Transfers and owner activityEasily miscoded as income or expense
Meals, travel, and 50% itemsCategory affects the tax return
New vendorsNo history means higher error risk
Refunds and reversalsOften flipped to the wrong sign

Accuracy and privacy limits you should respect

Never paste full account numbers, SSNs, or EINs. Mask or strip identifying data before it goes into a public model. Transaction descriptions and amounts are usually fine; identifiers are not. If you handle client data under an engagement letter, confirm the tool's data-use terms first—some consumer tiers train on inputs, business tiers typically do not.

The model does not know GAAP or the tax code the way you do. It pattern-matches on descriptions. It will confidently miscode a capital purchase as a supply expense or split-eligible items into a single line. Treat every output as a proposal from a fast but junior staffer.

Amounts can drift on large pastes. Long lists sometimes get truncated or re-summed incorrectly. Reconcile the AI's row count and totals against your source file before trusting anything.

A realistic workflow

  1. Export the bank feed or CSV for the period.
  2. Strip or mask any identifying numbers.
  3. Paste your chart of accounts, client context, and rules block into the prompt.
  4. Paste the transactions and run.
  5. Sort the output by Confidence; fix Low and Medium rows manually.
  6. Spot-check High-confidence rows above your materiality threshold.
  7. Import the cleaned categories into your accounting software.
  8. Save your prompt and rules block for next month so the client's logic carries forward.

Over a few cycles, your rules block gets long enough that most recurring transactions land correctly on the first pass, and your review shrinks to genuine judgment calls.

Where AI helps and where it doesn't

AI is strong at the repetitive middle of bookkeeping: mapping obvious vendors, drafting notes, and flagging the ambiguous rows so you spend your time where judgment is actually needed. It is weak at anything requiring knowledge of the client's intent, the tax treatment of an item, or proper accrual and split logic. Use it to compress the routine 80% so you have more attention for the 20% that carries risk.

If you want a fast way to stay current on how AI tools are changing tax and accounting workflows, DayLift is a 5-minute daily briefing built for CPAs, EAs, and financial advisors.