I Turned Claude Into My Accountant. Here’s Everything It Did.
That’s a full month of my business’s books. Closed. Every transaction coded, two duplicate payments caught before they went out the door, the month-end entries booked, and a clean P&L at the end.
I didn’t do any of it. Claude did, in one sitting. And it used to be the job I paid an accountant for.
I want to be careful with that claim, so let me say exactly what happened. I turned Claude into my accountant with a real, messy bank statement with real problems buried in it, and I told it to close the month like it was responsible for the books. I stayed in the loop on every decision. What follows is exactly how far it got, where it showed judgment, and where a human still has to sit in the chair.
Every close is the same 3 moves
Doesn’t matter if you run the books for a coffee shop or a mid-sized manufacturer. Every month-end close is the same three moves in the same order.
- Code it. Every transaction has to land in the right account.
- Reconcile it. Catch what’s wrong before it hardens into the financials.
- Close it. Book the adjusting entries and pull the statements.
That’s the work. So that’s the work I handed over, all of it, on one data set, so you can see where an AI tool has judgment and where it taps out.
For the demo I used the F9 Finance Coffee Shop, a safe teaching dataset, so I’m not exposing anyone’s real books and every step is repeatable. The month is June. One operating checking account. A statement with a few landmines planted in it on purpose.
What I actually gave it
Before the steps, here’s the setup, because the tools matter less than people think.
I ran this in Claude Desktop with Claude Cowork, which is the setup I like best for this kind of work. But everything here works just as well in ChatGPT, Copilot, or Gemini. The model is not the point. The way you hand off the job is the point.
Here’s what the workflow needed:
- The bank statement. A June CSV export from the operating checking account. You could wire a live bank feed in if you wanted, but a CSV keeps the demo clean and it’s how most people would start.
- The books. The chart of accounts and a few months of how transactions were already categorized, so the AI matches the existing ledger instead of inventing its own scheme.
- One clear instruction. Not a clever prompt. A brief, the kind you’d hand a junior analyst.
That last one is the whole trick, so let me show you how each step actually went.
Step 1: coding, and why you read the books first
Coding is the part that eats the most hours, because every transaction has to land in the right account and a coffee shop throws off hundreds of them a month.
The mistake most people make here is asking the AI to categorize cold. It guesses, and the guesses don’t match how your books already work. So the first instruction wasn’t “code this.” It was “go learn how we already do it.”
Here's our June bank statement from the operating checking account. Before you code anything, just get the lay of the land. Pull the chart of accounts, how we've been categorizing things. Don't code it yet. Just tell me how the books work.
Claude went and read the existing ledger. It came back knowing that coffee beans and dairy land in one cost-of-goods account, that equipment repairs have their own line, that payroll goes to labor and card fees go to bank charges. It had the lay of the land before it touched a single June transaction.
Then, and only then, did I turn it loose on the statement.
Read the statement line by line and show me the coded list. Don't post anything yet. I want to see it.
This is where it started feeling less like a tool and more like a junior accountant working back and forth with me. It did the heavy lifting, I checked it as it went.
It read the whole month and coded it. Beans and dairy to cost of goods, payroll to labor, card fees to bank charges. The categories matched the shop’s own accounts because it read the ledger before it started.
Then it did the thing that impressed me. It flagged four transactions and refused to book them.
It held four transactions back on purpose: a couple of duplicate payments, something that looked like a personal charge, and a vendor it couldn’t identify. It didn’t guess. It set them aside and told me it wanted a human on them. That’s the moment this stops being a coding trick and starts being the job.
I told it to post the clean lines to Zoho and keep the flagged ones on hold. Coding done. On to the part I was most curious about.
Step 2: reconciling, where catching a mistake takes judgment
Coding is only half the close. The other half is catching what’s wrong before it becomes part of the financials, and that takes judgment, which is exactly what I wanted to test.
So I told it to reconcile June against the statement and tell me what didn’t belong. We worked the four flags one at a time.
The vendor it couldn’t identify
First flag was a charge from “SQ” that it couldn’t cleanly place. On a look, it was Square vendor processing, a real bill from Square, so we coded it to processing expense and posted it.
Worth pausing on the mindset here. I’m not asking the AI to be right 100% of the time. I’m shooting for 80 to 90 percent, and then a human in the loop handles the rest. That split is the whole game.
The duplicate that would have cost $96,000
Then it pulled out two duplicate payments, and this is the one nobody got an alert about.
The same vendor invoice had been paid twice. And a payroll run had fired twice. That second payroll run was $96,000 walking out the door in a single duplicate.
The cash genuinely left the account twice, so I didn’t touch the expense lines. We booked the second payment of each as a recoverable receivable, parked on the balance sheet to dispute and recover, so it never hit the P&L. Real charges stay, errors get quarantined, and the books stay honest while we chase the money back.
Across both duplicates, about $115,000 was at risk, flagged without me pointing at any of it. Paying payroll twice is the kind of thing someone has to catch by hand, in the middle of a hundred other transactions. Claude caught it in the reconciliation.

