Using AI to prepare a simple end-of-month bookkeeping summary from your bank statement so you know where your money went before your accountant does
Use AI to summarize your bank statement and build a monthly spending summary in under an hour — no accounting software, no integrations, no setup.
Most small business owners hand their accountant a pile of statements and find out where their money went weeks later. This post walks you through building a clean monthly spending summary using AI — no accounting software, no integrations, no setup beyond a browser tab. The workflow works because ChatGPT{:target="_blank"} and Claude{:target="_blank"} can read a pasted or uploaded CSV and output a categorized table with totals in a single prompt.
What you need before you start
Tool: ChatGPT (GPT-4o) or Claude 3.7 Sonnet. ChatGPT's free tier supports CSV file uploads directly. Claude 3.7 Sonnet handles long transaction lists exceptionally well and outputs clean structured tables. Either works for this task. Check OpenAI's current plans{:target="_blank"} and Anthropic's pricing{:target="_blank"} — both offer free tiers as of early 2026.
Time required: 20–45 minutes per account, including review.
Skill level: No coding required. Basic comfort with downloading files from your bank's website is enough.
One privacy note: Redact any full account numbers from the CSV before uploading. Transaction descriptions — merchant names, amounts, dates — carry minimal risk. The OpenAI privacy policy{:target="_blank"} states free-tier conversations may be used for model training. If that concerns you, use Claude or upgrade to a paid ChatGPT plan, which opts out of training by default.
Download your bank statement as a CSV
Log in to your bank's online portal. You should see your account dashboard.
Navigate to account history, transactions, or statements. Most banks label this clearly in the main menu. You should see a list of recent transactions.
Look for a download or export option. It is usually a button near the transaction list — sometimes labeled "Export," "Download," or a spreadsheet icon. You should see format options appear.
Select CSV as the file format. If your bank offers OFX or QFX instead, choose CSV — it pastes and uploads more cleanly. You should see the file download to your computer.
Open the file in a text editor or spreadsheet app to confirm it contains columns for date, description, and amount. If you see those three columns, you are ready.
Most U.S. banks let you pull 30–90 days of transactions from this same screen. Pull one calendar month at a time to keep your summaries clean.
Build the prompt that gets you a useful bank statement summary
This is where most people leave money on the table. A vague prompt ("summarize my expenses") produces a vague output. A structured prompt produces a table your accountant can actually use.
Your prompt needs four parts: your business type, your preferred expense categories, instructions to flag ambiguous transactions, and the output format you want. Here is the prompt to use:
I am uploading a bank statement CSV for my [type of business — e.g., freelance graphic design studio / retail bakery / HVAC service company].
Please categorize every transaction as an expense, income, or transfer. For expenses, assign each one to the most appropriate category from this list:
- Advertising
- Car & Truck
- Contract Labor
- Insurance
- Office Expenses
- Rent / Lease
- Repairs & Maintenance
- Supplies
- Travel
- Meals (note: 50% deductible)
- Utilities
- Professional Services
- Subscriptions / Software
- Owner Draw / Transfer (do not count these as expenses)
Flag any transaction you are not confident about with [REVIEW] and a one-sentence note explaining why.
Output a markdown table with these columns: Category | Number of Transactions | Total Amount | Example Vendors
Below the table, list all [REVIEW] items separately.
Once you have written the prompt:
Upload the CSV file directly if you are using ChatGPT (drag it into the chat window). You should see the file appear as an attachment above your prompt.
Paste the prompt into the message field and send. You should see the AI begin generating a categorized table within a few seconds.
If you are using Claude, paste the CSV content directly into the chat window along with the prompt. Claude handles long pasted text without truncation issues.
Review what the AI produced
AI categorization on bank transactions runs at roughly 80–90% accuracy when you specify your business type and category list. The remaining 10–20% is not random — it clusters around a handful of ambiguous vendors.
Read the [REVIEW] list first. These are the transactions the AI flagged as uncertain. Go through each one and assign the correct category manually.
Scan the Example Vendors column for anything that looks wrong. "Amazon" is the classic problem — it could be office supplies, advertising, or a software subscription depending on what you ordered. Correct any miscategorized line items.
Check the Owner Draw / Transfer row. Internal transfers between your own accounts and owner draws must sit outside your expense totals. Confirm the AI did not count them as business expenses. If it did, remove them from the total manually.
One transaction type the AI cannot handle: transfers between your own accounts. Flag these in your prompt instructions — which the template above already does — and verify the output.
Turn the summary into a monthly tracker you can reuse
Copy the markdown table from the AI response.
Paste it into a new Google Sheet or Excel file. Most spreadsheet apps read markdown tables on paste, or you can paste as plain text and use columns. You should see your category totals populate in rows.
Add a Month column and repeat this process at the end of every month. After three months, you have a year-to-date spending tracker with no subscription required.
The IRS requires businesses to keep records that classify expenses by category{:target="_blank"} — office supplies, travel, meals, utilities, and so on. This table mirrors those categories directly, which makes it useful beyond internal tracking.
When something goes wrong
The AI output cuts off before the full table appears. Your CSV is likely too large for a single response window. Split the CSV into two halves by date — process the first half of the month, then the second — and combine the totals manually.
Transactions are assigned to the wrong categories consistently. Your business type description in the prompt is too vague. Replace "small business" with a specific description: "residential plumbing contractor" or "online fitness coaching practice." The more specific the context, the better the categorization.
Internal transfers show up as expenses and inflate your totals. The prompt did not give the AI enough information to identify them. Add a line to your prompt: "Transactions described as 'transfer,' 'Zelle to [your name],' or '[your business name] draw' are owner draws — categorize them separately and exclude them from expense totals."
What to do next
Send your accountant the completed category table instead of the raw statement. Accountants typically charge $50–$150 per hour for categorization work. Handing them a pre-sorted summary with flagged items reduces their time on your file — and your bill. Ask them to review your [REVIEW] items and confirm your category assignments once per quarter.
If you want to extend this workflow to cover invoices and cash flow forecasting, see how to use AI to manage client invoicing and payment follow-ups.
FAQ
Can I use AI to summarize my bank statement if I have multiple accounts? Process each account's CSV separately and use the same prompt template for each. Mixing multiple bank feeds in a single prompt increases the chance of errors and makes the output harder to verify. Combine the category totals manually in your spreadsheet after each account is done.
Is it safe to paste my bank statement into ChatGPT or Claude? Transaction descriptions — merchant names, dates, amounts — carry low inherent risk. Your bank statement does not contain your Social Security number or full account number in the transaction list. Redact any full account numbers visible in the file header before uploading. If you are using ChatGPT's free tier, be aware that OpenAI may use conversations for model training. Paid plans and Claude's default settings offer stronger data controls.
Do I need QuickBooks or Wave to do this? No. QuickBooks{:target="_blank"}, Xero{:target="_blank"}, and Wave{:target="_blank"} all require account connections, subscription setup, or both before generating any spending report. The CSV-plus-AI workflow requires neither. The tradeoff is that the AI summary does not sync with other systems automatically — it is a static monthly snapshot, not a live ledger.
How do I handle cash transactions that don't appear on my bank statement? They won't appear in the CSV, so the AI cannot categorize them. Keep a separate running note — a spreadsheet row or a notes app entry — for cash transactions during the month. Add them to your final summary manually in the correct category before sending it to your accountant.
Will this work for a business with 200–300 transactions a month? Yes. GPT-4o processes a full 300-row CSV in a single prompt without truncation as of early 2026. If your bank statement exceeds that range, split it by date and run two prompts. The output format stays identical, so combining totals in a spreadsheet is a five-minute task.