Agent finance desk
Finance fails quietly. Categorisation drifts, a subscription renews
unnoticed, invoices age, and nobody sees it until the quarter closes.
A finance desk of agents is worth having because the work is
repetitive, rule-bound, and unforgiving of gaps, which is exactly what
a scheduled agent loop does well and a busy founder does badly.
Team
- Bookkeeper: ingests transactions, categorises, flags anything it
cannot classify confidently.
- Analyst (
data-scientist-role, saas-metrics): computes
runway, burn, margin, and the movement since last period.
- Controller: checks the analyst's numbers against source records
and challenges anything that moved without explanation.
Shape: a pipeline on a weekly close, bookkeeper to analyst to
controller, ending in a human sign-off.
Method
- Fix the chart of accounts before automating. Agents categorise
consistently against a defined scheme and badly against a vague one,
so the scheme is the prerequisite, not the output.
- Classify with an explicit unknown bucket. Anything the
bookkeeper cannot place with confidence goes to review rather than a
plausible guess. A wrong category silently distorts every number
downstream.
- Reconcile against the source, never the summary. The controller
compares computed figures to bank and processor records, because a
spreadsheet that agrees with itself proves nothing.
- Report movement with a reason. Every metric that changed
materially needs a named cause, and unexplained movement is the
finding, not a rounding note.
- Track commitments, not just spend. Contracted renewals, annual
plans, and unbilled work determine runway more than last month's
card charges (see agent-procurement-desk).
- Escalate on threshold, not on schedule. Runway below a set
number of months, an anomalous charge, or an aging receivable
interrupts immediately rather than waiting for the weekly file.
- Keep every figure traceable to a record. Each number in the
report links to the transactions behind it so a human can audit any
line in seconds.
Run it
In Claude Code, run the three roles as sequential subagents over
exported statements in a dated folder, with the controller's checks as
an explicit pass and the final report requiring human approval before
anything is filed or paid. Never grant payment credentials to an agent.
Port to CrewAI as a sequential crew, or to LangGraph with a
verification node that can send the analysis back for rework.
Signals it works
- Unclassified transactions surface as questions rather than guesses.
- Every reported number can be traced to source records.
- Runway and anomaly alerts arrive when they happen, not at close.
Boundaries
This desk prepares and checks; it does not file, pay, or advise. Tax
treatment, statutory filings, and audit opinions are the work of a
qualified accountant, and nothing produced here is financial or tax
advice. Agents must never hold payment credentials or move money.
Regulatory reporting has legal consequence for the human who signs it.
1---2name: agent-finance-desk3description: Run a standing finance function with agents that reconcile transactions, track runway, flag anomalies, and prepare reporting for a human to approve. Use when the money side of a business needs steady attention rather than a quarterly scramble.4---56# Agent finance desk78Finance fails quietly. Categorisation drifts, a subscription renews9unnoticed, invoices age, and nobody sees it until the quarter closes.10A finance desk of agents is worth having because the work is11repetitive, rule-bound, and unforgiving of gaps, which is exactly what12a scheduled agent loop does well and a busy founder does badly.1314## Team1516- **Bookkeeper**: ingests transactions, categorises, flags anything it17 cannot classify confidently.18- **Analyst** (`data-scientist-role`, `saas-metrics`): computes19 runway, burn, margin, and the movement since last period.20- **Controller**: checks the analyst's numbers against source records21 and challenges anything that moved without explanation.2223Shape: a pipeline on a weekly close, bookkeeper to analyst to24controller, ending in a human sign-off.2526## Method27281. **Fix the chart of accounts before automating.** Agents categorise29 consistently against a defined scheme and badly against a vague one,30 so the scheme is the prerequisite, not the output.312. **Classify with an explicit unknown bucket.** Anything the32 bookkeeper cannot place with confidence goes to review rather than a33 plausible guess. A wrong category silently distorts every number34 downstream.353. **Reconcile against the source, never the summary.** The controller36 compares computed figures to bank and processor records, because a37 spreadsheet that agrees with itself proves nothing.384. **Report movement with a reason.** Every metric that changed39 materially needs a named cause, and unexplained movement is the40 finding, not a rounding note.415. **Track commitments, not just spend.** Contracted renewals, annual42 plans, and unbilled work determine runway more than last month's43 card charges (see agent-procurement-desk).446. **Escalate on threshold, not on schedule.** Runway below a set45 number of months, an anomalous charge, or an aging receivable46 interrupts immediately rather than waiting for the weekly file.477. **Keep every figure traceable to a record.** Each number in the48 report links to the transactions behind it so a human can audit any49 line in seconds.5051## Run it5253In Claude Code, run the three roles as sequential subagents over54exported statements in a dated folder, with the controller's checks as55an explicit pass and the final report requiring human approval before56anything is filed or paid. Never grant payment credentials to an agent.57Port to CrewAI as a sequential crew, or to LangGraph with a58verification node that can send the analysis back for rework.5960## Signals it works6162- Unclassified transactions surface as questions rather than guesses.63- Every reported number can be traced to source records.64- Runway and anomaly alerts arrive when they happen, not at close.6566## Boundaries6768This desk prepares and checks; it does not file, pay, or advise. Tax69treatment, statutory filings, and audit opinions are the work of a70qualified accountant, and nothing produced here is financial or tax71advice. Agents must never hold payment credentials or move money.72Regulatory reporting has legal consequence for the human who signs it.