Reconciliation, variance, the schedules that sit behind the number. An agent does the assembly on its own machine, writes down where every figure came from, and hands you a workbook you can check — not a number you have to believe.
Every figure traces to a source · nothing posts without approval
The month-end problem has never been the accounting. It is the four days of pulling, matching, chasing and formatting before anyone qualified gets to look at anything. That is exactly the shape of work a session is good at, and exactly the shape a spreadsheet macro never quite fit.
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.
Finance is the one function where "the AI said so" is not an answer. So the output is built to be checked: every figure carries the source it was derived from, and the arithmetic is in a file you can open rather than inside a model.
| 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.
Finance systems are the ones where read and write are genuinely different risks. Connect each once for the project; every credential is decrypted on our side and attached to the outbound call, never placed in 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 the most naturally scheduled work in the company, which makes it the most natural fit for a trigger — and the most important place to be exact about what a trigger is allowed to 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 in finance are not about the model. They are about which outbound calls are allowed, who approved them, and whether you can prove it 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.
Open source and self-hostable. Any model, your keys. Kortix Cloud, your own VPC, or your own on-prem network.