Run month-end close with an agent doing the first pass
Close a client's books each month with an agent that reconciles, categorizes, proposes adjusting entries, and prepares the review package, while the accountant approves every change.
Instead of a bookkeeper working the close checklist line by line, an agent with read access to the ledger and bank feeds works it first: it reconciles accounts, categorizes what it can, drafts accruals and recurring entries, and writes up everything it could not resolve. Nothing posts until the accountant approves it. The accountant's month becomes reviewing a package and answering the exceptions, and the close finishes days earlier.
- Time
- Changes the workflow
- About 5 hr down to 1.5 hr per client close
- Who does it today
- A bookkeeper does the work and a CAS manager reviews
- Practice area
- CAS and bookkeeping
Illustrative planning estimate, not a measured result. Assumes a small business with two or three bank and card accounts, 300 to 800 transactions a month, a few recurring accruals, and a monthly close checklist the firm already uses. Traditional time is bookkeeper and reviewer time through the checklist. AI time is reviewing the agent's package, answering exceptions, and approving entries. Setup (connections, checklist encoding, client rules) is a one-time cost not included here.
Traditional vs AI-native
Traditional
- 1Download statements
- 2Categorize transactions
- 3Reconcile each account
- 4Book accruals by hand
- 5Build the review binder
- 6Reviewer ticks and ties
AI-native
- 1Agent pulls feeds and statements
- 2Agent categorizes and reconciles
- 3Agent drafts entries as proposals
- 4Agent writes the exceptions list
- 5You approve or reject each proposal
- 6Close package ready for sign-off
Where you sit
Agent sets it up, accountant signs it off. You approve every entry before it posts, answer the exceptions the agent could not, and own the close. Your time moves from doing the checklist to reviewing it and improving the rules.
The traditional way
- Download bank and card statements and confirm the feeds are complete.
- Categorize uncategorized transactions, asking the client about the unknowns.
- Reconcile every bank, card, and loan account to its statement.
- Book recurring entries: depreciation, prepaid amortization, payroll accruals, loan interest split.
- Review the balance sheet for stray balances and the P&L for misposts.
- Assemble the close binder and hand it to the reviewer.
Where it hurts
- Close takes the first two weeks of the month, so reports reach the owner too late to act on.
- Most of the effort is repetitive matching and entry work that follows rules the firm already knows.
- Client questions go out in drips instead of one batch.
- Reviewers find problems at the end, when fixing them restarts part of the close.
The AI-native way
- 1You
Connect with least privilege
Give the agent read access to the ledger, bank and card feeds, and last month's close package, through the accounting system's API or a connector. Write access is limited to creating draft or proposed entries that a person must approve. Posting stays with a person.
Tools: QuickBooks Online or Xero API · An MCP connector or integration platform · An agent runtime such as Claude Code or the Claude Agent SDK
- 2You
Encode the checklist and client rules
Write the firm's close checklist and this client's rules into a document the agent reads every run: vendor-to-account mappings, accrual schedules, materiality, what always needs a client question. This file is the agent's instructions and the firm's institutional knowledge at the same time.
- 3AI
Reconcile and categorize
The agent matches feed transactions to statements, reconciles each account, and categorizes transactions using the client rules and history. Matching logic and balance checks run as code; the model handles the judgment calls like an unfamiliar vendor name, and says how sure it is.
- 4AI
Draft entries as proposals
Recurring entries (depreciation, prepaid amortization, loan interest and principal split, payroll accruals) are drafted from the schedules, with the calculation attached. Each is a proposal with its support, not a posted entry.
- 5AI
Write the exceptions and the client questions
Anything the agent could not resolve goes on one list: unreconciled differences, uncategorized items, balances that look wrong, transactions that need a receipt. Client questions are batched into one message, written in plain language.
- 6You
Approve, reject, and sign off
The accountant works the package: approve or reject each proposed entry, answer or send the exceptions, and sign off the close. Rejections, with a reason, go back into the client rules so the same mistake does not recur.
- 7Automation
Hand off to reporting
Once the close is approved, the closed trial balance flows to monthly review and client reporting. The agent's work log stays with the close as the audit trail of what it did and what a person approved.
What you need
- A cloud ledger with API access (QuickBooks Online or Xero) and reliable bank feeds
- Your close checklist written down, plus client-specific rules and schedules
- An agent tool that can call the ledger through an API or connector
- Permissions that let the agent propose but not post
- An accountant who reviews every close package
The stack
Ledger and feeds
QuickBooks Online or Xero, with bank and card feeds connected
Connection
The accounting system's API, an MCP connector, or an integration platform, scoped to read plus draft
Agent
Claude Code, the Claude Agent SDK, or another agent runtime under an enterprise data agreement
Instructions
A close checklist and client rules file the agent reads each run, kept under version control
Review
A close package document or workpaper binder with the agent's log attached
Named tools are examples, not endorsements. Check any tool against your own data rules first.
Copy the prompt
Close agent standing instructions (excerpt)
You are the first-pass close agent for [Client]. You work for the CPA firm, not the client. Read before every run: close-checklist.md, client-rules.md, last-month-package.md. You may: read the ledger, feeds, and statements; create DRAFT journal entries; write files in /close/[YYYY-MM]/. You may not: post, delete, or edit any existing transaction; change settings; contact the client. For this month: 1. Reconcile every account in client-rules.md to its statement. Report the difference for each, even if zero. 2. Categorize uncategorized transactions using client-rules.md and prior history. Mark confidence. Leave anything below "high" uncategorized and list it. 3. Draft the recurring entries in client-rules.md with the calculation attached. 4. Write exceptions.md: every unreconciled difference, uncategorized item, suspicious balance, and missing document, with the amount and date. 5. Write client-questions.md: one batched, plain-language message. 6. Write close-summary.md: what you did, what you proposed, what needs a person. Never invent a transaction, vendor, or amount. If a statement is missing, stop that account and say so.
Example
Fictional data.
Close summary written by the agent (excerpt)
Client: Harbor Veterinary Group · Period: August 2025 Accounts in scope: Operating (ending 7710), Payroll (ending 7728), Amex (ending 1004), Equipment loan
Package for review (excerpt)
RECONCILIATIONS Operating difference $0.00 Payroll difference $0.00 Amex difference $212.50 (one charge on the statement not in the feed, 8/29, VetSupply Co) Loan reconciled to lender statement CATEGORIZED 412 of 431 transactions. 19 left for you (list in exceptions.md). PROPOSED ENTRIES (drafts, not posted) JE-01 Depreciation, August, $3,184.00 per fixed asset schedule JE-02 Prepaid insurance amortization, $1,050.00 (month 5 of 12) JE-03 Loan payment split: interest $611.42, principal $2,388.58 per amortization table NEEDS A PERSON Amex difference $212.50. Missing from feed; receipt requested in client questions. Balance in Undeposited Funds $4,380 older than 30 days. New vendor "KMR Holdings," two payments of $5,000. Rent? Not in client rules.
Guardrails
- Least privilege: the agent can read and draft, never post or delete. A person approves every entry.
- Give the agent written standing instructions and keep its work log with the close. You should be able to see exactly what it did and what a person approved.
- Client books go only to tools under an enterprise data agreement. Document the connection in your WISP.
- The accountant who signs off the close owns it, whatever the agent prepared.
What can go wrong
The agent categorizes confidently and wrong, and it repeats every month.
Low-confidence items stay uncategorized, rejections update the client rules, and the reviewer samples high-confidence items each month.
A feed gap makes a reconciliation look complete when a transaction is missing.
Reconcile to the statement, never to the feed, and report the difference for every account even when it is zero.
Permissions are broader than intended and the agent edits posted history.
Use a connection scoped to draft entries, test it on a sandbox company, and review the log after every run.
How to prove it worked
Business days to close
Date the close package was signed off, for six months before and after.
Under five business days
Reviewer time per close
Time-track review for ten clients.
Down 60%
Proposed entries approved without change
Count approved, edited, and rejected proposals each month.
Rising month over month as client rules improve
Where this goes
The agent runs weekly instead of monthly, so the books are nearly closed on any given day. A persistent bookkeeping agent per client, with its own rules and history, becomes the engagement's memory, and the accountant's job becomes supervision, judgment, and advice.
Demo
Demo video coming soon
Until then, the steps and the example above are the walkthrough.
Want to implement this in your firm?
Bring it to the weekly call. Members work through builds like this one together, with accountants who are already doing it.
Keep browsing
- Small impactCAS and bookkeeping
Clean a messy bank or ledger export and get the formulas written for you
Turn a CSV with merged headers, split descriptions, text-formatted numbers, and subtotal rows into a clean table you can pivot, with a check that nothing was lost.
Saves 10 to 30 minBeginnerTask - Medium impactCAS and bookkeeping
Analyze a client's monthly financials and flag what deserves your attention
Review the month's results against prior periods and the client's own context, and decide what is worth investigating, what to ask the client, and what to tell them.
Saves 30 to 60 minIntermediateWorkflow - Large impactTax
Turn a pile of client uploads into a complete, pre-filled tax file
Get from whatever the client uploaded to an indexed, extracted, complete file, with a specific list of what is still missing.
Saves 30 to 60 minIntermediateWorkflow