Your real payment terms in the contract

The contract states the payment stages set on that job — percentages and dollar amounts — instead of a generic 50/50 the software invented.

What it is

{{estimate.payment_schedule}} renders as a markdown bullet list of the job's stages: name, percent, and dollar amount (computed from the percent against the grand total when no amount is stored). Stages come from the estimate snapshot when present, otherwise from job_meta.payment_stages for that job. Only when both are empty does the hardcoded 50% framing / 50% completion fallback appear.

Also called: payment schedule in contract · draw schedule · 30/60/10 · deposit terms · progress payments

See it
Your real payment terms in the contract
Prepared for
Sutter Kline
1140 Ridge Line Rd · Fair Play
Shell package$34,491
Concrete & site$10,013
Doors & windows$6,676
Trim & finish$4,450
Total
$55,630
Signature
The contract's Payment Terms section rendering '30% — $10,200.00 / 60% — $20,400.00 / 10% — $3,400.00' against a struck-through generic 50/50. ContractMarkdown bullet list. Sample data — no customer information appears here.
How it works
  1. 1Look for paymentStages on the estimate snapshot.
  2. 2If empty and the link has a job_id, read job_meta.payment_stages for that org + job.
  3. 3Render each stage as '- **<name>:** <pct>% — $<amount>', filling the amount from percent × grand total when needed.
  4. 4Fall back to 50/50 only if there are genuinely no stages anywhere.
Why we built it

This is one of the sharpest bug notes in the codebase: 'This used to read snap.paymentStages off the ESTIMATE SNAPSHOT, a key that snapshot has never contained — so `stages` was always empty and every contract silently fell through to the hardcoded 50/50 below. Barnhouse's actual terms are 30% down / 60% delivery / 10% final. Their contracts have been stating 50% at framing and 50% at completion. On a $34,000 job that is a first payment overstated by nearly $7,000, in a document the customer signs.'

The problem
  • Contracts stating payment terms the builder does not actually use
  • First payment amounts overstated or understated in a signed document
  • Payment stages living only in the estimate and never reaching the contract
Sound familiar?
What you get
The contract states the terms you actually sell
Each stage shows both the percentage and the dollar figure
The generic fallback only appears when no terms exist at all

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 →