AI for construction

Live system

The work is finished. The invoice is not.

General contractors, electrical and specialty trades, and renovation companies billing progress against a contract.

In construction, the money is not lost on the job site. It is lost between the finished work and the paid invoice: draws that depend on the last draw, retainage nobody tracked, and a spreadsheet that only one person can rebuild. We build the systems that close that gap, and we let code do every dollar of the math.

0.0000%

Drift between our export and the real file

33/33

Schedule of values lines to the cent

$4.1M

Real contract the engine was proven against

Where the time goes

You are losing time in predictable places.

Every contractor we have sat with describes a version of the same six problems. They are not about building. They are about the paperwork that stands between finished work and money in the account.

The invoice chain nobody can rebuild

On a large multi-building job you might send ten to twenty invoices over the life of the project, and every one of them depends on the one before it. Line 7 of this pay application is line 6 of the last one. Lose the spreadsheet, or lose the person who kept it, and you are reconstructing months of billing history from PDFs.

10 to 20 dependent invoices per job

Billed does not match installed

You billed 50 percent. The crew installed 90 percent. Nobody flags it, because the person who knows the billing and the person who knows the field are different people looking at different systems. By the time the gap surfaces it is a conversation with the general contractor, not a correction.

Billed and installed drift apart silently

Every job type bills differently

A bathroom might be 30 percent down, 30 after demo, 35 after build-back, 5 after the permit closes. A full home renovation breaks that formula, because rooms finish at different times and somebody has to make a judgment call about what can be billed. A bank-financed job ignores your structure entirely and uses its own.

Every job type, a different structure

The estimate rebuilt from scratch

The measurements exist. Somebody scanned the rooms, or the takeoff is sitting in the estimating software. Then a person spends one to three hours turning that into line items by hand, and on a big job a single missed line costs thousands. The data was already there. Nothing carried it forward.

1 to 3 hours per estimate, by hand

Collections by memory

The past-due list lives in somebody's head or in a report nobody opens. The CRM has automatic reminders, and they got turned off, because they are context-blind: they will chase a client who paid yesterday or who is mid-dispute over a change order. So chasing goes back to being manual, which means it does not happen.

$151K past-due on one client

Nobody owns the process

One person does the invoicing. When they are out, somebody else reconstructs the job status from memory and does it differently. The result is inconsistency that shows up as cash-flow noise, and an operation where the admin load grows with every job you take.

Admin scales linearly with jobs

The machine

Map the operation before pitching AI at it.

Map the machine before pitching anything at it. A contractor's money runs through four surfaces, and each one hands off to the next in a way that is usually manual.

01

Estimate and scope

  • Field measurements: a phone LIDAR scan, a takeoff export, or a tape and a notepad
  • Turning measurements into line items across every trade in scope
  • The scope document accurate enough for somebody to sign and a crew to build from

02

Contract and schedule of values

  • The total contract broken into billable lines: material, labor, mobilization, and the rest
  • The billing structure: milestones, percent complete, or whatever the bank dictates
  • Notice to proceed, which is when the clock and the billing both start

03

Progress billing

  • Each pay application draws against the contract and reconciles to the last one
  • Retainage held back, change orders folded in, stored materials handled separately
  • The export the general contractor or the owner will actually accept

04

Collections and close-out

  • What is sent, what is outstanding, what is overdue, and who has already been chased
  • Retainage release at completion, which is the money most contractors are worst at collecting
  • Reconciling the job: billed versus installed versus paid, on one screen

The split

The system drafts. Your people decide.

The system handles

  • Reading a field scan or a takeoff export and drafting the scope line by line
  • Assembling a schedule of values from the estimate, structured the way you bill
  • Drafting each pay application against the last one, with the arithmetic done by code
  • Producing the export in the exact format the general contractor expects to receive
  • Watching for drift: billed against installed, and flagging the gap while it is still small
  • Tracking who is past due, what was already sent, and who is mid-dispute so they are left alone

Your team handles

  • Every number that leaves the building. The system drafts, a person signs
  • The judgment call on a full-home renovation about what can honestly be billed
  • Change orders, because a scope change is a negotiation and not a data entry task
  • Anything that goes to the general contractor, the owner, or the bank
  • The collections call itself, once the system has said who to call and why

The hard rule on every construction build we do: every dollar is computed by code, never by a model. A language model is genuinely good at reading a messy field note and turning it into a structured line item. It is the wrong tool for adding up a schedule of values, and it is a catastrophic tool for computing retainage. So the model organizes and drafts, arithmetic runs in code that we can test, and a person signs before anything reaches a general contractor.

What we build

The systems, named.

01

The AIA pay-application engine

Import the takeoff export, build the schedule of values, and generate the chain of invoices that draws down the contract. It produces the G702 and G703 workbook, which are the American Institute of Architects forms the industry bills on: G702 is the summary, G703 is the line-by-line continuation sheet. The export matches your existing file so exactly you can screenshot both and only the numbers differ.

02

Field scan to field plan

A phone LIDAR scan of the rooms becomes a structured field plan: measurements, linear footage, cabinet runs, and the scope breakdown, drafted for review instead of assembled from a blank page. The person reviewing checks a near-complete draft. They do not build one.

03

The billing structure engine

Milestone billing at 30 percent down, 30 after demo, 35 after build-back, and 5 after the permit closes. Or percent complete. Or the schedule the bank handed you. The structure is data, so a new job type is a configuration and not a rebuild.

04

The drift flag

One number for billed, one for installed, and an alert when they separate far enough to matter. It stays quiet at 93 percent billed against 92 percent installed, because that is noise. It speaks up at 50 against 90, because that is a conversation you want to have before the general contractor has it with you.

