Grounded · your finance context layer
Ask anything.
Verify everything.
Grounded ingests the finance shared drive: the board packs, the budgets and forecasts, the contracts and invoices, the analysis, the meeting notes, your own notes. Excel, PDF, Word, PowerPoint, CSV, scans. So you and your agents can ask it anything and act on the answer.
Every number cites the file it came from and the place in it: the cell in a workbook, the page and paragraph in a PDF, the slide, the line in a scan. Code checks it before you see it. When the documents can't support an answer it says "I can't confirm that." The files stay the source of truth.
Built by one person. Not for sale. This page is the case study: what I built, how it measured up, and what broke.
Ask Grounded anything
One question, one answer, every figure traced to its source. Click a citation and the document opens on it, the cell, the page or the slide. Ask something the documents can't support and it tells you so.
Four documents read for one line. The arithmetic ran in the calculator, not the model. The stale cheque is named, not buried in "reconciles".
YES, the May pack cash ties to the bank reconciliation arithmetically, but one stale item needs a reviewer decision before the bank rec is complete.
Bank statement close: £9,882,613.23 per the May operating account statement 40
- Cheque 004182, Airedale Window Cleaning: £1,850.00, still outstanding at 12 Jun 14
- Expense claims batch £23,412.77 and supplier payment run £1,191,437.29, both cleared 1 Jun 14
- Customer remittances £161,309.55 and card settlements £84,166.20, cleared 1 to 2 Jun 1
That agrees to the cashbook closing balance of £8,911,388.92 19 and rounds to the pack's cash figure of £8,911k on the Balance Sheet 1.
Give your agents the context
Grounded runs as an MCP server. Claude, Claude Code, the Slack bot or any agent asks it and gets the same answer a person would, cited and checked, with the trust chain attached. The agent never receives a bare number.
ask_grounded the full pipeline, cited answer, thread link
search_corpus hybrid retrieval over your documents
list_documents what is in the estateRun the close
Six close skills in order with a person at every gate: the WD3 flash, journal approvals against the delegation of authority, the accrual sweep, the bank rec, the variance pack, orchestrated by the checklist. Every figure is cited and every reviewer decision is logged.
The May-26 pack is already issued (10 June, status Final 20), so this runs as a re-run of the May close checks against the issued pack.
| WD | Step | Owner | Status |
|---|---|---|---|
| WD1 | Sales ledger and despatch cut-off | Dev Patel, AR & Credit | Owner step |
| WD2 | Purchase ledger close; carrier & freight accruals posted | Marta Kowalska, AP · Ben Tranter | Accrual sweep · gate |
| WD3 | Flash: revenue and gross margin to CEO & CFO | Priya Nair, FP&A | Flash · gate |
| WD4 | Segment reviews: GMs confirm revenue by channel | Helen Drummond + GMs | Owner step |
| WD5 | GL locked; manual journals FC-approved | James Whitfield, FC | Journal approvals · gate |
| WD6 | Bank rec and pack drafted | Priya Nair, FP&A | Bank rec · gate |
| WD8 | Monthly Reporting Pack issued | James Whitfield, FC | Issued FINAL 10 Jun |
01 · What it is
Cited to the source.
The file and the place in it: the cell range in a workbook, the page in a PDF, the slide in a deck. Click it and the document opens there.
Checked by code.
A guard outside the model traces every figure in the answer. Any figure it can't trace is held back, and the answer says so.
Refuses rather than guesses.
"I can't confirm that from the documents provided." It doesn't invent a figure or a name to fill the gap.
Knows which version is real.
Superseded documents get demoted, and the answer names the version it used.
Runs the close.
Flash, journals, accruals, bank rec, variance pack, with a reviewer gate between each step.
Reachable by people and agents.
The browser, Slack, Claude through MCP, your own scripts through the API.
02 · What this means for you
CFO
Challenge the board pack line by line before the board does. Ask a what-if and get it in three tiers: the facts cited, the assumptions written down, the opinion last. Reopen an answer from March in September and the sources are still there, because the audit package outlives the conversation.
Finance partner
The 4:45-on-a-Friday question answered by 4:50, with the cell to show for it. Two reports that disagree, reconciled, both sources cited, a verdict given. The month-end steps run in order, and you sit at the gate instead of in the spreadsheet.
New hire
Your first month without asking anyone where anything is: the structure, the reporting cycle, the coding, who signs what. Every answer points at the document that says so.
03 · Use cases
Three questions, answered with receipts.
Check the board pack
"Does the cash in the May pack tie to the bank?"
Yes, through the cashbook, two timing items cleared, one stale cheque flagged for a decision.
Yes, the May pack cash ties to the bank reconciliation arithmetically, but I need a reviewer decision on one stale item before I can mark the bank rec fully complete.
Reconciliation check:
Bank statement close: £9,882,613.23 per the May operating account statement 40
Less unpresented payments from the May bank rec:
- Cheque 004182 — Airedale Window Cleaning: £1,850.00, still outstanding at 12 Jun 14
- Expense claims batch: £23,412.77, cleared 1 Jun 14
- Supplier payment run: £1,191,437.29, cleared 1 Jun 14
Add uncleared lodgements:
- Customer remittances in transit: £161,309.55, cleared 1 Jun 1
- Card settlements: £84,166.20, cleared 1–2 Jun 1
Calculator check:
That agrees to the cashbook closing balance of £8,911,388.92 1, independently shown in the May cashbook extract as the closing balance c/f 19. It also rounds to the May Monthly Reporting Pack cash figure of £8,911k on the Balance Sheet basis 1.
Verdict: arithmetic TIES to the May pack, at £’000 rounding.
Checkpoint: Cheque 004182 for Airedale Window Cleaning is still outstanding and flagged as stale/review-required 14. Please choose: chase, reissue, or write back per policy. I’ve written the verification note to deliverables/bank-rec-verification-May-26.md with the decision pending.
Do these two reports agree?
"Do the December route results agree with the P&L on total operating expense?"
Material mismatch, $1.4M, both sources cited, the late true-up found in the contract.
NEAR-MISS — they do not quite agree. The December FY26 Route Results show YTD SSR total operating expense of $1,158.1M 169170, while the MTD P&L shows YTD total expense of $1,159.5M 171172: a $1.4M gap.
| Line item | Route Results by Service Line - 1225 | MTD P&L - 1225 | Difference |
|---|---|---|---|
| YTD Dec FY26 total operating expense | $1,158.1M | $1,159.5M | $1.4M Σ |
Materiality: $1.4M on the larger reported value of $1,159.5M = 0.12%.
Likely cause shown in the notes: there was a known December/January timing issue around the Meridian winter-cycle true-up: the central P&L accrual route was considered fine, but late items could slip the route-level extract, especially on “Non-Corridor Special Trains & Adjustments” 24. Since the MTD P&L is the anchor when reports disagree, I would treat the P&L as the control total and follow up on the route extract.
A new user coming in
"How is Caldergate's management structured?"
The org, the five cost centres, the five budget owners, drawn from the documents and cited.
Caldergate’s management structure is shown as a group executive team led by Robert Calder, CEO. Beneath him are five functional directors, who are also the budget owners for the five cost centres: CFO/G&A, Operations/Warehouse & Logistics, Commercial/Sales & Account Management, Procurement & Merchandising, and IT & Digital. 3420 Segment general managers report to the Commercial Director, while the three depots — Leeds NDC, Bristol RDC and Glasgow RDC — report to the Operations Director. 2122 The finance team sits under the CFO, with controller, FP&A, management accounting, AP, AR/credit and payroll roles; controller-side work covers close/journals/statutory/covenants, while FP&A owns the pack, flash, budget and LF1. 343536
Caldergate Distribution Group Ltd
└── Robert Calder — Chief Executive Officer
├── Sarah Okonkwo — Chief Financial Officer
│ ├── G&A / CC-50 budget owner
│ └── Finance team
│ ├── James Whitfield — Financial Controller
│ ├── Priya Nair — FP&A Analyst
│ ├── Ben Tranter — Management Accountant
│ ├── Marta Kowalska — AP Lead
│ ├── Dev Patel — AR & Credit Lead
│ └── Joan Pickering — Payroll Administrator
├── Marcus Webb — Operations Director
│ ├── Warehouse & Logistics / CC-10 budget owner
│ └── Depots
│ ├── Leeds NDC
│ ├── Bristol RDC
│ └── Glasgow RDC
├── Helen Drummond — Commercial Director
│ ├── Sales & Account Management / CC-20 budget owner
│ └── Segment GMs
│ ├── Tom Askey — GM, Facilities & Safety Supplies
│ ├── Rachel Vine — GM, Industrial Consumables & Packaging
│ └── Daniel Mercer — GM, Office & Print Solutions
├── Laura Bexley — Procurement & Merchandising Director
│ └── CC-30 budget owner
└── Sanjay Rao — IT & Digital Director
└── CC-40 budget owner
Also shown within G&A:
└── Fiona Marsh — HR & Corporate Services
Commercially, the three segment GMs own revenue by segment, and each segment sells through the same three channels: contract & framework, spot & project, and trade counter & online. 2141
04 · The whole estate
All your finance documents, working together.
Whether you're answering the board or briefing an agent, you should be working from the whole estate, not the three files you happened to remember.
What goes in
- Board packs, budgets, forecasts, management accounts
- Contracts, invoices, bank statements, GL extracts
- Policies, the delegation of authority, the close calendar, the glossary
- Meeting notes, company notes, your own notes
- Excel with the grid intact, PDF with the page, Word, PowerPoint, CSV, scans
Not a warehouse. Nothing gets extracted into a table you then have to trust. Every answer reads the file, every time. That one decision is where everything else on this page comes from.
Built in
- The viewer that opens a workbook on the cited cell, or a PDF on the cited page
- The calculator and the trust chain under every answer
- Six close skills, reconciliation, advisory
- Audit packages that survive a deleted conversation
- Your own golden questions, scored before every release
- MCP server, Slack bot, REST API
Found the source.
05 · Go deeper
The rest of the family.
All thirteen use cases
One real question per page: the answer, the citation clicked open, the trust chain. By role: CFO, finance partner, new hire.
MCP
Give Claude, Claude Code or any agent the estate. Endpoint, key, three tools, one config block.
API
Documents, folders, chat over SSE, threads, audit, evals, notes, skills.
Security and data
Tenancy, encrypted keys per organisation, PII redaction, the documents-only policy, where the model provider sits.
Engineering record
81 of 81 on the Board Pack Test, fourteen decision records, eight incidents, what is mine and what is the scaffold, and every feature tagged built or backlog.
06 · Hiring?
Need this kind of build on your team?
I take contract roles in finance automation and FP&A systems. Ask me anything about how Grounded works; I'm happy to walk through the parts that broke as well as the parts that worked.
- Contract, outside IR35
- Available now
07 · Common questions
What people ask about it.
What is Grounded?
Grounded is a finance document analyst I built to show what verifiable AI looks like in practice. It reads budgets, forecasts, variance reports and board packs, and answers questions in plain English with the exact source cited: the file, the schedule, the cell. When the documents can't support an answer, it says "I can't confirm that" instead of guessing.
Is Grounded for sale?
Not as a product or a licence. I'm one person, and this page is a case study of how I build. The same techniques go into the finance automation work I do on contract: figures checked by code, tests with known answers, and an audit trail on every run.
Did you build all of it?
No, and the line matters. Grounded started as a fork of a retrieval application from a paid course, which already had the chat loop, search, ingestion and a front end. What I built on it is the part a controller would care about: verification, cell-level spreadsheet handling, evals, tenancy, audit and operations. The full account is in the provenance note in the engineering record.
Why not just upload the spreadsheet to ChatGPT?
For one file, one question, once, that genuinely works. But a chat upload flattens a spreadsheet into text, forgets everything between sessions, and can't tell you which version a number came from. Grounded reads the grid by position, keeps the whole set of documents ingested, and cites every answer to the cell so checking takes seconds.
What's the difference between a citation and a verification?
A citation shows where a number claims to come from. A verification proves it's right. Most AI tools stop at the first: a tidy footnote next to a figure the model produced. Grounded does both. Citations are captured from what was actually retrieved, arithmetic runs through code rather than the model, and every figure in an answer is checked against the documents before you see it.
Can my agent use it?
Yes. Grounded runs as an MCP server, so Claude, Claude Code or anything else that speaks MCP can ask it and get the cited answer, trust chain included. Set-up is one config block; the MCP page has it.
08 · Public record
Essays, examples and what changed.
The dated record: benchmarks, worked answers, videos, releases and the ideas behind the build. Newest first.
- PageGrounded site family, thirteen use cases answered with receiptsThe real answers re-set as HTML by role, the citation clicked open, the trust chain; MCP, API, security and the engineering record alongside
- PostAn AI agent is a loop. Here is the loop.
- Releasegrounded-field-notes goes public ↗Text-only engineering record of the build, with provenance for every claim
- PostCitations aren't verification
- PostThe anatomy of a financial knowledge base
- VideoWhy your AI can't find your invoice, the three searches taught ↗
- VideoYour AI doesn't know which budget is real ↗The full film on version-correct answers
- PostThe questions your finance team has stopped asking
- PostHow to use AI at work without leaking data
- VideoGrounded on the Caldergate close pack, a walkthrough ↗
- PostThe Board Pack Test: I gave four AIs the same board pack, then graded them with a script
- BenchmarkThe Board Pack Test repository, re-gradable by anyone ↗Pack v1.0.1, grader script, four AI transcripts. Holdout set never published.
- Post"Why not just upload it to ChatGPT?" The honest answer
- PostHow an AI agent searches your files (and why Excel fights back)
- PostWhat is an API, actually?
- PostA runway question, answered with receipts
- PostThe $2.1 million that was only in one of your reports
- PostAnalysis is answering questions, but three-quarters of it is finding things
- PostThe 4:45-on-a-Friday question

