Reconciliation, variance, the schedules behind the number. The agent does the assembly on its own machine and records where every figure came from. You get a workbook you can check.
| Cost centre | Plan | Actual | Variance | Driver |
|---|---|---|---|---|
| R&D — platform | 1,225,000 | 1,182,400 | −42,600 | Two hires started in month 3 |
| Cloud infrastructure | 410,000 | 463,900 | +53,900 | Sandbox growth, 4 of 4 weeks |
| Marketing — events | 180,000 | 96,200 | −83,800 | Q3 conference moved to Q4 |
| Support | 312,000 | 318,700 | +6,700 | Contractor cover, weeks 2–3 |
Month-end is not slow because of the accounting. It is slow because of four days of pulling, matching, chasing and formatting before anyone qualified sees a number.
It matches the ledger against the statement, groups what did not match by likely cause, and leaves the genuinely ambiguous ones flagged rather than force-matched. The unmatched list is the deliverable; a clean run that hid three problems is not.
Plan against actual per cost centre, then the part people actually want: which transactions drove the variance, and a written explanation of each one that a non-finance reader can follow.
Accruals, prepayments, deferred revenue, fixed asset roll-forwards. Mechanical, rule-driven, and re-derived from source every period instead of a workbook that has been copied forward since 2023.
It reads the invoice, extracts the fields, proposes the cost-centre and account coding against your own chart, and puts anything it is unsure about in a queue for a person rather than posting a plausible guess.
Who is late, by how long, and what was said last time. It drafts the next message per account in the right register — a first nudge and a fourth are not the same email — and leaves them for you to send.
The same figures, assembled into the format the board reads, with the commentary drafted from the variance work rather than written from scratch at midnight.
In finance, "the AI said so" is not an answer. So every figure carries the source it came from, and the arithmetic sits in a file you can open.
| Cost centre | Plan | Actual | Variance | Driver |
|---|---|---|---|---|
| R&D — platform | 1,225,000 | 1,182,400 | −42,600 | Two hires started in month 3 |
| Cloud infrastructure | 410,000 | 463,900 | +53,900 | Sandbox growth, 4 of 4 weeks |
| Marketing — events | 180,000 | 96,200 | −83,800 | Q3 conference moved to Q4 |
| Support | 312,000 | 318,700 | +6,700 | Contractor cover, weeks 2–3 |
The workbook is derived, not typed. Each line carries the query or the document it came from, so the review question is "is this the right source" rather than "where did this number come from".
Unmatched lines and uncertain codings arrive as a queue, not as a decision. An agent that resolves ambiguity quietly is worse than no agent at all in this function.
How your close works — the matching rules, the coding conventions, the commentary style — is a skill file in the project. It is versioned, it is diffable, and improving it is a change someone reviews.
In finance, reading and writing are different risks. Connect each system once for the project. Credentials are decrypted on our side and never enter the machine.
Easy connect covers 3,000+ apps through their own OAuth screens, but we will not pretend every finance system is in it. Where the catalogue does not reach, the direct connector types do — and if your ledger has no API at all, the honest answer is that this stays a workbook-and-approval workflow.
Finance work is already scheduled work, which makes it the natural fit for a trigger, and the most important place to say what a trigger may do.
Ask mid-month and a session pulls the transactions behind the line and comes back with the ones that moved it. No waiting for a report cycle to answer a question about a number.
Reading the ledger and writing to it are different actions. Set the write to Ask and the run pauses at the call with the exact entry in front of you; approve and the same call completes.
A cron trigger opens the period-end session on the first working day, does the assembly overnight and leaves the workbook and the unmatched queue waiting. The judgement is still yours; the four days of assembly are not.
The controls that matter here are not about the model. They are about which outbound calls are allowed, who approved them, and what you can prove afterwards.
One project, one set of connectors, one memory that compounds. Each team writes the skills for its own work; nobody stands up a second system.