SignaturePolicyFor(total, threshold) returns whether a signature is required plus a one-line explanation for the UI to show verbatim. The comparison is at-or-above, so a $5,000 threshold catches a $5,000 change order. A null threshold means every change order requires a signature. The change_orders table carries requires_contract and its own contract_id.
Also called: do I need a signature for this · signing threshold · small change orders · requires contract
- 1With no threshold set: required = true, because 'You haven't set a signing threshold yet, so every change order asks for a signature. Set one in Settings → Invoicing to skip small ones.'
- 2With a threshold: 'at or above your $5,000 signing threshold' or 'below your $5,000 signing threshold — no signature needed.'
- 3The boundary is inclusive on purpose: '"Over" would leave the exact boundary unsigned, which is the one number somebody will inevitably enter.'
- 4The threshold lives in tenant settings rather than in code 'because where the line sits is a business judgement that differs per builder'.
The module's header argues the default from first principles: 'A $400 extra outlet should not drag a signing ceremony behind it; a $40k slab must never proceed without one… A NULL threshold means every change order needs a signature. That is deliberate: before a builder has told us their number, the alternative is a figure we invented, and a threshold we made up would silently let real work begin unsigned. Requiring one signature too many is an annoyance; skipping one that mattered is a dispute with no paperwork behind it.'
- Signature ceremonies for trivial extras
- Large scope changes proceeding on a verbal yes
- A vendor-invented threshold silently governing a builder's risk
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 →