// Case Study · Construction

How a Michigan GC unlocked $140K in stuck AR by automating closeout packages

// Published 2026.04.22// 14-Day Build// $18K Standard Tier// Net Year-1 Value > $250K

A $20M Michigan general contractor (we’ll call them Northbound) was sitting on a closeout backlog that quietly stranded six figures of finished revenue. In six weeks, an operator-built closeout automation collapsed their 22-day cycle to 4 days and pulled $140K of stuck AR back into the checking account. This is the engagement — before, during, and after.

// 01 · The Company

Northbound: a $20M Michigan general contractor running 35-40 concurrent jobs.

Northbound (codename; details lightly anonymized) is a regional general contractor headquartered in the Great Lakes Bay corridor with roughly 42 employees. Their book is a mix of mid-sized commercial construction, light industrial buildouts, and long-cycle work for institutional clients in higher education and healthcare. At any given moment they have 35-40 jobs in various stages of completion, ranging from $80K interior retrofits to $2.4M ground-up builds. Closeout packages are contractually required on every project before final draw can be invoiced.

Like most contractors in the 30-50 employee bracket, Northbound had a single closeout coordinator handling the back-office paperwork for the entire portfolio. She was sharp, organized, and chronically overwhelmed. Their accounting was on QuickBooks Desktop. Photos and field documentation lived in a mix of CompanyCam, a shared Dropbox structure, and a dozen project-specific email threads. Their master project tracker was a multi-tab Excel workbook with about 60 columns and a trailing-space character in the filename.

// 02 · The Before-State

4 hours per closeout. 38 jobs in queue. $140K standing AR waiting on paperwork.

When we first met with the owner of Northbound in March 2026, he gave us the numbers without hedging. The closeout coordinator was averaging 4 hours per closeout package across punch list closure, photo curation, compliance form population, lien-waiver chase, and PDF assembly. She could produce 2 packages per week on a clean week and 1 on a bad week. At a closing pace of 6-8 jobs per month, that meant the backlog was perpetually 14-22 jobs deep.

The cycle-time number was where the pain showed. Average elapsed days from “work substantially complete” to “closeout package delivered to GC client”: 22 days. And then another 12-18 days before the GC client’s closeout coordinator signed off and released the final draw. Total job-complete-to-cash cycle: ~38 days on average.

We pulled their aging report on the second discovery call. Standing AR specifically attributable to closeout-pending jobs: $140,000. Across 13 invoices. The oldest had been “substantially complete” for 51 days. The youngest, 17. Every one of those dollars was earned, accepted, and unbilled because of paperwork.

The owner’s exact words on that call: “I don’t have a labor problem. I don’t have a sales problem. I have a paperwork problem and it’s costing me my line of credit utilization every month.”

// 03 · The Diagnosis

What we found in the four-hour discovery.

We spent four hours on-site walking the workflow with the closeout coordinator. The pattern was the one we’d expected, but with five specific failure points we hadn’t seen before:

  • Photo classification was killing her. Foremen uploaded photos to CompanyCam, but they were tagged inconsistently — some tagged by task category, some tagged by date only, some untagged. She spent ~45 minutes per closeout sorting 30-80 photos into the proper sections of the package.
  • Per-client format variation was unmanageable. Their three largest GC clients each wanted closeout binders in different structures. One wanted AIA-formatted documentation; another wanted a 60-page narrative with embedded photos; the third wanted a simple PDF with a punch-list signoff. She maintained three Word templates and manually picked the right one each time.
  • Compliance verification was reactive. She would assemble the package, send it, and find out 3-4 days later that a specific OSHA THA was missing for one of the apprentices on day 9 of the job. The GC’s closeout coordinator would reject the package, she’d chase the missing doc, and the cycle would restart. This happened on roughly 30% of closeouts.
  • Field schema drift was constant. Their master tracker columns shifted every quarter as new fields got added by leadership. She’d sometimes pull data from a stale column reference.
  • Status was invisible to leadership. The owner had no visibility into which closeouts were in flight, which were stuck waiting on the GC, or which were rejected for missing documentation. He’d ask his coordinator and she’d give him a verbal answer that was usually correct but never auditable.

The diagnosis was that this was a Standard-tier engagement, not Essentials. The assembly bot alone would have been helpful, but the compliance verifier and the per-client template engine were where the cycle-time compression would actually live.

// 04 · What We Built

The closeout pipeline at a technical level.

Four components, glued together by a single orchestration script that runs on Northbound’s tenant. Built in Python, deployed to a small private compute environment they already used for other operations work. No new SaaS license, no new vendor in the dependency chain.

A) Closeout Assembly Bot

Triggers off a job-complete signal in the master tracker. Walks the CompanyCam project, the Dropbox folder, and the master tracker row. Pulls photos (via CompanyCam API), classifies them against a per-task taxonomy with a vision model, normalizes their orientation and EXIF data, and orders them into the package structure. Pulls field-collected documents (THAs, JSAs, daily reports) from Dropbox and matches them to the per-job checklist.

B) Compliance Checklist Auto-Verifier

Each project type (commercial fit-out, ground-up, industrial buildout) maps to a different required-document checklist. Verifier confirms every required doc is present, signed where applicable, and dated within the job’s active window. Outputs a pass/fail report with specific gap callouts (‘Missing THA for crew lead on 2026-02-14’) before assembly proceeds. Gaps fire a draft email to the foreman from the bot.