The personal charge in the business account
Last flag was a charge at a wine bar. In a small company this happens, things get crossed between personal and business, and you want to handle it cleanly to keep the separation intact.
I told it to book it as personal, to owner’s drawings. It built the entry to flip it out of operating checking and into owner’s drawings, off the P&L entirely. Not deleted, handled correctly.
With the four flags worked, everything tied out. June reconciled.
Step 3: closing, the part people swear needs a human
Last step, and it’s the one people think can never be automated. The month-end entries. Depreciation on equipment. Accruing wages that were earned but not yet paid. This is judgment work.
So I told it to close the month, show me the math first, and match the journal entries to how they were booked last month.
First I wanted to see where the month stood before any closing entries.
Let's close June. Show me where the month stands before any month-end entries.
It pulled the P&L, minus the duplicates we’d parked on the balance sheet. Sales revenue, cost of goods, operating expenses, all laid out like clean lead sheets, the kind of visibility a business this size rarely gets. Then two adjusting entries stood between us and a closed month.
Run our standard month-end entries, our depreciation and the payroll accrual.
Here’s where the numbers landed:
| Line | Amount |
|---|---|
| Net operating income before month-end entries | $212,550.00 |
| Depreciation (Astoria espresso equipment, straight-line) | $5,333.33 |
| Payroll accrual (wages earned, not yet paid) | $32,000.00 |
| Net income after month-end entries | $175,216.67 |
It worked out the depreciation off the equipment cost, accrued the unpaid payroll, showed me both entries before it posted them, and handed back a finished P&L. Think about how long that close would normally take you, even with QuickBooks or Zoho automated as far as it goes. This was a couple of minutes.
Coded, reconciled, adjusted, reported. The whole close. And a short list of real-world follow-ups it flagged for me: go recover that duplicate payroll, make sure July reverses the accrual when it clears, and fix whatever let an invoice get paid twice.
Why this matters
The close is where finance teams lose their nights. That’s the real reason this matters.
The Situation: I worked with a controller at a mid-sized manufacturer whose monthly close ran four days, most of it manual coding and chasing reconciliations that wouldn’t tie.
What Changed: We put this same three-step flow onto an assistant like the one in this demo. Read the books, code, reconcile, close, with her checking the decisions at each gate.
The Result: She brought the close down to a day and a half. Same books, same rigor, most of the manual middle gone. And that’s the difference between catching a duplicate payment on close day and catching it in April.
You’re still the one signing off
I need to be straight about this, because it’s where people get burned.
Claude did the work. I stayed in control of the decisions the whole way through. I checked the coded list before anything posted. I approved each fix. I read the entries before they went to the ledger. The goal was never to hand off 100 percent and walk away. It was to hand off the 80 to 90 percent that’s mechanical and keep my judgment on the rest.
That matters more with an agent than with a single prompt, because an agent runs a dozen steps and hands you the end of the chain. You can’t eyeball a dozen steps you never saw. So you build the checks into the brief: show me the coded list before you post, tell me what you’re holding back, show me the math before the entries. Ask for the receipts up front and a two-minute read tells you whether to trust the work underneath.
How to run this in your own close
You don’t need my exact setup to try this. You need the three moves and the discipline to stay in the loop.
- Point the AI at your books before it codes anything. Give it your chart of accounts and a few months of coded history. Tell it to match how you already work, not to invent categories.
- Have it code the statement and show you the list before posting. Make it flag anything it isn’t sure about instead of guessing. Judgment lives in what it refuses to book.
- Reconcile against the statement and work the flags one at a time. Duplicates, unknowns, anything personal. Decide the treatment yourself, let the AI build the entries.
- Close with the standard entries, math first. Have it show depreciation and accruals before it posts, and match last month’s format so nothing drifts.
- Read the receipts. The coded list, the flags, the entries. If you can’t verify it in a glance, you didn’t scope the job tightly enough.
If you want the exact prompts and the coffee-shop dataset I used to run this, they’re in my AI Library, along with my free weekly newsletter, Finance AI Insider, where I send tips and workflows like this one.
And if you want to run this in your own function instead of just reading about it, that’s what I teach. Finance AI Lab is the membership, one new AI skill every two weeks, about 15 minutes a day. Finance AI Fast Track is the four-week intensive for the finance pro who wants to go from dabbling to running AI across their whole close.
The close is where you lose your nights. It’s also the first place worth getting them back.
