One List for Every Promise
On the list of fires: “the promise list”
Module 2 · Accountability · Play 1 of 5
In a hurry? ↓ Do this this week
The problem in one breath
Your foreman said he'd order the ridge vent. The office said she'd send the homeowner the warranty paper. You told the supplier you'd call back about the short shipment. Three promises, three different heads, not one of them written down. Next week two are done and one is dead — and you find out on the roof, in the rain, when it's too late to fix.
Why it happens
When it's you and two guys in one truck, there's no system to keep — you hear everything. But five or ten or twenty people spread across four jobsites can't overhear each other. A promise made at a jobsite at 7am is gone by lunch unless it lands somewhere everybody can see. Sticky notes, texts, memory — they all leak. What doesn't leak is one list.
The play
Every promise anyone makes goes in one shared place — who, what, by when — and stays there until it's done. That's the promise list.
- Make the promise list. One shared sheet (the tool below), or one shared text thread — pick ONE, and only one. The columns that matter: the promise, who owns it, when it's due, and its status. If it isn't on the list, it didn't get promised.
- Capture from the field — one simple way, every time. You won't sit at a desk to log promises, so keep the capture dead simple and pick a single path: anything you or a foreman promises gets texted to the office manager, and she puts it on the list. Back it up two ways — a photo of the tailgate whiteboard when the crew rolls off, and a thirty-second pass at the morning huddle: "What did we promise yesterday? On the list." One path in. Not three apps nobody keeps up.
- Put your own promises on first — and keep them. This is the part that makes it work. Before you ask a single foreman to log anything, your promises go on the list, where everyone can see them, and you keep them. When the crew watches the owner's own line get marked Done every week, they buy in. If they watch you skip your own list, it's dead on arrival.
- Read it on a fixed rhythm. One day a week, same time — Monday morning, ten minutes. Go down the list out loud: done, done, still open, stuck. The thirty-second huddle pass in step 2 is how new promises get on; this weekly read is where you work the open ones. A list nobody reads is a list nobody keeps.
- Nothing comes off until it's closed. A promise stays on the list — open or stuck — until it's actually done or somebody kills it on purpose. "I forgot" is not a way off the list.
Do this this week
Start the list with one line — your own. Write one promise you made this week, your name on it, a due date. Put it where your office manager and at least one foreman can see it. That single visible line, kept, is how the whole thing starts.
The tool
Or fill it in here — no download →
Opens in Excel, Google Sheets, Numbers or LibreOffice. Grab it on the phone now — it’ll be waiting on the computer at the shop.
the-promise-list.xlsx — the promise list. One row per promise: what it is, who owns it, when it was made, when it's due, a status you pick from a dropdown (Open / Done / Stuck), and a blocker column where you write what's in the way and the fix you agreed. The sheet flags anything past its due date as OVERDUE and keeps a running count of what's open, stuck, and overdue, so your Monday read takes ten minutes instead of an hour. Two rows are filled in as an example — the owner's own promise first, on purpose. See the sheet notes below for the columns and formulas.
If your crew is 1099
A subcontractor's "promises" are the deliverables in his contract — the tear-off done Thursday, the photos sent, the dumpster gone by Friday. Put those on the list like anyone else's; tracking what was agreed is just running your business. But the follow-up is a different conversation. You're holding one company to an agreement with another company, not correcting an employee. When a sub's promise comes up missed, frame it as "here's what our agreement says we'd do," not "why didn't you do what I told you." Track it the same. Talk about it as contract, not command.
M2-01 · One List for Every Promise — Roofer MBA, https://roofermba.com/plays/accountability/the-promise-list
The sheet notesHow the sheet works — the columns and the formulas
The columns, the formulas behind them, and the judgment calls — so you can rebuild it by hand if you ever need to.
What it does
One row per promise. You write what was promised, who owns it, when it was made, and when it's due, then set a status from a dropdown — and when something's in the way, the blocker and the fix you agreed go in the last column. The sheet flags anything past due as OVERDUE and keeps a running count — Open, Stuck, Done, Overdue — in the box on the right, so your Monday read is a ten-minute glance, not an hour of digging. Two rows are filled in as an example (the owner's own promise first, on purpose); delete both grey rows before you start.
How to use it
- Add a row every time someone makes a promise. One list for the whole company — not one per meeting, not one per crew.
- Fill the yellow cells: Promise, Who owns it, Promised (the date it was made), Due.
- Pick Status (column E dropdown): Open, Done, or Stuck. Type anything else and the sheet won't take it — a typo here drops the row out of every count.
- When something's in the way, write it in column H — the snag and the fix you agreed, a few words. That's the column the blocked-not-blamed review (Module 2, Play 3) fills in.
- Read the box on the right at your weekly read. Anything showing OVERDUE in column G is a promise past its due date that isn't Done yet — that's what you talk about.
- Nothing comes off the list until it's Done or somebody kills it on purpose. "Stuck" is not off the list — it's the flag that a promise needs the blocked-not-blamed review.
Columns
| Column | What it is |
|---|---|
| A Promise (what) | One line — the thing that was promised. |
| B Who owns it | The one person on the hook. One name, not a crew. |
| C Promised | Date the promise was made. |
| D Due | Date it's due. |
| E Status | Open / Done / Stuck (dropdown). |
| F Days overdue | Auto: days past due while not Done; blank otherwise. |
| G Flag | Auto: shows OVERDUE (red) when past due and not Done; blank otherwise. |
| H What's blocking it / agreed fix | Free text — the snag in a few words, and the one change you agreed. Nothing is counted from this column; it's there so a Stuck promise carries its reason on the same line. |
Formulas (so you can rebuild it by hand)
- Days overdue (F5, fill down):
=IF(AND($E5<>"Done",$D5<>"",$D5<TODAY()),TODAY()-$D5,"") - Flag (G5, fill down):
=IF(AND($E5<>"Done",$D5<>"",$D5<TODAY()),"OVERDUE","") - Open / Stuck / Done counts (box, column K):
=COUNTIF($E$5:$E$24,"Open")(swap "Open" for "Stuck", "Done"). - Overdue count (box):
=COUNTIF($G$5:$G$24,"OVERDUE")
Only IF, AND, TODAY, and COUNTIF are used — no Excel-365-only functions — so it opens and computes in old Excel, Numbers, and LibreOffice.
Notes / judgment calls
- Due date drives the flag; status turns it off. A promise marked Done never shows OVERDUE, even if it was late — you closed it. Only Open or Stuck promises past their due date flag.
- One list, one path in. The play's capture rule (texted to the office manager, backed by the tailgate-whiteboard photo and the morning huddle) is what keeps this sheet the single source. If promises live in three apps, the sheet is just a fourth place to forget them.
- Count from the range. The sheet counts rows 5 through 24. To add rows, insert them INSIDE the shaded block so the box ranges stretch with them, then drag the F and G formulas down one row. A promise typed below the last shaded row gets no OVERDUE flag and shows up in none of the counts — it looks live on screen and isn't. If you do go past row 24, widen the
$E$5:$E$24and$G$5:$G$24ranges in the box formulas to match. - The sheet ships with the numbers already saved in it, so a phone preview shows real figures; they recalculate as soon as you type in it.
The one thing
Do this this week
Start the list with one line — your own. Write one promise you made this week, your name on it, a due date. Put it where your office manager and at least one foreman can see it. That single visible line, kept, is how the whole thing starts.
Take it with you
One email unlocks this and every other sheet and card on the site. The plays stay free.
Same fire
Nobody follows through
- M2-01the promise list — you’re here
- M2-02let the list be the bad guy
- M2-03blocked, not blamed
- M2-05three strikes
Fixed this?
The promise list fixes the forgetting. The man who ignores the list is a different play.
The fire right behind it is usually You've told him ten times and nothing changes.