A price block where every row is independently switchable. Services appear as a category with a subtotal and then each service line beneath it as a name and a number. Hiding a row never changes the customer total, it only stops itemising it.
Also called: price breakdown · what am I paying for · materials labour markup · customer total
- 1Each row is gated by its own key in the sections map
- 2Service line totals use the app's shared serviceLineTotal, not a local copy
- 3The visible services subtotal is rounded to cents and rendered as a category
- 4The Customer Total is the frozen grand total and always the largest figure on the page
A single grand total invites the one question a builder cannot answer quickly on the phone: what is that made of? The breakdown separates materials, labour, and each service or add-on with its own total, then a subtotal and the customer total. Individual rows switch off, because a builder who folds labour into a square-foot rate cannot show a labour line without inviting an argument they already priced away.
- All-or-nothing pricing transparency
- Line items that invite arguments a builder already priced around
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 →