Skip to content

Month-end from nine days to two

A 22-clinic group where finance spent the first third of every month reconciling and the rest reporting on numbers that were already stale. We built a reconciliation agent with a hard approval gate at the ledger, and the close moved from nine days to two.

Healthcare

9days to close the month
Services
Accounts & Finance Agents, Web Application Development
Duration
14 weeks
Year
2025

What was actually wrong.

Twenty-two clinics, four practice management systems, and a finance team of six spending nine days a month on matching.

Denial patterns were invisible. Each denial was worked individually and the root cause was never aggregated, so the same errors recurred every quarter.

Any automation touching a healthcare ledger had to be fully auditable. 'The model decided' was not going to be an acceptable answer to anyone.

How we went at it.

01

Established the audit requirement first

Before scoping capability we wrote down what an auditor would need to reconstruct any automated action. That document shaped the architecture more than the feature list did.

02

Separated matching from posting

The agent matches, investigates and prepares. It cannot post to the ledger. A human approves every write, in batches, with the evidence rendered alongside.

03

Aggregated denials by root cause

Every denial is categorised on arrival. Within two months three systemic coding issues were visible that had been costing the group money for years.

04

Built the close console

A single screen showing what is matched, what is broken and what is waiting on a person — with each figure traceable to its source document in one click.

The build, in five panels.

Scroll the deck, or use the arrows. Everything here is also written out above and below.

Source document
Agent reasoning
Proposed entry
Approver identity
Ledger write
01

The audit requirement came first

What would an auditor need to reconstruct any automated action? That answer shaped the architecture before any feature did.

Bank feed
Agent match
Evidence pack
Human approval
Ledger
02

Matching and posting are separate

The agent prepares. A human posts. There is no code path where that order is reversed.

Coding38%
Eligibility27%
Documentation19%
03

Denials, aggregated

Categorising on arrival made three recurring coding errors visible within two months.

Operator console
  • Matched 4,812
  • Breaks 61
  • Awaiting approval 14
04

The close console

Matched, broken, and waiting on a person — with every figure one click from its source document.

M1 — 3 days
M2 — 2
M3 — 2
M6 — 2
05

Six months, held

A two-day close in the first month is luck. Six consecutive months is a process.

What moved, and over what period.

Reported against the metric agreed before the engagement started.

9Days to closeSustained across six consecutive months
0Systemic coding issues foundInvisible when denials were worked individually
0%Of ledger writes human-approvedBy design, and unchanged
0%Auto-match rate on bank linesBreaks are genuine breaks
Month-end used to take nine days. It takes two. The agent does the matching overnight and flags only what it genuinely cannot resolve.

Built with

ClaudeNetSuiteNext.jsPostgreSQLAWS

A configurator that opens on a phone on a factory floor

Next case study
Manufacturing & Industrial

Know what you need, or don't. We can help either way.

Already sure you want an agent, or a web, mobile or 3D product? We can scope it on the call. Still figuring it out? That's fine. AI is new, and we'll tell you honestly what's realistic. Chances are we've already worked with a company like yours, or a direct competitor, so we're not guessing.

Engagements start at $3,000. Typically live in under a month.