The surplus is only non-zero when total crew hours are above zero. The rounding-drift correction is guarded the same way, so a project that has not started cannot pay anybody.
Also called: payout on a job that hasn't started · phantom surplus · $81,900 bug
- 1surplus = totalHours > 0 && rawSurplus > 0 ? rawSurplus : 0.
- 2The drift correction requires totalHours > 0 and at least one member.
- 3With no hours, every member's share is zero and the pool stays the builder's set-aside.
The surplus is the share of the pool a crew earns back by working, split by hours — so with no hours logged there is nothing earned and nobody to earn it. Reading an untouched pool as a shareable surplus once paid one man the entire job on a project that had not started: $81,900 against zero hours worked. A pool nobody has worked is money the builder has set aside, not money anyone is owed, and it is reported that way until someone actually works it.
- An untouched pool being read as an earned surplus.
- Rounding logic handing an entire surplus to whoever sorted first.
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 →