Renovation change order tracker: a spreadsheet for homeowners
Change orders add up quietly, one reasonable request at a time. This page shows a homeowner's change order log in Excel, with the formulas for approved total, pending exposure and percent of the original contract.
Free: Contingency & Change Order Tracker, one Excel tab. Confirm your email and the file arrives right away, plus an occasional note (at most one a week) on keeping a renovation on budget. Unsubscribe in one click. Privacy.
General information only, not financial, construction or legal advice. Contingency, holdback and payment-split percentages are your own inputs, and payment and deposit rules vary by contract and by state or province; check yours. Figures cited from other sources are dated where they appear.
What a change order tracker has to answer
A homeowner's change order tracker is a log with one row per change order and three totals: the approved total (what has been added to the contract), the pending exposure (proposed but not yet agreed) and the approved total as a percentage of the original contract. Each row names the budget line it hits, so that line's committed figure moves when you approve the change and not before. Everything else on this page supports those three numbers.
The columns
- CO#, date, Line ID, contractor, description. The Line ID is what ties the change to a budget row.
- Amount (+/-). Positive for added work, negative for a credit. SUMIFS adds the signs correctly.
- Status. Proposed, Approved or Rejected, from a dropdown. Rejected rows stay in the log as a record; the totals ignore them.
- Reason. Homeowner change, unforeseen or contractor error. It does not change the arithmetic, but it shows later where the extra money came from.
Worked example: a $38,000 contract
The original contract is $38,000. Four change orders have been raised with the general contractor (GC). Put headings in row 1 and entries in rows 2 to 5.
| A: CO# | B: Date | C: Line | D: Contractor | E: Description | F: Amount | G: Status | H: Reason |
|---|---|---|---|---|---|---|---|
| 1 | 2026-08-12 | L02 | GC | Replace rotted subfloor found at demolition | $2,400 | Approved | Unforeseen |
| 2 | 2026-08-26 | L05 | GC | Add recessed lights | $1,150 | Approved | Homeowner change |
| 3 | 2026-09-14 | L05 | GC | Upgrade tile | $900 | Proposed | Homeowner change |
| 4 | 2026-09-20 | L07 | GC | Extra dumpster haul | $600 | Rejected | Unforeseen |
| Result | Working | Value |
|---|---|---|
| Approved total | 2,400 + 1,150 | $3,550 |
| Contract now | 38,000 + 3,550 | $41,550 |
| Approved as % of original | 3,550 / 38,000 | 9.3% |
| Pending exposure | CO#3 only | $900 |
| If CO#3 is approved | (3,550 + 900) / 38,000; contract 42,450 | 11.7% |
| Room before a 10% threshold | 10% of 38,000 = 3,800, minus 3,550 | $250 |
Percentages are rounded to one decimal. The useful part is the last two rows: today the change orders sit at 9.3% with $250 to spare, and CO#3 would carry them to 11.7%. You see that before you say yes. The rejected $600 appears nowhere in the totals.
A threshold to watch
As of 2026-10-05, one contractor's budgeting guide advises: "Track cumulative change order total as a percentage of your original budget; if it exceeds 10%, reassess project scope" (Crosspoint Contracting). This example uses 10% as its alert threshold. It is an input, not a rule: set the figure you and your contract are comfortable with.
The formulas
Summary cells sit beside the log in columns K and L, so they do not mix with the entries in A to H.
L1 Approved total =SUMIFS($F$2:$F$100,$G$2:$G$100,"Approved")
L2 Pending exposure =SUMIFS($F$2:$F$100,$G$2:$G$100,"Proposed")
L3 Original contract =SUM(Budget!$D$2:$D$200)
L4 Contract now =L3+L1
L5 Alert threshold 10% (typed)
L6 CO % of original =IF(L3=0,0,L1/L3)
L7 If pending passes =IF(L3=0,0,(L1+L2)/L3)
L8 Room to threshold =MAX(0,L5*L3-L1)
L9 Alert =IF(L6>L5,"Above threshold","Within threshold")
Per contractor =SUMIFS($F$2:$F$100,$D$2:$D$100,"GC",$G$2:$G$100,"Approved")
Open requests =COUNTIFS($G$2:$G$100,"Proposed")
Original contract is the sum of the Base quote column on the Budget tab, so it does not move when change orders are approved. Dividing by the original, not the current contract, is what makes 3,550 over 38,000 equal 9.3%. The Budget ranges in this guide run to row 200, so keep any Budget total row outside rows 2 to 200 or it will be counted twice.
Who asked for the change
The Reason column lets you split the approved total by cause. Here the unforeseen item is $2,400 and the homeowner change is $1,150, which is 67.6% and 32.4% of the $3,550 (rounded to one decimal). The first came from what demolition exposed; the second was your choice, and it is the kind you can still decide against next time.
Approved, unforeseen =SUMIFS($F$2:$F$100,$G$2:$G$100,"Approved",$H$2:$H$100,"Unforeseen") 2,400
Approved, homeowner change =SUMIFS($F$2:$F$100,$G$2:$G$100,"Approved",$H$2:$H$100,"Homeowner change") 1,150
Pending on one line (L05) =SUMIFS($F$2:$F$100,$G$2:$G$100,"Proposed",$C$2:$C$100,"L05") 900
Checks and common mistakes
- Tie to the Budget tab.
=L1-SUM(Budget!$E$2:$E$200)should be 0. If it is not, an approved change order has a missing or misspelled Line ID and has not reached a budget row. - Do not edit the line instead. Raising a line's budget or quote to absorb a change hides it from the percentage.
- Approve deliberately. Mark a change Approved only once you and the contractor have agreed to it in whatever form your contract requires. What counts as an approved change order is set by your contract, not by this sheet.
- Keep rejected rows. Deleting them loses the history of what was asked and refused.
Related guides
Approved change orders feed the Committed column described in committed vs paid, and they draw down the reserve covered in how much contingency is left. To turn a forecast overrun into a percentage, see the cost overrun percentage calculator. The Hexloom Renovation Budget Tracker keeps this log with the budget.
What this does not do
This is a planning tool, not financial, construction or legal advice. It does not draft change order paperwork, decide whether a price is fair or know what your contract requires for a change to be binding. The 10% threshold and every amount above are the example's inputs.
Sources
More renovation budget guides
- Renovation cost overrun percentage calculator: the formula and a worked example
- Renovation contingency tracker: how much contingency is left
- Renovation budget spreadsheet: track committed vs paid
- Renovation budget by room spreadsheet: SUMIFS per room, with an overrun flag
- Kitchen remodel budget spreadsheet in Excel, built line by line
- DIY renovation expense tracker spreadsheet: receipts by room and category
- Contractor payment schedule template for homeowners in Excel
- Contractor bid comparison spreadsheet for homeowners
- Bathroom remodel budget spreadsheet in Excel: how much is really left
Already built
The Change Orders tab of the Hexloom Renovation Budget Tracker logs CO#, date, line, contractor, description, amount (+/-), status of Proposed, Approved or Rejected, and reason. It totals the approved changes, shows the pending exposure and gives change orders as a percent of the original contract with an alert threshold you set. Approved amounts reach the Budget tab by line. It is one Excel file, $29 one time, with no bank link and no account.