05

Context-aware collections

The past-due list, ranked, with the reason. It knows what was already sent, who replied, and who is mid-dispute over a change order. Nobody gets chased for an invoice they paid yesterday, which is the exact reason your CRM's built-in reminders got switched off.

06

The multi-job command center

Every active job, what is billed, what is installed, what is outstanding, and what needs a person this week. Contractors do not lose money on one job going wrong. They lose it on six jobs where nobody could see all six at once.

In production

This is not a hypothetical.

Pearl Street Systems · Construction

Live in production

An AIA pay application engine that matches the contractor's own file to the cent

Pearl Street Systems bills progress on multi-million dollar electrical jobs using AIA forms, where every invoice depends on the last one and the spreadsheet holding the chain lives with one person. We built the engine that produces those invoices, and proved it at 0.0000% drift against their real file.

0.0000%

Drift between our export and their file

33/33

Schedule of values lines to the cent

$4.1M

Real contract it was proven against

Read the full case study →

Under the hood

Fits into the stack you already run.

Estimating and takeoff

SnapCountMagic Plan

Job management

JobberBuildertrendProcore

Field capture

CompanyCam

Service and dispatch

ServiceTitanHousecall Pro

This is the software this trade actually runs on, and we build into it rather than replacing it. We have shipped against SnapCount exports and Jobber records specifically. For anything else on this list, the honest answer is that we read your exports and write to your system of record, and we scope that in the roadmap before anybody commits to it.

Principles

How we think about AI inside construction.

Every dollar computed by code, not AI

This is the first line of the build doctrine for this industry and it is not negotiable. Models draft, organize, and read messy inputs. Arithmetic runs in code, in a function with tests around it. If a number reaches a general contractor and it is wrong, no explanation about model confidence is going to help you.

The export has to be identical

A contractor's billing file is a document a general contractor has accepted for years. Change the layout and you have created a conversation about your software instead of your invoice. So we do not improve the format. We match it: fonts, borders, number formats, conditional formatting, and every printed cell.

Every client complaint becomes a test

When something is wrong, the fix is not a patch. The fix is a test that fails, then the patch, then the test passes, and it runs on every build after that forever. That is how a system gets more trustworthy over a year instead of less.

Prove it on a real job before a real job depends on it

We ran five simulated months of a real project through the invoicing engine before it touched production. That exercise found a real change-order bug. It found it in a sandbox, in front of us, instead of on a pay application, in front of the client.

Same approach, different language

The pattern shows up next door.

Questions

Answered plainly.

Can AI generate AIA pay applications?

Yes, with one hard boundary: the model assembles and organizes, and code does every calculation. An AIA pay application is a chain, where each application reconciles against the previous one, so it is really a math problem with a document wrapped around it. We built this for Pearl Street Systems: it imports the takeoff export, builds the schedule of values, generates the invoice chain, and exports a G702 and G703 workbook that matched their real file at 0.0000 percent drift across 1,290 printed cells.

What is a schedule of values, and why does it matter here?

The schedule of values is the total contract broken down into billable line items: material, labor, mobilization, recycling, and so on. It matters because every pay application bills a percentage against those lines, and every application has to reconcile against the one before it. If the schedule of values is wrong or gets rebuilt inconsistently, every invoice downstream inherits the error. We reconciled 33 out of 33 lines to the cent against a real $4.1M contract before that engine went live.

How do you handle retainage?

Retainage is the percentage held back on each invoice until the job is complete, commonly 2, 5, or 10 percent. It is handled as a first-class part of the billing structure rather than a manual subtraction somebody remembers, and it carries through the whole invoice chain so the release at close-out reconciles. How it is modeled, one project-level number or a per-line column, is a real decision we make with you rather than assume.

Will it change how we bill or what our GC sees?

No. That is the point. The general contractor has been accepting your billing format for years, and the fastest way to create a problem is to hand them something that looks different. We match the existing export exactly. On the Pearl Street build we verified 2,816 cells with zero style differences: fonts, borders, number formats, and conditional formatting all identical. The only thing that changes is how long it takes you to produce it.

Can it draft estimates from field measurements?

Yes. A phone LIDAR scan or a takeoff export becomes a structured field plan with the measurements, linear footage, and scope breakdown drafted for review. The parser we built for Wisdom Renovations scores 100 out of 100 on its golden eval and runs in production. The person reviewing is checking a near-complete draft rather than building one from nothing, which is the difference between a fifteen minute review and three hours of assembly.

Our CRM already has automatic payment reminders. Why is this different?

Because those reminders are context-blind, which is why almost every contractor we meet has turned them off. They will chase a client who paid yesterday, or one who is mid-dispute over a change order, and each one of those costs you a relationship. Collections has to know what was already sent, who replied, and what is contested. That is a judgment problem, and it is exactly the part a system can hold better than a person with sixty jobs open.

We use Jobber and a takeoff tool. Do we have to switch anything?

No. Your system of record stays your system of record. We read your exports and write back to the tools your team already opens. Asking a field crew to adopt a new platform in the same quarter you are asking them to trust a new system is how both get abandoned.

How long does a construction build take?

Two to four weeks per module. We build modules rather than projects, so the first one ships, gets proven on real jobs, and starts paying while the next one is being built. The roadmap sets the order so the first build funds the second.

Read next

The thinking behind it.

Where to start

Every one of these starts the same way.

Find the bottleneck, price the fix, build the system, then keep compounding it. The four engagements are how you buy it, and you can start on any rung.

See the four engagements →

Get started

Ready to see what's slowing you down?

Book a 30 minute call. We find the one place your work waits on you, and you get a straight answer about whether AI is the fix. No pitch, no deck.