Skip to content
Back to blog

Construction Owner Decision Log Template in Excel: The 27 Days You Never Got Credit For

11 min read·August 23, 2026
A fan of ceramic tile samples in muted earth tones arranged in an arc on a light oak workbench, with a small brass service bell to the left and a steel tape measure at the front edge

A construction owner decision log template in Excel exists for one reason: to turn an owner's slow answer into a dated, quantified fact before it becomes your late finish. Most GCs do not have one. They have 900 emails, a folder of meeting minutes, and a closeout letter assessing liquidated damages for days they did not cause.

Meridian Construction Group learned the price on a $12.4 million three story medical office building. Contract duration 425 calendar days, liquidated damages at $2,500 per day. They achieved substantial completion 34 days late. The owner withheld against 28 of those days and Meridian recovered none of the money it had spent staying on site.

Nothing about the work went wrong. The concrete was fine, the steel came in on time, the mechanical sub was good. What happened is that the owner took 11 weeks to pick restroom tile, and nobody wrote down that the tile decision was due in July, not October.

The 34 Days and Who Actually Owned Them

When Meridian finally sat down and reconstructed the schedule, the causes were not close to evenly split. The problem was never the analysis. It was that 27 of the 34 days had no contemporaneous record tying them to anything.

Cause of delayDaysRecord kept at the timeDays credited
Weather beyond the contract allowance6Daily logs, NOAA data, notice within 14 days6
Owner selection and approval delays27Meeting minutes noting "awaiting owner"0
Meridian's own drywall manpower1Not applicable0
Total346

Six weather days got credited without an argument because Meridian's superintendent had been trained to file a weather notice within 14 days, with the rain gauge reading and the crew count attached. That process worked. The identical 27 days of owner delay got nothing, because "awaiting owner selections" in a weekly meeting minute is not a notice, does not name a required date, and does not say what activity it feeds.

The money moves in two directions at once, which is the part contractors miss.

LineCalculationAmount
Liquidated damages assessed28 days at $2,500$70,000
Extended general conditions never billed27 days at $4,100$110,700
Total swing$180,700
Fee on the job at 3.8 percent3.8% of $12.4M$471,200
Share of fee lost38%

The $4,100 per day is not a claim number invented after the fact. It is Meridian's actual site cost for a superintendent, a project engineer at half time, a jobsite trailer, temporary power, portable toilets, dumpster service, and general liability premium, divided by calendar days. Every one of those 27 days they paid it. An owner caused delay is normally both excusable and compensable, meaning it buys you time relief and cost recovery. Meridian got neither, because the trigger for both is a written notice tied to a date, and the date was never established.

The Need By Date Is the Whole Argument

The owner's mental model of the tile decision was simple and completely wrong. Tile gets installed in October, so the tile gets picked in October. Everyone in the OAC meeting nodded along, including Meridian's project manager, because nobody had run the arithmetic out loud.

Here is the arithmetic for one decision on one activity.

Step between decision and installationCalendar days
Subcontractor prepares the sample submittal after the selection12
Architect reviews and returns the submittal14
Mill runs the order and ships28
Delivery, receiving, and staging at the site10
Total procurement chain64

Activity A2140, restroom tile installation, starts October 6. Subtract 64 days and the decision was due August 3. The owner picked tile on September 25. That is 53 days past the date the schedule needed it, against 4 days of total float on the activity.

Nothing in that table is controversial. Every number came from the subcontract, the specification section, and the supplier quote Meridian already had in hand on day one. The failure was never analytical. It was that the need by date lived in a project manager's head instead of in a column on a sheet everyone saw every Tuesday.

This is also why a generic open items list does not do the job. An open items list says a thing is open. A decision log says a thing is open, names who owes the answer, states the calendar date the answer stops being free, and computes what it costs per day after that. Those last two columns are the entire difference between a to do list and an entitlement record.

Building the Decision Log in Excel

One sheet, sixteen columns, roughly a dozen formulas. Put your two rate inputs at the top so the cost math has something to point at, and start the log rows at row 5.

The Layout

Cell or columnHeaderWhere it comes fromExample
B2Notice lead daysContract notice clause21
B3Daily extended general conditionsYour G&A buildup, not a guess$4,100
B4Daily liquidated damagesContract$2,500
ADecision IDSequential, OD-001 forwardOD-001
BDecision requiredWritten as a question with one answerRestroom tile and grout selection
CDate first requestedThe email or RFI that asked2026-05-18
DResponsible partyOwner, architect, tenant, owner vendorOwner
EDriving activity IDYour CPM scheduleA2140
FActivity start dateCurrent schedule update2026-10-06
GProcurement chain daysSub quote plus spec review duration64
HNeed by dateFormula2026-08-03
IDays until need byFormula-18
JDate decidedBlank while open
KDays openFormula95
LStatusFormulaIMPACTING
MTotal float on the activitySchedule update, not memory4
NProjected delay daysFormula14
ONotice sent dateYour letter log2026-08-06
PNotice referenceLetter or RFI numberMCG-041

Two columns in that list will get pushback from your own team. Column G, the procurement chain, feels like work because someone has to read the spec section and call the supplier. It takes about eight minutes per decision and it is the only reason the log has any authority. Column M, total float, has to come out of the current schedule update rather than out of a superintendent's gut, because float is what the owner's consultant will attack first.

The Formulas

Need by date in H5, which is the activity start pulled back through the procurement chain:

=F5-G5

Days until the need by date in I5. A negative number here means the decision is already late, which is exactly how you want it to read:

=H5-TODAY()

Days open in K5. This works whether the decision has landed or not, so the column keeps its meaning after closeout:

