DEV Community

Robert Breen
Robert Breen

Posted on Originally published at learn.ynteractive.com AI-assisted

ChatGPT: I Gave It 80 Bank Rows and Four Planted Mistakes. Here Is What It Caught and How I Checked It

Month-end bank reconciliation is the job nobody wants and everybody needs done. You tick every bank row against the books, explain every difference, and prove both balances agree. When it is rushed at the end of a long close, a duplicate entry or a missing deposit slips into the profit and loss, and the client's cash balance is wrong.

I wanted to know how much of that matching ChatGPT can safely take over, so I ran a test with made-up files and planted mistakes. Here is what I did, what it caught, and the checks I would never skip.

The business case in one paragraph

Picture a bookkeeper with twelve small-business clients. If one account takes about three hours, that is 36 hours a month, close to a full work week, spent mostly on ticking off rows that were never going to be a problem. Those figures are an illustration, not a benchmark, and your accounting software already matches a lot of rows by itself. The point is where your attention goes: you want it on the four rows that need judgment, not the 76 that do not.

The test setup

I made up a small design studio, Harbor Lane Studio, and two CSV files for September 2026: a bank statement with 40 rows and a ledger export from the accounting software with 40 rows. Both start the month at $48,210.37. The bank ends at $55,205.65 and the books end at $50,835.15. The gap is $4,370.50 and has to be explained.

I planted four differences, the same kinds real months produce:

  • a customer deposit on the bank statement that was never recorded in the books
  • a monthly service fee the bank took that is not in the books
  • a supplier bill entered twice
  • a check written on September 29 that has not cleared yet

Because the files are plain CSVs with made-up companies, they are safe to upload anywhere. (With real client data, read the data controls on your own account first.)

The prompt

I attached both files to a new chat, then sent one request. The shape matters more than the exact words:

I attached a bank statement and a ledger export, both CSV, for September 2026.
Both start at $48,210.37. The bank ends at $55,205.65 and the books end at $50,835.15.

Match each bank row to a ledger row by amount and date, allowing up to 5 days.
Then give me a table of every row that does not match, from either file, with
a likely reason. Do not guess: if a row could be two things, say "Needs review".
Enter fullscreen mode Exit fullscreen mode

Three details are doing real work. Giving the balances up front lets ChatGPT check itself against the gap. A date tolerance stops normal timing differences from becoming false exceptions. And the last line gives it permission to say "Needs review" instead of inventing an explanation.

What came back

In my run ChatGPT reported that it matched 38 of 40 rows on each side and listed four exceptions with the right reasons: the missing customer deposit of $2,315.50, the $35.00 service fee, the second supplier entry of $1,240.00 as a duplicate, and check 1027 for $850.00 as a timing difference. Results can vary from run to run, which is exactly why the next section exists.

How I checked it (do not skip this)

  1. Find the duplicate yourself. I opened the ledger file and located the second supplier entry. If an AI says two rows are identical, look at the two rows.
  2. Add the exceptions up. 2,315.50 + 35.00 + 1,240.00 + 850.00 = 4,370.50, which is the whole gap. If your exceptions do not add up to the gap, something is still hiding, and AI can add wrong, so use a calculator.
  3. Build the adjusted balances. Adjusted bank balance and adjusted book balance should agree. In my test both came to $54,355.65, so the difference is zero.

What each exception means you do

The reason tells you the next move:

  • A missing deposit or a bank fee needs an entry in the books.
  • A duplicate needs to be removed or reversed.
  • An outstanding check needs nothing. It clears next month, and you carry it as a reconciling item.

So only three of the four exceptions need you to touch the accounting software, and the summary table can say which.

The mistakes I would avoid

  • Trusting a summary you did not tie out. The table is a draft. The numbers are yours.
  • Skipping the starting balance. If the opening balances disagree, every row after it is suspect.
  • Letting it guess. Without the "Needs review" line, AI will often pick a plausible reason for a row it does not understand.
  • Uploading real client files to a personal account with default settings. Check training and sharing controls first.

Before and after

Before: an afternoon of tick marks, a pencil, and a gap you find at 6 PM. After: one request, four exceptions, three entries to post, and about 20 minutes including your own checking. Your numbers will differ, and a messy real-world file will need more back and forth than my clean practice data.

Try it step by step

I turned this exact exercise into a free, hands-on lesson with the sample files and all 19 steps, practiced on a copy of ChatGPT so nothing real is touched: Month-End Bank Reconciliation with ChatGPT: 20 Minutes, Not 3 Hours.

Top comments (1)

Collapse
 
launchgatecheck profile image
Launch Gate •

The adjusted balances tie out, but step 2 needs a sign correction: 2,315.50 + 35 + 1,240 + 850 is 4,440.50, not 4,370.50. The fee reduces the books, so the bridge is +2,315.50 -35 +1,240 +850 = 4,370.50. Books then become 50,835.15 +2,315.50 -35 +1,240 = 54,355.65, matching bank 55,205.65 -850. I'd keep a signed adjustment column and source row IDs in the exception table so a plausible explanation can't conceal a wrong-direction entry.