Categorize a bank statement by cash flow line with ChatGPT
Updated: 2026-09-26
ChatGPT can sort a bank statement into your cash flow categories in about 20 minutes, provided you give it a closed list of categories and ask it to flag every row it is unsure about. The model reads the payment reference and assigns a line; you check the uncertain rows and a random sample, then feed its mistakes back as rules for the next month.
What ChatGPT brings to a statement
ChatGPT is a chat with OpenAI models that calculates on uploaded Excel and CSV files, which is the mode this task relies on. It works with PDFs and photos of documents too, and Projects keep recurring tasks together with the same files, so next month's statement goes into the same Project with the same category list.
The plans that matter for accounting work:
- Free: the default model with a limited number of messages every few hours, after which it switches to a lighter model; file uploads with small limits.
- Plus, 20 USD per month: extended message limits, data analysis, Deep Research, Projects and memory.
- Business, 25 USD per seat per month with annual billing (30 with monthly billing): team data stays out of model training by default, with admin controls and connectors to work storage.
- Pro, 200 USD per month: for individuals with heavy analytical work, more than a statement ever needs.
Get the statement ready
Export the statement to CSV or Excel with four columns: date, counterparty, amount, payment reference. Keep the payment reference exactly as the bank wrote it, because that text is what the model classifies. Replace counterparty names and account numbers with codes. Employee names, tax IDs, account details and contract terms go into the chat only anonymized, as [Employee 1] or [Counterparty].
Then write your category list. One line per category with a short description works better than bare names: "Rent: monthly payments for office and warehouse lease" tells the model more than "Rent". The list is the heart of the prompt.
The prompt
Role: you are an accountant assigning a bank statement to cash flow categories. Context: the company works in {{industry}}. Categories: {{list of categories with descriptions}}. The statement below has date, counterparty code, amount, payment reference. Task: assign a category to every row. If your confidence is below high, mark it "uncertain" and explain which categories you are choosing between. Format: a table date | counterparty code | amount | category | confidence (high or uncertain) | comment. After the table, totals by category and the list of rules you used to classify, so I can correct them. Statement: {{statement}}
Fill {{industry}} with a few words about your business, paste the category list into {{list of categories with descriptions}} and the anonymized rows into {{statement}}. The request for the rules used is what makes the next run better: you correct the rules, not every row.
What to do
- Export the statement to CSV or Excel with columns date, counterparty, amount, payment reference.
- Replace counterparty names and account numbers with codes, keeping the payment reference.
- Write the list of your cash flow categories with a short description of each.
- Give the assistant the statement and the category list with a prompt to classify every row.
- Check all rows marked "uncertain" and ten random rows with a confident classification.
- Fix the errors and ask the model to state the rules it got wrong so you can add them to the next request.
How to check the result
The run counts as done when more than 90% of rows are categorized correctly in a sample check and every uncertain row is flagged and reviewed by a person. The sample matters because the model sounds equally sure of right and wrong answers.
The typical miss is direction. The model classifies by words in the payment reference and confuses a refund with a payment when the wording is the same, so filter negative amounts and look at them separately. Compare the category totals from the answer with a pivot table of your own: if the totals differ, some rows were skipped or counted twice.
A long chat with dozens of files starts mixing up numbers between documents. Start each new month in a new chat inside the same Project, so the category list stays and the old statements do not leak into the new answer.
Privacy and paying for it
On the free and personal paid plans, chats may be used for training by default. Before the first work task open Settings, Data controls and turn off Improve the model for everyone. For a finance team the Business plan is the cleaner option, since team data stays out of model training by default.
ChatGPT is paid by card on the website or in the app through the App Store or Google Play, and VAT or sales tax is added at checkout in many countries. If the card is declined, the bank has usually blocked foreign subscriptions or online payments: enable them in your banking app and confirm 3-D Secure.
The full template lives on the statement categorization prompt page, and the ChatGPT pricing page lists every plan side by side.
FAQ
Can the free version of ChatGPT categorize a bank statement?
The free plan gives the default model with a limited number of messages and small file upload limits, which is enough for a short statement. For monthly work with larger files, Plus at 20 USD per month adds data analysis and higher limits.
How accurate is ChatGPT at sorting payments into cash flow categories?
The target is more than 90% of rows categorized correctly in a sample check, with every uncertain row flagged and reviewed by a person. Refunds are the usual weak spot, so negative amounts are checked separately.
Should I upload a bank statement with real account numbers?
A statement with real account numbers and names of individuals goes into the service only anonymized. On personal plans, also turn off Improve the model for everyone in Settings, Data controls before the first work task.
Sources
Useful pages
- ChatGPT
- Categorize a bank statement by cash flow line
- ChatGPT pricing
- ChatGPT alternatives
- Categorize a bank statement by cash flow line: Accountant
- ChatGPT vs Gemini in Google Sheets
More guides
AI tools weekly for your role
One email a week: new tools, price changes and one tested prompt for your job. Free, unsubscribe in one click.
Need an AI agent for your task?
An agent built around your workflow: we pick the models and tools and connect them to your systems.
Describe your task