Your own crew agreement, versioned

Each builder writes their own crew agreement text, saved as a new version each time, with {{tokens}} that fill in per project at signing.

What it is

Crew_acceptance_agreements holds a body, a version and an active flag per org. A default agreement is seeded on first read so signing is never blocked. Editing writes a NEW version and deactivates the old one. Tokens like {{labor.amount}}, {{project.name}}, {{customer.name}} and {{date.today}} are filled at view and sign time.

Also called: sub agreement template · edit the crew contract · our own terms

See it
Your own crew agreement, versioned
Prepared for
Sutter Kline
1140 Ridge Line Rd · Fair Play
Shell package$36,530
Concrete & site$10,606
Doors & windows$7,070
Trim & finish$4,714
Total
$58,920
Signature
The Settings Sub Agreement editor with the token legend, beside a rendered agreement showing '$18,400.00' where {{labor.amount}} was. Sample data — no customer information appears here.
How it works
  1. 1GET /api/crew-agreement returns the active template; PUT saves a new version and deactivates the previous.
  2. 2getActiveAgreement seeds the default body on first read.
  3. 3getAgreementContext resolves labor.amount from the APPROVED estimate's frozen laborTotal, rendering 'TBD' when there is no approval.
  4. 4signAssignment freezes the RENDERED body onto the signature row, tokens already filled.
  5. 5Admin-only, with a 50-character minimum and a 50k ceiling.
Why we built it

Builders have their own crew agreements, wording their lawyers have already been through, and a generic one they cannot change is one they will not use. Each company keeps its own, and editing it saves a new version and retires the old one rather than overwriting it, because every signed acceptance points at the exact version its signer read and that history has to stay reconstructable. Only an admin may touch it — a crew agreement is a legal instrument, not a preference. The labour figure written into the document is frozen from the approved estimate at the moment of signing, so the signed record carries the amount the lead actually agreed to rather than a placeholder that later reads whatever the job has since become.

The problem
  • A one-size default agreement no builder's counsel approved.
  • Editing a template in place invalidating the provenance of past signatures.
  • Hand-typing the labour amount into every agreement.
Sound familiar?
What you get
Your own terms, in your own words.
Old signatures stay tied to the exact version signed.
Per-project amounts fill themselves from the approved estimate.

See it on your own jobs

Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.

or keep browsing features →