Production ready

CFO Agent · AI-enabled finance

Answers in 30 seconds, and the routine finance work done for you.

A finance assistant for your published finance material: the policies, the procedures and the reports that have already been issued. It answers with the source behind every figure, at the asker’s access level, and it runs the recurring finance processes you have already written down.

What it answers, what it runs, stated plainly

  • Answers from your published material: policies and procedures, plus issued reports and registers your team has already reviewed. Every answer cites its source and is rendered at the asker’s tier
  • Answers from spreadsheets and workbooks in your document library, resolved by calendar so "last month" finds the right file
  • Runs the recurring finance processes you have written down: collection reminders on your own dunning cadence, report distribution to the right audience, deadline chasing to the owner of each step. On request or on a schedule
  • Nothing leaves the company without a named person approving the draft, and it never states a figure without a source it can name
  • Live connections to your ERP, core banking or data warehouse: an extended capability, designed and scoped to your request rather than shipped by default
  • Figures computed from transaction data, with the reconciliation and approval rules your finance function already applies
CFO Agent
What was our revenue last month?
June revenue closed 8% above plan, with gross margin holding at 41%. Collections improved: overdue receivables are down to two accounts.
Tier: Exec ✓Source: Monthly-Report-2026-06

Was this answer helpful?

👍👎
What about current AR?
All invoices have been paid except one: Acme Ltd, invoice INV-2214, now 15 days overdue. The client-level aging detail is in the weekly receivables report.
Tier: Exec ✓Source: Receivables-Weekly-W31

Thanks. What was wrong with it? (optional)

The total is right, but it should name the invoices behind it.
Send

✅ Thanks, this is recorded and will be reviewed.

/ar-remind Acme Ltd
Draft ready. Review the card and approve to send from the finance mailbox. Nothing goes out without your click.
Approval card · Exec onlyAudit logged

AR reminder draft · Acme Ltd

InvoiceINV-2214
Overdue15 days
Send fromFinance shared mailbox
Reminder levelFinal notice
Send emailRequest changesCancel
Reminder sent to Acme Ltd from the finance shared mailbox, with the invoice and the final-notice wording you approved.
Sent once · idempotentAudit logged

Was this answer helpful?

👍👎

What this AI agent does for your finance function

Numbers with named sources

Revenue, margins, receivables, budget versus actual: every answer names the exact report or procedure it came from, with a link to the original.

Reads your real documents

PDF, Word, Excel, PowerPoint and markdown, read in place from your document library. Reports are resolved by calendar, so "last month" always finds the right file.

Three tiers, one identity source

Leaders see the numbers, managers see P&L and budget, staff see the process only. Tiers are bound to your corporate directory groups, not to a separate user list.

Group chats stay safe

In a group chat the answer follows the least-privileged member present, even when the CEO is asking, and the agent offers the full answer in a 1:1 chat.

Actions that follow your written process

Report distribution to the right audience, overdue-invoice reminders, deadline chasing to the owner of a step. Each one is drafted from your documented process and actioned only with your approval.

On a schedule, not only on request

The recurring work runs by itself: the weekly receivables cycle, the month-end report round, the reminders nobody wants to be responsible for remembering. You still approve what goes out, but you no longer have to start it.

The same question, one answer per role

Access tiers map to your existing organisation, and the boundaries are enforced in the retrieval layer, before any model is involved.

Exec

  • Full financial reports and statements
  • Receivables by client, banking records
  • Budget, close, audit topics
  • Aggregate payroll from issued reports only

Manager

  • P&L, budget versus actual
  • Receivables aging, month-end close
  • Finance procedures and controls
  • No payroll, no client contracts

Staff

  • Procedures: expenses, invoicing, approvals
  • Policy explanations
  • No figures, no reports

Guest / External

  • Polite refusal
  • Access request path explained
  • No retrieval, no model call
Hard floor: raw payroll data is blocked for every tier, including executives. The block is hard-coded in the retrieval layer, so no configuration change and no clever prompt can open it.

Under the hood

Built for a security review, not just a demo. The decisive control is deterministic: documents are filtered in code before the model sees them. And because safe is not the same as useful, every answer also collects a verdict from the person who read it.

  • 453 automated tests, plus a 24-case adversarial security evaluation run against the live models before any prompt change ships
  • Every answer rated by its reader: a thumbs up or down is written onto the same audit row as the guard verdict and the sources, and a thumbs down opens an optional 300-character note, so a wrong figure comes back with the why attached
  • Deterministic citation check: every file the answer names must have been retrieved this turn, or the answer is regenerated
  • Double-send impossible by design: reminder emails claim an idempotent state transition before the mail API is called
  • Permanent audit trail: one immutable row per question and per action step, holding the tier, the question keywords, the sources, the guard verdict and the answer status, never the question wording or the answer text
  • Payment details never touch the AI: bank details are appended from a secure vault after every check has passed, so no model in the pipeline ever sees an account number
  • Serverless on your cloud: near-zero running infrastructure cost, with model spend metered per question in the admin console
  • Model per role is configuration: answer, guard and keyword models are three environment variables over Amazon Bedrock

Read the full XNOR Agents security model

Answer path · read-only Question in chat asked in English or Vietnamese Tier resolved from your directory group membership, not a separate user list Documents filtered in code out-of-tier files never reach a model Citation check, then the answer a source it did not retrieve is rejected Only a named approval crosses this line one click Action path · write, gated Draft built from your process leader tier and private chat only Approval card a person confirms recipients frozen from a controlled list Bank details appended from the vault after every check, so no model ever sees them Sent once, then audited an idempotent step makes a double send impossible

Answering is strictly read-only. Nothing on the write path starts without a person confirming the draft, and the audit row is written either way.

Common questions

Does our finance data leave our systems?

No. The agent reads documents in place from your library, within the permissions you grant, and takes no copy of your data anywhere. In a typical engagement the whole stack is deployed on your own cloud accounts.

What stops it from inventing numbers?

Three things. It answers only from documents attached to the current question. A deterministic check verifies that every source the answer names was actually retrieved this turn. And when a report does not exist, it says so and names the folder where the report should live, instead of guessing.

Can it send an email on its own?

No. Question answering is strictly read-only. The one write action, a collection reminder email, is gated five ways: leader tier only, private chat only, an approval card a human must confirm, recipients frozen from a controlled master list, and a kill switch that disables the feature in seconds.

Does it connect to our ERP or core finance system?

Not in the standard scope, and yes as an extension. Out of the box the agent works on your document layer: reports, registers, procedures and spreadsheets, including live Excel workbooks, with Microsoft 365 and SharePoint supported today and other document stores adapted per engagement. A live connection to an ERP, core banking platform or data warehouse is an extended capability we design against your request: which entities and periods are exposed, which reconciliation rules apply, who may see a figure before it is published, and how a query result is cited in an answer. It runs on the same permission model, the same guard and the same audit trail, so the security review you do once covers both. We scope and price it separately because the effort is in your data model, not in the agent.

How do you measure whether the answers are any good?

Every answer carries a thumbs up or down, and the vote is recorded on the same audit row as the guard verdict and the sources used. A thumbs down opens an optional note of up to 300 characters. That gives the finance owner two numbers security testing alone cannot produce: satisfaction across voted answers, and how often the guard blocked something a reader then called unhelpful, so an over-strict rule is caught and corrected with evidence instead of anecdotes.

Next step

See the CFO Agent on real finance questions.

Book a 30-minute demo: we show the agent answering, refusing, and drafting a collection reminder in production.

We sketch the permission tiers for your finance team in the same call.