C) Client-Ready PDF Generator

Three template variations encoded as parameterized DOCX templates rendered to PDF via python-docx + LibreOffice headless. Templates pull from a normalized closeout-content schema, so all three formats work off the same source data. New client format adds in roughly 90 minutes of work.

D) Signoff Tracker Dashboard

Lightweight dashboard published to a private Northbound URL. Every closeout package is a row: status (in assembly / in review / sent / awaiting GC signoff / signed / paid), days in current state, current assignee. Nudge emails fire on day 7 and day 14 if a GC closeout coordinator is sitting on a package. Owner refreshes the page once a day for full portfolio visibility.

// 05 · The 14-Day Build

Week-by-week.

Week 1. Days 1-3 were discovery and taxonomy. We sat with the coordinator for two half-days and pulled five recently-closed packages as our training set. We documented every per-client format variation, every required compliance form by project type, and the photo taxonomy (which we hardened into a 12-category schema). Days 4-7 we built the assembly bot core. CompanyCam API integration, photo classifier prompt tuning, Dropbox folder walk, and the first end-to-end shadow run against three historical closeouts. Diff against the manually-produced versions: 87% match on first pass.

Week 2. Days 8-10 we layered the compliance verifier and the three PDF templates. The verifier flagged 4 missing documents on the next two real closeouts before assembly — documents the coordinator would have caught a week later when the GC rejected the package. Days 11-12 we built the signoff tracker dashboard and wired the nudge cadence. Days 13-14 were the production cutover. The next 3 real closeouts ran end-to-end through the system with the coordinator reviewing each step. By Friday of week 2, she was running packages solo and asking for the bot to handle the fourth test case unsupervised.

// 06 · The After-State

30 minutes per closeout. 4-day cycle. $140K cleared in 6 weeks.

4 hrs → 30 min
time per closeout package
22 → 4 days
closeout cycle time
$140,000
AR cleared in 6 weeks
14 hrs/wk
returned to the coordinator

The cycle-time numbers landed within 10 days of cutover. Average elapsed time from job-complete to delivered-package dropped from 22 days to 4 days. The coordinator handled 9 closeouts in the first full week of operation, against her old 1-2 pace. The 14-job backlog was clear by the end of week 4.

The financial impact landed on a slightly slower clock, because the GC clients still had to do their part of the signoff. But within six weeks of cutover, $140,000 of standing AR had cleared into Northbound’s account. The aging report shifted from 13 closeout-pending invoices to 2. The total time-to-cash on closed work compressed from ~38 days to ~12.

Compliance rejection rate from the GCs dropped from ~30% to under 5%. The bot was catching missing documents before packages went out, and the coordinator was no longer playing whack-a-mole with reactive rejections.

// 07 · 3 Months Later

The ongoing impact.

At the 90-day mark, the numbers had stabilized. Northbound was clearing 7-9 closeout packages per week. The coordinator’s freed time went into two places: she started running the change-order intake pipeline (which Northbound had been bleeding margin on for years) and she took on partial responsibility for the master tracker maintenance. She told us she felt like a project coordinator again instead of a closeout typist.

The owner pulled his line of credit utilization down by roughly $90K average daily balance, because cash was coming in faster than it had been at any point in the company’s history. The treasury impact alone (saved interest on the line of credit at ~9% APR) was running about $1,800/month quietly in the background, on top of the labor recovery.

The biggest cultural shift wasn’t financial. It was that the owner could open the signoff tracker dashboard and see, at a glance, exactly which jobs were in which stage of the closeout funnel. He told us in the 90-day check-in that this was the single feature he’d wanted for five years and had never figured out how to get.

// 08 · What the Operator Said

“I’ve been chasing this fix for five years. Three different consultants quoted us SaaS platforms that would’ve cost more than my truck and required me to change how every foreman did their job. Qintova built what we already needed on top of the tools we already paid for, in two weeks. I had my cash back in six.”

— Operations Manager, Northbound Construction

“My coordinator started coming in on Monday mornings again without dreading her week. That’s the part the ROI math doesn’t capture.”

— Operations Manager, Northbound Construction
// 09 · Recommended Next Steps

For similar Mid-Michigan contractors.

If you’re a 25-50 person GC or specialty contractor in the Great Lakes Bay corridor with a closeout coordinator and a closeout backlog, the playbook from Northbound applies almost directly. Three steps we recommend:

  1. Pull your closeout-pending AR number. Most owners haven’t separated this from total AR. Once you see it as a discrete line, the urgency clarifies.
  2. Time-track your coordinator for one closeout end-to-end. Most coordinators dramatically underestimate how long a full closeout takes because they’re interrupted 8-12 times in the middle. Real focused time per closeout is usually higher than the coordinator believes.
  3. Run the 3-minute discovery assessment. It maps your specific pain points to the closeout pillar and the four related pillar services. You walk away with a written proposal — no sales call required.

Or start with the calculator: 60-second ROI math. Or read the full pillar service page: closeout package automation.

// Engage //

Got a closeout backlog? Pull yours back into the bank.

Three-minute assessment. Real closeout math. No sales call required.