Machine
Solutions · Finance

The close,with the working shown.

Reconciliation, variance, the schedules 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 take on faith.

Every figure traces to a source · posting can wait for your yes

Finance sessionrunning
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
01The handoff

It does the assembly. You make the call.

Month-end was never hard because of the accounting. It's hard because of four days of pulling, matching, chasing and formatting before anyone qualified gets to look. That's exactly the kind of work a session is good at, and exactly the kind a spreadsheet macro never quite fit.
Job 01

Reconciliation, line by line

It matches the ledger against the statement, groups the mismatches by likely cause, and flags the truly ambiguous ones instead of forcing a match. The unmatched list is the deliverable. A clean run that hid three problems isn't.
Job 02

Variance, with the reason attached

Plan against actual for each cost centre, then the part people actually want: which transactions drove the gap, and a plain-language explanation of each one that a non-finance reader can follow.
Job 03

The supporting schedules

Accruals, prepayments, deferred revenue, fixed asset roll-forwards. Mechanical and rule-driven, rebuilt from source every period instead of a workbook that has been copied forward since 2023.
Job 04

Invoice intake and coding

It reads the invoice, pulls out the fields, and proposes cost-centre and account coding against your own chart. Anything it isn't sure about goes into a queue for a person instead of getting posted as a plausible guess.
Job 05

The receivables chase

Who's late, by how long, and what was said last time. It drafts the next message for each account in the right tone (a first nudge and a fourth aren't the same email) and leaves them for you to send.
Job 06

The reporting pack

The same figures, laid out in the format your board reads, with commentary drafted from the variance work instead of written from scratch at midnight.
02What comes back

A workbook, and a note explaining every line.

In finance, "the AI said so" isn't an answer. So the output is built to be checked. Every figure carries the source it came from, and the arithmetic sits in a file you can open, not 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. The figures are fictional but add up. Not a real ledger.

Every figure has a source

The workbook is derived, not typed. Each line carries the query or document it came from, so the review question becomes "is this the right source?" instead of "where did this number come from?"

It's allowed to say it isn't sure

Unmatched lines and uncertain codings arrive as a queue, not a decision. In finance, an agent that quietly resolves ambiguity is worse than no agent at all.

Your 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's versioned and diffable, and every improvement is a change someone reviews.
03Where it reaches

The ledger, the bank feed, and the spreadsheet everyone really uses.

In finance, reading and writing are truly different risks. Connect each system once for the project. Every credential is decrypted on our side and attached to the outbound call, never placed in the machine.

Stripe

Connected straight from its API description, with no middleman. Machine reads the specification, works out the authentication, and turns every operation into its own tool with its own answer.

Google Sheets and Drive

Where most finance teams actually do the work. It reads the plan, writes the workbook, and leaves the file where your team already opens it.

Your accounting and banking systems

If your ledger is in the Easy connect catalogue, it's a click and an OAuth screen. If it isn't (and plenty of accounting systems aren't), you can reach it through OpenAPI, a Postman collection, GraphQL, raw HTTP or a remote MCP server.

Gmail and Outlook

For the intake side: 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 about the close in a thread, and that 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 not every finance system is in it, and we won't pretend otherwise. Where the catalogue stops, the direct connector types take over. And if your ledger has no API at all, the honest answer is that this stays a workbook-and-approval workflow.

04How it runs

Ask on the fifteenth. Run it on the first.

Finance work is the most naturally scheduled work in the company. That makes it a natural fit for a trigger, and the place where it matters most to be exact about what a trigger may do.
01 · On 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 the next report cycle to answer a question about a number.
02 · Human-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 that call with the exact entry in front of you. Approve, and the same call completes.
03 · Automated

The close, started before you arrive

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 for you. The judgement is still yours. The four days of assembly aren't.
05Control

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

In finance, the controls that matter aren't about the model. They're about which outbound calls are allowed, who approved them, and whether you can prove it later.
01

Approval gates are off until you turn them on

Out of the box, Machine is permissive: an action runs unless you've said otherwise. In a finance project, your first configuration change is Ask on every write to a system of record and Block on every delete. It isn't done for you.
02

Block can't be approved away mid-run

An action set to Block is simply unavailable, and no approval prompt can lift it while a session is running. Voiding a payment stays off the table by configuration, not by good judgement under time pressure.
03

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 can't merge unless an admin grants project.cr.merge in your project config, and widening that grant is itself a reviewed change.
04

Connector credentials never enter the machine

The sandbox holds one project-scoped Machine token and no third-party keys. Your banking or ledger credential is decrypted server-side, attached to the outbound request, then thrown away.
05

One 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 one that writes the record.
Finance

Hand over the assembly.Keep the judgement.

One governed platform for your finance agents. Any model, your keys, every action on the record.
  • One machine per session
  • Lands as a change request
  • Every action recorded