The problem
Change orders, pay applications, and lien waivers arrive as PDFs, phone photos, and email threads. Someone in the office retypes each one into the accounting system, and until they do, the job cost and the draw request are behind the job.
What goes wrong
- The tool reads invoices and nothing else. A change order with a sketch attached, a pay application with a retainage line, or a lien waiver with a notary stamp lands in the exception pile, which is most of what a builder receives.
- It files to the wrong job or the wrong entity. One vendor works on three lots under two LLCs, and the extracted record posts to whichever one it matched first, so the job cost is wrong in a way nobody sees until the draw request.
- It posts without a person. A high retainage line goes straight to accounting and surfaces at month end.
The approach
- Start with your real documents: 50 to 200 change orders, pay applications, invoices, and waivers from the last two jobs, so the extraction schema matches what your vendors actually send.
- Agree the fields and the checks in writing: job, entity, cost code, contract value, retainage, prior payments, and the rule for when a line is out of tolerance.
- Run it in shadow mode beside your current process. Your team sees every record in the review queue and corrects what is wrong. Nothing posts.
- Switch over with confirmed writes: approved records post to accounting and the job folder, exceptions go to the project manager with the page and the reason, and every post is logged.
When it works
When the documents arrive in a few predictable shapes (change orders, pay applications, vendor invoices, lien waivers), the job and entity list lives somewhere the pipeline can read, and one person per job owns the approval.
Why the paperwork is the problem
A builder loses money in the gap between the site and the record. A change order gets agreed on a Tuesday with a photo of the sketch. The pay application arrives three weeks later as a four-page PDF. Someone keys both into the accounting system and the job file, and until they do, the budget, the draw request, and the margin are behind the job.
Document Intake closes that gap. It reads what arrives, files each record to the right job and entity, and queues it for one person to approve.
What the pipeline should do
File to the right job and entity
The pipeline reads the job name, the lot, and the billing entity from the document and matches them to your job list, not to whichever record it saw first. When the match is uncertain, the record waits for a person.
Check it against the contract
Contract value, retainage rate, prior payments, and the committed amount come from the subcontract and the job sheet, and this period's amount is checked against them. A line that reads high gets a flag with the reason attached, not a silent post.
How we build it
First comes sample and schema. You send 50 to 200 real documents from the last two jobs. We agree the fields, the checks, and the confidence thresholds in writing, and we get read access to the accounting system and the job list.
Next is extraction on your sample. We measure accuracy per field and per document type. The review queue goes live in shadow mode. Nothing posts.
Then come confirmed writes. Approved records post. Exceptions route to the project manager with the page and the reason. The pipeline runs beside your current process.
Last is switch-over. Your team stops keying. Auto-approve thresholds are set from the shadow weeks, and the first monthly report lands at month end.
When it does not work
It does not work when nobody owns the queue. The pipeline gets more accurate because someone corrects it. It also cannot check a pay application against a subcontract that is not on file.
Where to start
If the project inbox is the first thing to fix, start with Document Intake. When the approval itself needs routing across the budget and the schedule, the Workflow Agent sits on top, as in workflow automation with approvals. If you are not sure which comes first, ask Roo, Webaroo's AI: Could AI read our change orders and pay applications?
