← Selected work

Workflow automation · Data engineering · Finance operations

Rebuilding Finance Close with AI

How do you turn a week-long monthly reconciliation into a review of exceptions?

Company
Honeycomb
Period
2026–Present
Disciplines
AI Transformation, Workflow Automation, Finance, Data
Chapters
8
89%
of contracts reconciled automatically end to end
11%
Intentional human-review exceptions
<20%
Target exception rate
1 week
Previous monthly close time
00

The 60-second version

The problem
The constraint was not speed of calculation.
The scale
1 week previous monthly close time
My role
AI Transformation Lead. Reframed the request from 'close faster' to 'encode the truth once'.
What changed
The SQL, Python, and JavaScript behind the workflow, written by me for the first working version.
The result
Finance moved from a full week of manual reconciliation toward reviewing a small exception set.
01

The situation

At Honeycomb, the monthly ARR close was a manual, cross-system slog. The Finance team spent a full week recalculating ARR and reconciling figures against contract lines because Salesforce could not encode all the business logic required to produce the real number. The work was repetitive, error-prone, and consumed senior Finance capacity at the most predictable bottleneck in the month.

02

The actual problem

The request was

“Help Finance close faster with AI.”

Discovery showed

The constraint was not speed of calculation. It was missing, scattered business logic, rules living in spreadsheets, tribal knowledge, and contract PDFs that Salesforce never captured.

Adding AI on top of a broken data model would have automated confusion. The real work was reverse-engineering the rules, rebuilding ARR from first principles using the actual contract evidence, and creating a system where Finance reviewed exceptions instead of rebuilding the truth every month.

03

What I learned

  • Pulled contract data from Salesforce and the Snowflake datamart alongside the actual PDF contracts to identify where the source systems diverged.
  • Interviewed Finance SMEs to surface the tribal rules and edge cases that never made it into documentation.
  • Mapped each contract against business-logic categories to separate clean, repeatable cases from genuine exceptions.
  • Validated the rebuilt ARR logic against historical closes to measure coverage before asking the team to trust it.
04

How I framed it

Exhibit

From Manual Reconciliation to Exception Review

  1. 01

    Ingest

    Contracts from Salesforce, Snowflake, and source PDFs

  2. 02

    Classify

    Apply rebuilt business-logic rules to each contract

  3. 03

    Resolve

    89% of contracts reconciled automatically end to end, with traceable logic

  4. 04

    Flag exceptions

    11% route to Finance on purpose: special discounts, custom POC work

  5. 05

    Learn & refine

    Each exception feeds back into the rule library

The loop matters: exceptions are not noise; they are the next set of rules to encode.

What you're looking atThe old process rebuilt truth every month. The new process encodes the rules once and routes only exceptions to human judgment.

Exhibit

Contract Coverage

Reconciled automatically
89%
Intentional exceptions
11%
What you're looking atThe first milestone was not full automation. It was moving the team from rebuilding everything to reviewing almost nothing.
05

What we built

  • 01The SQL, Python, and JavaScript behind the workflow, written by me for the first working version.
  • 02Prompts, Claude skills, extraction schemas, and field mappings that turn a contract PDF into structured, comparable evidence.
  • 03MCP connections into Salesforce and Snowflake so the system reads the real records instead of a copy.
  • 04Deterministic ARR and iACV calculation logic, kept in code so the same inputs always produce the same number.
  • 05Evaluation sets built from historical Finance decisions, used to check false positives, false negatives, and misclassified exceptions before anyone was asked to trust it.
  • 06A human-review HTML interface where Finance sees the discrepancy, the evidence, and the proposed resolution, and approves or rejects inline.
  • 07Orchestration that runs the whole path, an autogenerated spreadsheet of open exceptions, and a Slack notification when it is ready for review.
  • 08A feedback loop so each reviewed exception either becomes a rule or stays a judgment call on purpose.
06

My role

Problem framing
Reframed the request from 'close faster' to 'encode the truth once'.
Personally built
Built the first version end to end: SQL, Python, JavaScript, prompts, Claude skills, schemas, mappings, MCP connections, orchestration, and the review UI.
Rule engineering
Reverse-engineered the contract logic that produced the real ARR number, then kept the math deterministic.
Evaluation
Built the evaluation sets from historical closes and worked every disagreement back to the source evidence.
Enablement
Delivered exceptions as a spreadsheet and a Slack ping, because that is how Finance already worked.
07

The outcome

  • Finance moved from a full week of manual reconciliation toward reviewing a small exception set.
  • 89% of contracts reconciled automatically end to end, with traceable, auditable logic.
  • The remaining 11% stayed with people on purpose: special discounts and custom POC work, where Finance judgment is worth more than a higher automation rate.
  • The work became a template for how Honeycomb automates high-value business workflows safely.
08

What I'd do differently

The lesson I keep learning: AI is not the product. The product is the judgment you embed in the system, and the trust you build by showing your work. Finance did not need a chatbot. They needed the contract truth to live somewhere they could audit.

09

Written in more detail

How I Automated 89% of a Finance Reconciliation Process Without Letting AI Do the Math →

Contact

Let's get into it.

Ambiguous problem, AI adoption that stalled, an operating model that stopped scaling, a support function that should be a product. That is the conversation I want.