Solutions · Finance

The close, with the working shown.

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

Runs on
A real machine with a shell
Produces
A workbook, a note, and the trace
Posting
Set it to Ask, or to Block
Recurs
On a cron, at period end
The handoff

The assembly, not the judgement.

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.

  1. 01

    Reconciliation, line by line

    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.

  2. 02

    Variance, with the reason attached

    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.

  3. 03

    The supporting schedules

    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.

  4. 04

    Invoice intake and coding

    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.

  5. 05

    The receivables chase

    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.

  6. 06

    The reporting pack

    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.

The output

A workbook, and a note explaining every line in it.

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.

close/2026-07/variance-by-cost-centre.xlsxReport
Cost centrePlanActualVarianceDriver
R&D — platform1,225,0001,182,400−42,600Two hires started in month 3
Cloud infrastructure410,000463,900+53,900Sandbox growth, 4 of 4 weeks
Marketing — events180,00096,200−83,800Q3 conference moved to Q4
Support312,000318,700+6,700Contractor cover, weeks 2–3
Illustration. Figures are fictional and internally consistent, not a real ledger.

Every figure has a source

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".

It is allowed to say it is not sure

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.

The method lives in the repo

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.

Where it reaches

The ledger, the bank feed, the spreadsheet everyone actually uses.

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.

Stripe
Connected directly from its API description rather than through a middleman: Kortix reads the specification, works out the authentication, and turns every operation into a tool with its own answer.
Google Sheets and Drive
Where the working actually lives in most finance teams. It reads the plan, writes the workbook, and leaves the file where the team already opens it.
Your accounting and banking systems
If your ledger is in the Easy connect catalogue it is a click and an OAuth screen. If it is not — and plenty of accounting systems are not — it is reachable through OpenAPI, a Postman collection, GraphQL, raw HTTP or a remote MCP server.
Gmail and Outlook
For the intake half: invoices arrive as attachments, and chasers go out as drafts. Reading a mailbox and sending from it are separate actions with separate answers.
Slack
The one live channel. Ask a question about the close in a thread and the thread is the session; the workbook comes back into it as a file.

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.

How it runs

Ask on the fifteenth. Run it on the first.

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.

  1. 01On demand

    "Why is cloud infrastructure over?"

    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.

  2. 02Human-assisted

    It stops before it posts

    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.

  3. 03Automated

    The close, started before you are in

    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.

Control

What it may read, what it may post, what it may never do.

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.

Approval gates are off until you set them
The shipped default is permissive — an action runs unless you have said otherwise. In a finance project, setting Ask on every write to a system of record and Block on every delete is the first configuration change to make, not something already done for you.
Block is not an approval you can grant in the moment
An action set to Block is unavailable, and no approval prompt can lift it while a session is running. Voiding a payment stays off the table by configuration rather than by good judgement under time pressure.
Merge is default-deny
Work the agent means to keep is committed on the session branch and reaches main through a change request. An agent cannot merge unless an admin has granted project.cr.merge in kortix.yaml — and widening that grant is itself a reviewed change.
Connector credentials never enter the machine
The sandbox carries one project-scoped Kortix token and no third-party keys. The banking or ledger credential is decrypted server-side and attached to the outbound request, then thrown away.
A record per call, with the approver on it
The connector and exact action, the agent, the person or trigger behind the session, the outcome, a hash of the inputs, and who released a held call. The gateway that resolves the credential is the same thing that writes the row.

The same platform, the other teams

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.

All solutions →
Finance

Hand over the assembly. Keep the judgement.

Open source and self-hostable. Any model, your keys. Kortix Cloud, your own VPC, or your own on-prem network.

Kortix for finance teams