Five unit types, each with its own quantity control and its own display language. Square-foot lines can be entered as length × width and keep both the dimensions and the area, because the dimensions are what a customer recognises — a 21 by 16 pad means something a bare '336 sq ft' does not.
Also called: per square foot pricing · linear foot · flat rate · custom quoted line
- 1The unit comes from the catalog row: sqft, linear_ft, each, flat, or custom.
- 2The row renders the right controls and the right labels for that unit.
- 3measurementLabel() produces what the customer reads for how much there is; unitPriceLabel() produces what each one costs.
- 4serviceLineTotal() is the one calculator, rounding to cents.
- 5serviceMathString() prints the human sentence under the row.
Every service is sold a different way — per square foot, per linear foot, per each, flat, or custom quoted — and typing one price into one box hides which, so nobody could check the arithmetic later or explain it to a customer. Each service now prices itself the way it is actually sold and prints the working. The switch that hides a line from the customer is labelled with the literal text that line prints, because two separate versions of that wording would eventually put a label on a switch that doesn't match what the customer reads.
- One-size-fits-all quantity fields for services sold five different ways
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 →