Naming what went unpriced

The takeoff totaliser reports how many lines priced, how many didn't, and exactly which ones — so a low total becomes a list instead of a mystery.

What it is

Every takeoff total returns priced count, unpriced count and the distinct set of unpriced usages, which the workspace surfaces as a 'missing prices' affordance that jumps straight to the offending rows in Settings.

Also called: why is the total low · lines with no price · missing price rows

See it
Naming what went unpriced
Won
55%
Avg cycle
12d
Pipeline
$463k
JanSep
The Materials tab header showing 'N lines have no price' with the jump-to-settings action (InternalEstimateMaterials.tsx onMissingPrices). Sample data — no customer information appears here.
How it works
  1. 1takeoffSellTotal() accumulates the total and collects any usage with no book row.
  2. 2The materials tab shows the missing count and links into Builder prices, focused on that row.
  3. 3An absent key stays unpriced rather than pricing at zero.
Why we built it

A missing price costs zero and says nothing, which is why the gap sat in real estimates for months while builders wondered why their totals looked light. The takeoff now reports how many lines priced, how many didn't, and exactly which ones, turning 'the total looks low' into a list of lines to go and fix.

The problem
  • Silent zero-cost lines dragging a total down invisibly
Sound familiar?
What you get
A low total names its own cause
One click from the warning to the row that needs a price

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 →