Template
Free change order template
The mid-job conversation that goes wrong without paperwork. Use this structure to document scope changes, get a clean signature, and keep the original contract intact.
Change orders in-app are on the roadmap — for now use this template structure and send a follow-up estimate to capture the signature.
Anatomy of a change order
Six sections. The point of a change order is to make the conversation impossible to misremember later — yours or the customer's.
1. Reference the original estimate
Estimate number, original date, original total. The change order doesn't replace the contract — it amends it. Make that explicit at the top.
2. What changed and why
Two or three sentences. "During demo we found that the subfloor under the toilet has rot and needs replacement." Plain English. Whoever reads this in six months — including a judge, in the worst case — should understand exactly what triggered the change.
3. New / changed line items
Itemize the additional work the way you itemize an estimate. If something is being removed from the original scope (and credited back), show it as a negative line. Be explicit about labor vs. materials.
4. Cost delta
The bottom line: how much this changes the contract total. Show it as a delta ("+ $640") and as a new contract total ("was $6,600, now $7,240"). Both numbers matter to the customer.
5. Schedule impact
Will this add a day? A week? Push the substantial completion date back? Say so. "No schedule impact" is also a fine answer — say that too.
6. Signature & approval
Don't start the additional work without an approval. A typed signature with a timestamp is enough for most jobs. Same legal weight as the original estimate.
A worked example
Mid-bathroom-remodel: rotted subfloor discovered under the toilet.
Reason for change
During demo on May 22 we removed the existing toilet and found approximately 6 sq ft of rotted subfloor and a single damaged joist sister-board. Original estimate excluded subfloor replacement (line in Terms). Repair must happen before plumbing rough-in can proceed.
Additional work
| Item | Qty | Unit | Amount |
|---|---|---|---|
Subfloor replacement Cut out rotted section, install new 3/4 in plywood | 6 | $45.00 | $270.00 |
Joist repair — sister board 2x10 sistered to existing joist, 8 ft | 1 | $220.00 | $220.00 |
Labor — additional half day Demo, repair, cleanup | 1 | $150.00 | $150.00 |
Schedule impact
Approximately one additional working day. Substantial completion moves from June 4 to June 5, weather permitting.
Frequently asked questions
When should I issue a change order vs. just absorbing the cost?
If you can't absorb it without losing money on the job, issue one. Even for small amounts, the habit protects you on bigger surprises later. Customers respect the consistency.
What if the customer pushes back on the change order?
Stop work and have a conversation. The contract you signed is the scope you priced. New scope = new agreement. If the customer wants to argue, they're telling you what they think the original scope included — listen, and decide whether to revise the change order or hold the line.
Do I need a separate deposit for a change order?
For small additions, usually not — they roll into the final invoice. For material-heavy changes ($500+ in parts), treat it like a small estimate: collect a deposit on the new scope before you order the materials.
Can a change order reduce the total?
Yes. If the customer drops part of the scope ("never mind the new vanity, I'll reuse the old one"), document it as a change order with a credit line item and a new lower total. Keeps the paper trail clean.
How is this different from a new estimate?
A new estimate is a new contract. A change order amends the existing one. The distinction matters for warranty, payment terms, and dispute resolution — they all flow from the original contract, which is still in force.
Send your next change order in under a minute.
Sign up free and send your customer an estimate or change order they can approve and pay from their phone. We log the signature, IP, and timestamp automatically.