Dashboard

How to Reconcile a Bank Statement With AI

Let AI propose which bank lines match your books, then prove the result with a plain spreadsheet check. A three-pass method with a prompt and a redaction checklist.

Steve Jefferson
Steve Jefferson
Developer Advocate
5 October 20261 min read

You can reconcile a bank statement with AI if you split the job in two: the AI proposes which bank lines match which entries in your books, and a spreadsheet formula, not the AI, proves the result adds up. Reconciliation is done when opening balance plus all cleared movements equals the closing balance on the statement, to the penny. Everything else is a means to get there.

What reconciliation is, in one paragraph

Your bank's record and your own books should describe the same money. They differ because of timing (a cheque not yet cleared), errors (a typo, a double entry) and things you forgot to record (a bank fee). Reconciling means matching every line on one side to the other, then explaining whatever is left. Most of the effort is the matching, which is dull, pattern-based and exactly what a language model is decent at.

Prepare the data first

Export two CSV files for the same period: the bank statement and the transactions from your accounting software or spreadsheet. Then clean them before they go anywhere near a chatbot.

  • Remove or mask account numbers, sort codes and card numbers.

  • Replace personal names with codes if the data includes customers or staff.

  • Make sure both files use the same date format and that debits and credits use the same sign convention.

  • Add a row ID to every line so matches can be referenced without retyping descriptions.

Whether a given tool is allowed to see financial data is a policy question for your business. If you are unsure, read whether it is safe to connect AI to your bank account first. The approach below never connects anything, it only works on exported files.

The three-pass match

Ask the model to work in passes, from the most certain to the least. Each pass produces a list, and you check each list before the next begins.

Pass

Rule

Typical result

1. Exact

Same amount and same date

Most lines, low risk

2. Near

Same amount, dates within 5 days

Timing differences, such as card payments

3. Grouped

One bank line equals several ledger lines, or the reverse

Batched payouts, split invoices

Whatever remains after pass 3 is your exceptions list. That list is the actual work of reconciliation, and it is where your judgment is needed.

The prompt

Two CSV files follow: BANK (bank statement lines) and BOOKS (ledger entries),
both for 1 to 30 September. Each row has an ID, date, description, amount.

Do this in three passes and show results for each:
1. Exact: same amount, same date.
2. Near: same amount, dates up to 5 days apart.
3. Grouped: one line on one side equals the sum of 2 to 5 lines on the other.

For every match, output the BANK ID and BOOKS ID(s). Do not match anything
you are unsure of. Do not do any totals, I will calculate them myself.
List all unmatched BANK IDs and BOOKS IDs at the end, with a one-line guess
at why each might be unmatched.

The line "do not do any totals" matters. Language models can slip on arithmetic, and a wrong total in a reconciliation is worse than none. If you want a sanity check on how far to trust the numbers a model gives you, see how to check AI math before you trust it.

The check that matters: the spreadsheet does the proof

Paste the model's matches into a sheet and run the arithmetic yourself:

  1. Opening balance from the statement.

  2. Add the sum of all bank lines in the period (credits positive, debits negative).

  3. The result should equal the closing balance on the statement.

  4. Then, in your books, the ledger balance plus uncleared items should equal the bank balance.

If step 3 fails, the export is incomplete, since you are missing rows, and no amount of matching will fix that. If step 4 fails, the exceptions list has the answer. Both tests are plain addition and subtraction, which is why a spreadsheet should perform them.

Working through the exceptions

Typical leftovers, and what to do with each:

  • Bank fees and interest. Record them in your books. They are real, and you did not enter them.

  • Cheques or transfers in transit. Leave them as timing differences and carry them to next month.

  • Duplicates. A payment recorded twice in your books needs correcting, not matching.

  • Unknown items. Do not guess. Look at the original document or ask the person who made the payment.

A model can draft a short explanation for each exception, which saves time, but you decide how it is booked. Categorizing the entries is a separate job, covered in using AI to categorize business expenses, and extracting amounts from paper is covered in reading receipts and invoices with AI.

What not to hand over

Approving payments, posting journal entries without review, and anything that moves money. Reconciliation produces evidence for a decision, and the decision stays with a person. If you are weighing how much bookkeeping to automate overall, can AI replace a bookkeeper lays out the line, and our guide to AI for small business puts it in context.

FAQ

Can ChatGPT reconcile a bank statement?

It can propose matches from two exported files. It should not be your proof. Use a spreadsheet to confirm that opening balance plus movements equals closing balance.

How long does a reconciliation take with AI?

For a small business with a few hundred lines a month, the matching can take minutes. Handling the exceptions takes the rest of the time, and that part is the same with or without AI.

What if my bank export has no reference numbers?

Match on amount and date window, which is what the passes above do. Add a row ID so you can talk about each line.

Do I need accounting software?

No. A spreadsheet works for a small number of transactions. Software helps when volume grows, because it keeps the ledger side consistent.

How did this land?

About the author

Steve Jefferson
Steve Jefferson

Developer Advocate

Steve builds something with Swarmz every week and writes up what worked, what broke, and what he'd do differently. Tutorials and hands-on guides are his lane.

Share

Get the next post in your inbox

One email a month. Product updates, engineering posts, and the best of Built with Swarmz.

I agree to receive emails about AI building tips and Swarmz product news. Unsubscribe any time.