Skip to content
BankToRows

Is it safe to upload a bank statement to ChatGPT?

People upload statements to ChatGPT to turn them into spreadsheets, sort their spending or check a budget. Whether that’s wise depends on your plan, your settings and what the statement shows. Here’s what OpenAI says happens to what you share, what to change and remove before you upload, how well it read four test statements, and how to check the table that comes back.

Last updated November 2026

What happens to a statement you upload

A file you attach becomes part of the chat, so OpenAI’s data controls are the settings that matter. Here’s what its help page on data controls says, as of November 2026:

  • Personal accounts train by default. On ChatGPT Free, Plus and Pro, data sharing for model training is on unless you turn it off. The switch is Improve the model for everyone, under Settings › Data controls. Signed in, the setting follows your account, on the web and on your phone alike.
  • Turning it off doesn’t delete anything. Your chats, and the statement in them, stay in your history until you delete them.
  • Temporary Chat stays out of history and training. OpenAI says a temporary chat isn’t used to improve its models and doesn’t appear in your history, but may be kept for up to 30 days for safety.
  • A thumbs up or down can share the chat. Even with training off, OpenAI says the whole conversation behind a piece of feedback may be used to train its models.
  • Work plans are different. OpenAI says it doesn’t train on ChatGPT Business, Enterprise or Edu workspaces by default, and your organization’s own retention rules apply.

None of this makes a statement public. It decides who may read it later and whether it can end up in training data. Policies change, so check the data controls page itself before you rely on any of it.

Before you upload one

  1. Set your data controls first. Turn off Improve the model for everyone, or start a Temporary Chat, before you attach the file, not after.
  2. Share only what the task needs. To sort spending or build a table, the transaction lines are enough. Leave out the summary page with your address, or copy just the rows into the chat.
  3. Remove details properly. Your account number, card numbers and address can go. Drawing a black box over them in a PDF markup tool usually only covers them: the text is still underneath, and ChatGPT reads the text, not the picture. Use a real redaction tool, or delete the text itself.
  4. Never paste sign-in details. No password, security answer or one-time code belongs in a chat, whatever the task.
  5. Ask before sharing a client’s statement. If you keep books for others, your agreement with the client and your firm’s rules decide whether their statements can go to an outside service at all.

How well it reads them: our test

We gave ChatGPT four made-up statements (November 2026, a Temporary Chat with the default model and thinking effort) and asked each time for a CSV with the date, description and amount, money out negative, every transaction included:

  • A three-page checking statement with 96 transactions. Every row right: dates, amounts, and the reference numbers printed on a second line. It checked its own rows against the opening and closing balances without being asked.
  • A two-page checking statement, 12 transactions, dates without a year. Every amount right, and the year taken from the statement period. One description lost its second line (“CARD ENDING 9911”).
  • A UK statement with Paid out and Paid in columns, and the date printed once for two transactions on the same day. All six right, the brought-forward and carried-forward lines left out. But the dates came back as “02 Oct”, with no year, and this answer showed no balance check.
  • A credit card statement, purchases printed without a sign and the payment with a minus. All five right, turned round so purchases were money out, and checked against the change in the balance.

So it read clean, typed statements well, better than we expected. They were short, tidy and made up, though, and real statements are messier. And the misses were the quiet kind: a description that’s a little short, or dates a spreadsheet will put in the wrong year, both looking as tidy as the rest.

Check what comes back

Whichever tool made the table, check it before it goes into your books:

  • Add it up. In the spreadsheet, put the opening balance in a spare cell and add the amounts column to it with SUM (or add money in and subtract money out). You should land on the closing balance, to the cent.
  • Count the rows. Many statements print how many deposits and withdrawals there were. The table should have the same number.
  • Follow the running balance. If the statement prints a balance on every line, spot-check a few rows, especially around page breaks: a missing row shows as a jump.
  • Check the dates. Statements often print dates without a year, and the day and month can swap (03/04 is March 4 in the US, 3 April elsewhere).

When ChatGPT says the totals match, that’s its check of its own table, and it doesn’t always run one. The check that counts is yours, on the rows you’re about to import.

Or keep the statement on your device

If the goal is the transactions in Excel, CSV or QuickBooks, a converter that runs in your browser does it without sending the statement anywhere. BankToRows reads the PDF on your computer, checks every row against the opening, closing and running balances before you download, and asks when the date order or currency isn’t clear. Then you can share just the rows you choose, with ChatGPT or anyone else. How to check that a converter really keeps the file local is in converting a bank statement without uploading it.

Questions

Does ChatGPT train on bank statements I upload?

On personal Free, Plus and Pro accounts, OpenAI says sharing for model training is on by default. Turn off Improve the model for everyone in Settings › Data controls, or use a Temporary Chat, which OpenAI says isn’t used to improve its models. Business, Enterprise and Edu workspaces aren’t used for training by default.

Does turning off training delete my chat?

No. The chat, and the file in it, stays in your history until you delete it. A Temporary Chat stays out of your history, but OpenAI says it may keep it for up to 30 days for safety.

What should I remove from a statement first?

Your account and card numbers, your address, and anything else the task doesn’t need. Use a real redaction tool: a black box drawn over a PDF usually leaves the text underneath, and ChatGPT reads the text.

Can ChatGPT convert a bank statement to Excel accurately?

In our test with four made-up statements, mostly yes: every amount was right, a 96-transaction statement included. It did drop one line of a description and leave the year off one statement’s dates, and it didn’t always check its totals. Add the rows up against the opening and closing balances yourself before you use them.

More guides