Your contract template
Clauses are selected from your state's rules and this job's facts — contract price and down payment. Every clause carries its statute.
How are the clauses chosen?
By evaluating each state’s trigger expressions against two facts about this job: the total contract price and the down payment. Some clauses apply to every job in the state; others switch on only above a dollar threshold, or only when the down payment exceeds a statutory cap, or only when the work is residential. Nothing here is a judgement call and nothing is generated by a language model — the same job facts in the same state produce the same document every time, which is what makes the output checkable against the statute rather than something you have to take on trust.
What does each state require?
The threshold below is the contract price at which a state’s home improvement rules begin to bite. “Always” clauses apply to every covered job; conditional ones depend on this job’s numbers. Each state page sets out the clause list in full, with its statutory cite and what the clause has to say.
| California | 3 always · 2 conditional · threshold $500 · California rules |
|---|---|
| Texas | 6 always · 0 conditional · threshold $0 · Texas rules |
| Florida | 1 always · 2 conditional · threshold $2,500 · Florida rules |
| New York | 1 always · 4 conditional · threshold $500 · New York rules |
| Pennsylvania | 1 always · 3 conditional · threshold $500 · Pennsylvania rules |
Why does it sometimes refuse to produce a document?
Because some states prescribe notice wording word for word — a right-to-cancel notice, a mechanics lien warning — and a paraphrase of a statutory notice is not that notice. Any state whose prescribed text has not been transcribed from the statute produces no document at all. Instead the tool names the clause, the statute and the URL the wording has to come from, so you know exactly what is missing. Today that blocks 4 of the 5 states encoded: California, Texas, Florida, New York. A contract that looks right and is not is worse than no contract, because it gets signed.
The generator sees three facts about your job, and no more
The contract price, the down payment, and the cost of any special-order materials. That is the whole fact set the triggers evaluate against, which is why the same job always produces the same document — and it is also the boundary of what the tool can do for you. It does not know whether the deal was signed at a kitchen table or in your office, how old the homeowner is, whether they are married, whether the property is their homestead, or whether the work is an emergency repair. Every one of those changes what a state requires. Texas asks for both spouses’ signatures where the owner is married and the property is a homestead; California has a separate cancellation notice, with a longer window, for homeowners aged 65 and over, and it is a distinct prescribed notice this ruleset does not model at all. Where a clause depends on a fact the engine cannot see, it fires on every job rather than guessing — over-inclusion, which is the safe direction, but it means the document can carry a notice your particular job did not need.
Transcribing the missing text would not unblock every state
The statutes that prescribe wording usually prescribe how it appears: a minimum point size, boldface, capitals, a position on the front page, a signature and date belonging to the notice rather than to the contract, and in one case a duplicate form that has to detach from the document. Those requirements are recorded against each clause in the rulesets, and nothing here can render any of them yet — a 12-point boldface notice printed at body size is not a compliant notice. So three of the blocked states need a renderer as well as a transcriber; only New York, whose single missing notice asks for bold face type and nothing more, would be cleared by transcription alone. Both halves are tracked in the changelog.
Is this legal advice?
No. It is a template assembled from published statutory requirements, and the clause language has not yet been reviewed by a construction attorney — the editorial policy makes that review a launch gate, and it has not been met. Have an attorney read the contract before you sign it or ask a customer to. What the tool can genuinely do is stop you sending a contract that is missing a clause your state requires, and show you the statute behind each one so the conversation with an attorney starts from the text.
Where does the job data come from?
From the estimate you built in the takeoff sheet, saved in your own browser. Nothing is uploaded, there is no account, and the finished contract is never stored anywhere but on your device. The same estimate also drives the invoice, which is why the contract price, the estimate total and the invoice total are the same number to the cent.
This is an independent estimating and paperwork tool. It is not a quote, not a contract until you and your customer sign one, and not legal advice — a state’s required clauses change, and a contract that matters is worth an hour of a construction attorney’s time. Nothing you enter leaves your browser.
Pre-launch build, and the prices are the part to be careful with. Every unit cost, labour hour, labour rate, waste factor, access multiplier and regional multiplier in all 3 rulesets is placeholder reference data, modelled rather than licensed, and none has been sanity-checked by a working contractor. Each file also sets its own staleness window of 120 days from , which has already elapsed. Use the structure — the takeoff, the assemblies, the ranges, the clause list — and put your own numbers over the top. The state contract requirements are a different matter: those are cited to statute, and where a statutory notice has not been transcribed word for word the generator refuses to produce the document rather than paraphrase it. What is settled and what is not is on sources and pricing methodology.