An agreement sent from the order detail, pre-titled with the PO and pre-filled with an editable template covering scope, schedule, payment, insurance and licensing, indemnification and independent-contractor status. The body is frozen into the row at send time. The subcontractor opens a hosted page, signs, and the signature image, signer identity, IP and user-agent are recorded with the timestamp.
Also called: subcontractor agreement · sub agreement e-sign · get the sub to sign · supplier contract
- 1The recipient email is pre-filled from the supplier's contact record but stays editable
- 2The agreement id is generated from a CSPRNG and doubles as the public signing-page token
- 3Sending emails the link and returns it, so it can also be copied and sent manually
- 4Signing flips status pending → signed, stamps IP and user-agent, and raises an admin alert
- 5The sign endpoint is IP rate-limited
- 6Status can also be cancelled if the builder revokes before signature
Migration 052 records the request: 'Feature (2026-from Adam): send a subcontractor an agreement to e-sign, delivered as an email link, scoped to a specific project or purchase order. Mirrors the customer change-order signature flow but for the supplier side.' The frozen body has its own reason: 'so future template edits don't rewrite signed history'. The token: 'opaque + unguessable, same pattern as estimate_links.id.'
- Subcontractors start work with nothing signed
- Printing, signing and scanning kills the paperwork
- A template edit rewriting agreements already signed
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 →