=IF(J5="",TODAY()-C5,J5-C5)

Projected delay days in N5. This is the load bearing formula in the sheet. It measures how far past the need by date the answer ran, then absorbs the available float before calling anything a delay:

=MAX(0,(IF(J5="",TODAY(),J5)-H5)-M5)

Giving float away before you claim a single day is not generosity, it is what keeps the log credible. A schedule consultant who finds you claiming days that float already covered will discard the whole document. A log that already netted float out survives the review.

Status in L5, so the sheet sorts itself into what needs attention:

=IF(J5<>"","CLOSED",IF(N5>0,"IMPACTING",IF(I5<=$B$2,"NOTICE DUE","OPEN")))

The notice trigger in Q5. This is the column that changes behavior, because it names an action instead of describing a condition:

=IF(AND(J5="",O5="",I5<=$B$2),"SEND NOTICE","")

Daily exposure per open decision. Extended general conditions in R5:

=N5*$B$3

Liquidated damages exposure in S5:

=N5*$B$4

The Rollup Nobody Can Argue With

Build a small summary block off to the right listing each responsible party in column U, then total the projected delay days attributable to each:

=SUMIFS($N$5:$N$60,$D$5:$D$60,$U5)

Count the decisions that are open and already past their need by date:

=COUNTIFS($J$5:$J$60,"",$H$5:$H$60,"<"&TODAY())

Here is what the log reads on a live job in week 34, snapshot taken August 21.

IDDecisionPartyActivityNeed byDecidedFloatDelay days
OD-001Restroom tile and groutOwnerA21402026-08-03open414
OD-002Storefront tint and mullion finishOwnerA18202026-07-062026-07-30168
OD-003Exam room casework laminateTenantA23102026-08-13open120
OD-004Light fixture substitution approvalArchitectA20502026-08-18open03
OD-005Rooftop unit manufacturer substitutionOwnerA16502026-05-252026-06-08210
OD-006Door hardware keying scheduleOwner facilitiesA26202026-10-11open150
OD-007Monument sign design and locationOwnerA31102026-09-30open60
OD-008Nurse call head end locationOwner IT vendorA24502026-09-18open20

Twenty five delay days total. The rollup puts 22 of them on the owner, 3 on the architect, and none anywhere else. At $6,600 a day of combined liquidated damages and extended general conditions, that is $165,000 of exposure sitting on a screen in week 34 of a 66 week job, while there is still time to do something about it.

Notice what OD-003 and OD-005 do. Both ran past their need by date and both show zero delay days, because float covered them. That is the log telling the truth against your own interest, and it is why the owner's consultant cannot dismiss the rows that do show days.

From Log Entry to Written Notice

A log that nobody converts into notices is a diary. Most standard contracts give you a fixed window, commonly 21 days from the event, to claim time or money, and the window closes whether or not you were busy. That is what cell B2 is for and why column Q says SEND NOTICE instead of something passive.

When Q5 fires, the letter takes four minutes because every fact is already in the row. State the decision requested and the date you requested it. State the need by date and show the procurement chain that produced it. Name the driving activity and its float. State that the activity is at risk after the need by date and that Meridian reserves its rights for time and cost. Ask for the decision by a specific date.

What that letter does not do is threaten anybody or price a claim. It records a date. Nine times out of ten the owner answers within a week, which is the actual goal. The tenth time, you have the document that turns 27 days from your problem into a time extension request with a paper trail behind it.

Three habits kill this in practice, and they are worth naming.

  • Verbal notice in the OAC meeting. Almost every contract requires written notice to a named person. Minutes distributed by the architect are not that, and the owner's attorney knows it.
  • One notice covering six decisions. Each decision drives a different activity with different float. Bundle them and the owner rebuts the weakest one and treats the whole letter as noise.
  • Waiting until the delay is certain. The notice goes out when the need by date passes, not when the impact is proven. Contemporaneous is the word that matters, and it means then, not later.

Start With the Eight Decisions That Are Already Late

Do not build this retroactively across the whole job. Take an hour this week and do three things.

First, list every decision currently sitting with the owner, the architect, or a tenant. On a job of any size you will find between eight and twenty. Write the question so it has exactly one answer.

Second, for each one, open the spec section and the sub quote and write down the procurement chain in days. Then pull the driving activity start and its total float from your current schedule update. That is the eight minutes per decision that makes the sheet real.

Third, sort by days until need by, ascending. Everything negative goes out as a written notice this week, in a separate letter each, addressed per the contract. Everything inside your notice window goes on page one of the next OAC agenda, before the safety report and before the RFI log, sorted the same way.

Twenty minutes every Tuesday for the remaining 32 weeks of a job is about 11 hours of work. Against $180,700, that is the highest paid hour on the project by a wide margin, and it does not require winning an argument with anyone. It requires writing down a date before the date arrives.

Put the Decision Log Where the Money Already Lives

A decision log works best when it points at the same schedule and the same cost codes your budget already uses, because the delay days are worthless until somebody converts them into dollars against a real general conditions rate. The Construction Budget Tracker already carries the job register, the cost code structure, and the general conditions buildup that column B3 needs, so the decision log becomes one more tab reading from data you maintain anyway instead of a standalone file that goes stale in month three.

If you run one job right now with an owner who has not picked something, build the eight rows before Friday. The tile decision that lands 53 days late costs the same either way. The only variable is whether you can prove, with dates you wrote down before the fact, that it was never yours to make.

Related template

Construction Budget Tracker

Track every line item, change order, and payment across your entire project. Spot a $23K billing discrepancy before it hits your bottom line — not after.

Get the Template — $49