Work

Case study deck · 9 slides

SaaS & finance

Month-end close: 2–3 days to 1 hour

4 SaaS companies, $2M combined MRR

Process Redesign & BuildAdoption & Enablement
01 / 09

The challenge

What was broken

Four companies, three accounting stacks, the same pain: a controller losing most of a week reconciling billing against cash that landed on a different clock. A mid-cycle upgrade booked revenue on the 14th; the settlement hit the bank feed on the 16th, net of a fee. Each controller had built brittle VLOOKUPs to paper over it, and each month something new broke the match.

Unmatched reconciliation items per close, pre-automation baseline across the four companies (count)
02 / 09

The approach

Scored on the Durable AI Index

We mapped the close calendar as it actually ran, not as the handbook said, and found the same four-step skeleton under all four processes: pull billing, pull the bank feed, match against the chart of accounts, render a close pack. We built one pipeline with swappable connectors and proved it first against the messiest stack, a manual multi-entity QuickBooks consolidation, before rolling it out to the cleaner setups.

DURABLE AI INDEXImpact86Feasibility88Stickiness8850at startafter redesign
High impact, low stickiness. The gap was the workflow, not the model.
03 / 09

What we built

The system, not just the model

We redesigned the workflow around the model, then built the pieces that make it run every day.

  1. 1

    Connectors pulling billing, bank feed and GL data into one schema

  2. 2

    Matching engine handling proration, settlement lag and fee netting

  3. 3

    Exception queue surfacing only what the engine can't auto-match

  4. 4

    Self-rendering close pack with variance analysis pre-populated

04 / 09

Inside the build

The four-stack close pipeline

One reconciliation and close-pack architecture running under three accounting stacks, connectors swapped at the edges, matching logic held constant.

Close time: 1 hrErrors: -80%Txns/mo: 150+

Tools & systems

billing-system exportsbank feed reconciliationmulti-entity GL mappingETL orchestrationexception-queue matchingclose-pack templating

01 · Source systems

3 accounting stacks, 4 companies

billing exportsbank feedGL / chart of accountsmanual entity workbooks

02 · ETL / reconciliation layer

150+ transactions matched monthly

schema normalizationproration matchingsettlement-lag handlingexception queue

03 · Close reporting layer

1-hour render time

variance analysis tabclose pack exporton-demand regeneration
05 / 09

Results

What good looks like

1-hour close

Down from 2–3 days, with ETL automation

80%

Reduction in reconciliation errors

150+

Transactions automated monthly

100%

Of the freed time redirected to variance analysis and insights

MONTH-END CLOSE TIME60Before (2–3 days)1After (1 hour)
06 / 09

How it stuck

Adoption is the deliverable

The exception queue is why controllers kept opening the tool instead of quietly rebuilding spreadsheets on the side. Unmatched items dropped from 30-40 to single digits by month three, and every one left was a real judgment call, not a timing artifact. Two controllers now close mid-month on partial data just to watch variances trend.

050100month 6This engagementTypical pilot
Share of monthly closes run through the automated pipeline vs. reverting to manual workbooks, by month since go-live
07 / 09
I used to block out the first week of every month. Now I close on the 2nd and spend the rest of the week actually looking at the numbers.

Controller, portfolio company (4-entity SaaS group)

08 / 09

Want this for your business?

Book a free 30-minute AI opportunity assessment. You will leave with at least one concrete idea.

09 / 09