A builder for your own contracts in Settings → Contracts. An agreement is a stack of blocks — Title, Subtitle, Heading, Numbered clause, Paragraph, Bullets, Fine print, Signature and Divider — each one reorderable and duplicable. Any numbered clause can be switched to ask the customer to initial it. Facts from the job — Project Name, Contract Price, Build Site — are inserted from a searchable list of plain-English names. Keep as many named templates as you need, grouped as build agreements, change orders, material supply, and workers & contractors, with a default for each, and read any of them filled in with sample values before you use it. One system for the whole post-frame business, so the contract you build here is the one the estimate, the change orders and the crew paperwork already use.
Also called: contract template builder · build my own contract · contract editor · construction contract template · initial each clause · merge fields
Blocks, not a wall of text
Title, Subtitle, Heading, Numbered clause, Paragraph, Bullets, Fine print, Signature and Divider. Add one, duplicate it, move it; clause numbers follow their position, so reordering never leaves a contract that counts 1, 2, 7, 4. Anything the builder cannot model is kept word for word as a custom block.
A builder who cannot see the structure of his own contract stops changing it — and keeps sending last year's wording.
A builder who can see the shape of his contract keeps it up to date. Blocks that renumber themselves make a change a two-minute job instead of a project — and the result is the same document the customer page, the print and every signed copy already read.
Tick the clauses they must initial
Switch on Ask the customer to initial this clause on any numbered clause, and the customer's copy asks for initials right there. The signature is refused until every one is done. The finished agreement is signed on the customer's own page.
The clauses that cause disputes — payment terms, site conditions, exclusions — are the ones a customer later says he never read.
The clauses that cause disputes are the ones a customer later says he never read. Asking for initials exactly there gives the builder proof on the clauses that matter, without making the customer initial twelve pages.
The job's facts, picked by name
+ Insert field opens a searchable list of plain-English names — Project Name, Contract Price, Build Site — and drops the right field in where your cursor is. At signing, each one fills in from the job. The list narrows to the kind of contract: a crew agreement is never offered the homeowner's address.
A misspelt code does not fail — it prints itself, in a document a customer is being asked to sign.
Nobody should have to learn a code to put the price in their own contract. Picking Contract Price from a list removes the misspelt token that prints itself in front of a customer — and the office edits its own wording with confidence.
A library grouped by who signs
Build agreements, change orders, material supply, and workers & contractors — each section lists its contracts with the default marked, and each has its own + New. A change order raised on a job now carries your own change-order agreement with that change's price, revised contract total and schedule impact, frozen word for word when the customer signs. Start from a finished contract in the contract library.
With one default for everything, adding a change-order template could quietly leave new build agreements without one.
Sending a homeowner the crew agreement is the kind of mistake nobody forgets. A default per kind of contract means every screen asks for the right document by name — and a change order goes out in your own words, with that change's numbers.
- 1Open Settings → Contracts: your library, grouped by who signs — build agreements, change orders, material supply, workers & contractors.
- 2Click a contract's name to read it as the customer will. Edit, New and Duplicate open the builder in its own window.
- 3Add blocks — a Numbered clause, Fine print, a Signature — and move them into order; clause numbers follow their position.
- 4Switch on Ask the customer to initial this clause wherever it matters.
- 5Use + Insert field to drop in Project Name, Contract Price or Build Site; the list only offers the fields that kind of contract has.
- 6Mark one template the default for its category. A change order raised on a job uses your own change-order agreement, with that change's numbers.
A contract is the document a customer holds you to, and editing one used to mean editing text full of codes in double braces, with the whole editor on the page and nothing saying which contract it belonged to. Builders want to change a clause, add one that must be initialled, and see the result — not learn a syntax. So the agreement is built from blocks and facts are picked by name. It is lossless by construction: anything the builder cannot model is kept word for word as a custom block, and every real template is round-tripped through it on each check, because a builder that quietly loses a clause is worse than no builder — you would find out from a customer. And the fields on offer depend on the kind of contract: a crew agreement has no homeowner on it, so it is never offered the homeowner's address.
- Contract templates only editable as text full of codes
- No way to mark which clauses a customer must initial
- One kind of contract for customers, crews and suppliers alike


