A name, a job, and four files. No org chart at signup, nobody invited, and five questions instead of thirty — because the sheet is read once so that a change order can come back out in his own columns.
You can add the rest later. This one just needs enough to hang a budget sheet on.
Not now, not on the next screen, and not with a skippable step. A second seat is added when there is a second person, and at one to three homes a year there may never be one. The fastest way to tell a solo builder this product is not for him is to ask who else is on his team in the first thirty seconds.
You do not need to know whether they have one. The sender never knows which tier the recipient is on, and this is the first screen where that could leak — a checkbox here would put the question into every send that followed.
Fixed price, cost plus, time and materials, and GMP are the valid values. Compact opens a bottom sheet; wide keeps the same list anchored to this field.
Contract, budget, allowances, plans. Whatever you have; we will tell you what we found.
Drop them here, or pick from your files
Cost codes in column B. 62 lines. A reader that silently absorbs a spreadsheet gives a builder no way to catch it getting the wrong column, and he will not find out until a change order comes back in somebody else's format.
The product does not pick which of $18,000 and $18,500 is right. It is his contract and his budget, and guessing between two of his own documents is exactly the kind of confident wrongness that costs trust on day one.
The sheet is read once so a change order can come back out in his columns with his cost codes. Without this screen the paste block on a change order would be our format, and he would retype it every time.
Both of these are places your own files disagree with each other. Neither is a mistake we made reading them.
Give it a code and it joins the rest. Leave it and it still counts against the total; it just will not group with anything.
Last-write-wins is the obvious rule and it is wrong here: a budget revision is a working document and a signed contract is an agreement, so newer and true come apart exactly when the money matters. Both rows carry where the number came from, because that is the only fact that lets somebody decide in two seconds.
Whichever you pick is what Sam and Nora see. A setup screen is the one place a builder is moving fast and paying least attention, and it is also where a wrong allowance becomes a number a homeowner budgets against for a year.
Not a skip and not a warning. A line with no cost code still counts against the total and simply does not group, which is a sentence rather than a problem — and forcing a code here means inventing one, which is worse data than none.
An account-less homeowner's heard-at is the digest date — there is no earlier moment — and on cost plus there is no forcing function behind the spend. Letting a builder stretch the interval would let him stretch the moment his client is deemed to have been told.
The number only moves when somebody signs, so the digest goes when something changed rather than on a timer, and turning it off is his to decide. Contract type sets the floor; it does not create a second control.
Because it is a send. He can see it went, and he can see it was delivered — which the trust ledger needs, since a digest that silently failed would leave rows asserting Ben heard something that never left the building.
They were minted while the account was in good standing, and an answer to one is somebody keeping their side of a bargain. Killing them silently is the worst option on the table: the account-less person did nothing wrong, may be mid-decision, and has no idea an account exists behind the link they were sent.
Recording an answer against an existing send is completing something already begun, not minting new. Read-only bites at the new send, and it bites the builder — who is the one person here who can actually act on it.
If the homeowner's account lapses, the builder is unaffected. Her binder goes read-only; his job does not.
The names are labels. The contents decide where each file goes.
At or above it, act. Below it, ask only when the reader has a short plausible list. Confidence is not drawn as a score for Dave to interpret.
A running reader never looks like an empty setup, and a plan with no financial process job still belongs to the drop.
The attempt becomes dismissed. The upload and event stay with the project, so a correction later has something real to supersede.
Unknown is classifier output. It is never a document type Dave chooses.
Everything you brought is still here.
Deferred and unrecognized rows survive the first-run route. A plan does not need a process job to count as complete for this drop.
None of these rows creates budget lines, allowances, conflicts or a contract.
Compact gets a bottom sheet because the whole list needs room and a deliberate confirmation. Wide gets an anchored menu next to the row.
The full list appears only after Dave asks to correct a completed reading. The successor swaps in only after it succeeds; the earlier attempt then shows Replaced.
Applying a revised plan must ask whether to replace or clear previously seeded rooms and zones. Intake retention does not silently make that decision.
It does not ask him to model his company. The company is a name; the optional work number is how a client reaches the person who created it. Roles are hats, and at the median the person signing up is the owner, the estimator and the project manager on the same afternoon.
It does not invite anybody, including as an optional step. A skippable invite screen is still a screen that told a solo builder what the product assumes about him.
It does not ask thirty questions. Four files and five questions, and the five are the disagreements between the files rather than a form.
The digest's contents, its cadence downward on cost plus, and any heard-at. Every one of those is a limit that exists because the record is only worth something if he cannot shape it — which is also why it is worth something to him, a year later, in an argument about an invoice.