
Most construction businesses don’t have a margin problem on the base contract — they bid those carefully, with discipline. They have a margin problem on change orders, because change orders happen in the middle of a project under schedule pressure, often verbally, often without a signature, and almost always priced as a hurried lump sum that doesn’t reflect actual labor and material cost. By the time the job closes, three months of unbilled or under-billed COs have eaten the original margin and the homeowner thinks they already paid for everything.
The fix is not “do better next time.” The fix is a workflow that makes the disciplined path the easy path — a contract clause that defaults to written COs, a template that forces itemization, an automation that fires before work starts, and a margin tracker that surfaces problem projects in real time. This guide is that workflow. It’s what Construction Snapshot for GHL deploys by default, and it’s the single highest-leverage automation in the snapshot.
Read this before your next signed contract enters production. If you implement only one workflow from this guide library, make it this one — the launch guide and TCPA guide protect you from spending money on a system that doesn’t work; this guide protects the actual margin that pays your salary.
Step 1 — Set the contract clause that makes COs enforceable
The fight you do not want to have is the meta-fight over whether change-order rules apply at all. A homeowner who claims they “thought it was included” can stall payment for months even when they’re wrong. The contract clause that closes this fight is short, specific, and lives in your base contract from day one:
Any work not specifically described in the Scope of Work is a Change Order. No Change Order work shall begin until both parties have signed a written Change Order describing the scope, price, and schedule impact. Verbal authorizations are valid only in genuine emergencies and must be reduced to a signed written Change Order within one (1) business day of verbal authorization. Contractor reserves the right to stop work pending Change Order signature.
The “stop work pending signature” clause is the operational teeth. It is the leverage that makes the homeowner sign before the trade arrives. Without it you are negotiating from weakness. The snapshot ships this clause inside the base contract template — confirm it’s in the version your office uses and that your attorney has reviewed it against your state’s contractor licensing rules.
Step 2 — Build the labor + material + markup template
The single biggest source of margin leak on change orders is the “lump sum” CO. A PM gets pressed for a number on site, says “call it $1,800,” and the actual cost — once labor hours, material, equipment time, and overhead are reckoned — was $2,100. The CO loses $300 every time and nobody notices until end-of-job accounting.
The fix is a template that doesn’t allow a lump sum. Every line on every CO must specify:
- Labor hours per trade, multiplied by your loaded labor rate (wages + burden + overhead allocation, not just wages).
- Material cost at supplier price, with a separate line for markup if your contract entitles you to it.
- Equipment time for any specialized equipment (lifts, compactors, demo equipment).
- Subcontractor cost at the sub’s quoted price, with your management markup as a separate line.
- Fixed markup percentage on top of the subtotal — typically 15–20% for remodel work, 10–15% for new construction.
The snapshot ships the CO template with these line items hard-coded. PMs can’t submit a CO that skips them. Yes, this slows down CO creation by 3–5 minutes per CO. That’s a deliberate tax on speed because the alternative is margin leak.
Step 3 — Trigger the CO workflow before any work starts
This is the central operational discipline. The snapshot’s “Change Order Initiated” workflow exists for one reason: to create the record, send it to the homeowner, and get a signature before the trade arrives on site. The workflow fires when the PM clicks “New CO” on the project record. It does three things in sequence:
- Drafts the CO document from the labor/material/markup template, pulling in the line items the PM enters.
- Sends the CO to the homeowner via email and SMS with an e-signature link.
- Sets a “CO Pending Signature” hold on the project so dispatch can’t schedule the trade for the CO scope until it’s signed.
The third piece is what makes the workflow real. Without the dispatch hold, PMs schedule trades on verbal authorization, work starts, and the CO becomes a document chasing reality instead of authorizing it. With the hold, the PM has to either get the signature or invoke the emergency protocol (step six). There is no path where work happens unsigned.
Step 4 — Capture homeowner signature and timestamped consent
The e-signature itself has to do four jobs at once: authorize the scope, authorize the price, authorize the schedule impact, and acknowledge the lien-waiver implications. A signature on a CO that doesn’t explicitly state the schedule impact (“this CO adds 4 working days to the project completion date”) creates ambiguity that the homeowner can later weaponize.
The snapshot’s CO template includes four signature blocks on a single page:
- Homeowner signature on the scope and price.
- Homeowner initial on the schedule impact statement.
- Homeowner initial on the lien-waiver acknowledgment (“I understand this CO is subject to the lien-waiver schedule in the base contract”).
- Contractor counter-signature.
The platform timestamps each signature with IP address, user agent, and geolocation if the homeowner grants it. Store the signed PDF in the project’s document folder automatically. Do not rely on email confirmation as a substitute for signature — emails get spam-filtered, signatures are the durable record.
Step 5 — Align the CO with the draw schedule
A signed CO that doesn’t update the draw schedule is half-implemented. The draw schedule is the homeowner’s expectation of when they owe money. If you sign a $12,000 CO and don’t update the schedule, you either bill it out of cycle (which surprises the homeowner and slows payment) or absorb it until final invoice (which is an interest-free loan to the homeowner).
The snapshot’s CO workflow updates the draw schedule on signature. The default rule is: 50% of the CO due on signature (collected immediately via Stripe or Authorize.net), 50% due with the next scheduled draw. You can configure other splits per project but this default catches the most common pattern and prevents the worst leak.
The deposit collection happens through the same payment processor you wired during launch. The “Deposit Reminder” workflow follows up automatically if the deposit isn’t paid within 48 hours of signature. If 72 hours pass without payment, the workflow alerts the PM and flips the dispatch hold back on — work doesn’t resume until the homeowner pays.
Step 6 — Handle emergency change orders without losing the audit trail
True emergencies happen. You open a wall and discover rot. You excavate and hit an unmarked utility. You need the trade to act now, not in 48 hours when the homeowner gets back from a trip. The contract clause permits verbal authorization in these cases — but only with same-day written documentation.
The emergency protocol the snapshot ships is:
- PM calls the homeowner, describes the emergency, gets verbal authorization, and notes the time and date.
- PM sends an SMS within 30 minutes confirming the verbal authorization in writing (“Per our call at 2:14pm, you’ve authorized the rot remediation at an estimated $3,400. Full CO with line items will be emailed by end of day for signature.”)
- PM drafts the full CO via the standard workflow before the end of the business day.
- Homeowner signs by close of business the next business day.
If the homeowner doesn’t sign within the one-business-day window, the PM stops work pending signature. The SMS confirmation is the legal bridge — it converts a verbal authorization into a written record that satisfies the contract clause and most state statutes. The snapshot’s “Emergency CO” workflow drives this whole sequence; PMs don’t have to remember the steps.
Step 7 — Track change-order margin against the original estimate
Margin leak is invisible without measurement. The snapshot’s project dashboard surfaces three numbers per project: base-contract margin (estimated vs actual), CO margin (estimated vs actual), and blended margin (the weighted average). The interesting number is the gap between CO margin and base-contract margin.
If your base-contract margin is consistently 22% and your CO margin is consistently 14%, you have a CO pricing problem — your PMs are under-pricing COs relative to your base bids, probably because COs feel like a favor instead of a profit center. If your CO margin is 35% and your base-contract margin is 18%, your COs are subsidizing chronically under-bid base contracts and you need to look at your estimating discipline.
Pull the dashboard weekly. Look for projects where CO margin has fallen below 15% — those are the ones where verbal authorizations slipped through and the documentation lagged. Coach the PMs on those projects specifically. Most CO margin leak concentrates in a small number of PMs and a small number of project types, and you can fix it once you can see it.
Step 8 — Close the loop with lien waivers and final payment
Every CO payment should be tied to a conditional lien waiver from any sub or supplier paid out of that CO, and a final unconditional waiver at closeout. This protects you from the worst case where a sub claims nonpayment on a CO scope after the homeowner has paid you in full, and files a lien against the property.
The snapshot ships the lien-waiver workflow for conditional (issued on each progress payment) and unconditional (issued at final payment). Each waiver references the specific CO and the specific dollar amount being waived. Subs sign electronically through the same platform. The signed waivers stay attached to the project record and the corresponding CO.
At final closeout, run the snapshot’s “Closeout Audit” report. It flags any CO with a missing unconditional waiver, any deposit collected but not reconciled, and any document the homeowner has not countersigned. Resolve every flag before issuing the final invoice. Then issue final payment, collect the final unconditional waivers, and close the project. This is the boring step that prevents the disaster.
Common pitfalls
- Letting PMs verbally authorize work and “do the paperwork later.” Later doesn’t come. The verbal-then-written protocol is one business day, not “when we have time.”
- Pricing COs as lump sums without itemization. Lump-sum COs leak margin invisibly. Force the line-item template.
- Skipping the deposit on signature. A signed CO with no money down is a free option for the homeowner to back out after the work starts.
- Ignoring the schedule-impact line. A CO that doesn’t state the new completion date is an invitation for the homeowner to claim delay damages.
- Forgetting unconditional lien waivers at closeout. This is how subs file mechanic’s liens against properties three months after the homeowner thought the job was done.
What to do next
Once the CO workflow is live and your PMs are trained on it, audit the projects in your last 12 months. Look for projects where the final invoice exceeded the original contract by more than 15% — those are the projects where COs ran hot. Pull the signed CO documents for those projects and check that every one has a signature, a deposit, and a closeout waiver. The gaps you find are the patterns you fix going forward.
If you haven’t completed the full Construction Snapshot deployment, the launch guide covers it. If your CO workflow uses SMS to homeowners (and it should), the TCPA-compliant SMS guide covers the consent rules.
Stop bleeding margin on change orders
Construction Snapshot ships the CO workflow, line-item template, deposit collection, lien-waiver flow, and margin dashboard — deployed to your GHL sub-account in 24 hours.