One customer total, everywhere

The estimate list, the pipeline card, the contact card, the workspace and the customer's portal all derive the job's value from the same function, so they cannot disagree.

What it is

A single derivation — materials by category, plus labour, services, colour upgrades and every markup rule — that every surface calls. The value is derived from the building spec through the price book on demand rather than cached in a column, precisely so a second source of truth can't reappear.

Also called: price discrepancy · different totals on different screens · what is this job worth

See it, piece by piece
01

The card, the list and the customer's page all read one figure

A lead showed $72,000 on the board and a different number the moment the card was opened, because the board was rendering a value typed in at capture while the estimate had moved on. Every surface now derives the job's value the same way — from the building, through your price book. Two numbers for one building is an argument with a customer who has seen both.

Lead card
Paige Kauffman$72,000.00
Barndominium
Barndo
Marcus Feld
$72k
Home Show(717) 555-0104
0/2
Permit required · Columbia
Aug 5, 2026STALE
The value on the card — derived from the estimate, not typed onto the lead. The real screen, drawn from the product’s own design system. Sample data — no customer information appears here.
02

“Total” means materials, labour, services, colour upgrades and markup

Three screens showed the materials figure while the workspace showed the grand total, which under-states a job by roughly a third. The total now carries the labour lines, every service, priced colour upgrades and each markup rule, printed in groups that add up on screen. A quote a rep has to mentally top up before saying it out loud is a quote that gets said wrong.

How this total is built
How this total is built
Materials$49,808.75
Framing$18,420.00
Sheathing$12,905.50
Trim$3,180.00
Doors & Windows$9,640.00
Foundation$4,275.00
Fasteners$1,388.25
Labor$8,910.53
Erect shell2,400 sf · 176 hrs × $42.25/hr$7,436.00
Walk doors & windows3 × 1.5 hrs$190.13
Overhead doors2 × 4 hrs$338.00
Lean-to / porch480 sf · 22.4 hrs$946.40
Services & site work$25,546.00
Concrete Pad2,400 Per Sq Ft × $7.25$17,400.00
Site Prep & Grading$2,850.00
Seamless Gutters168 Per Linear Ft × $9.50$1,596.00
Custom Garage Door2 × $1,850.00$3,700.00
Markup+$9,083.22
Markup · Framing · 10%+$1,842.00
Markup · Doors & Windows · $500+$500.00
Markup · Everything · 8%+$6,741.22
Customer total
Materials, labor, services and markup — everything the customer pays.
$93,348.50
Materials, labour, services and markup — each group totalled, ending on the customer total. The real screen, drawn from the product’s own design system. Sample data — no customer information appears here.
03

The forecast is priced off the estimates, not off what someone guessed at intake

Column totals on the sales board add up values derived from real buildings, so what the pipeline says the month is worth is what the quotes say. Every design in the account is priced in one pass rather than one request per card. A forecast built on budget figures typed at first contact drifts all quarter and nobody notices until it misses.

Sales Pipeline
New Lead8
$576,000.00
Paige Kauffman$72,000.00
Barndominium
Barndo
Marcus Feld
$72k
Home Show(717) 555-0104
0/2
Permit required · Columbia
Aug 5, 2026STALE
Tyler Kauffman$72,000.00
Commercial Shop
Pole Barn
Sheila Nunez
$72k
Facebook(717) 555-0120
0/2
Permit required · Lawrence
Aug 1, 2026STALE
Contacted3
$216,000.00
Maria Riehl$72,000.00
Equipment Storage
Pole Barn
Dale Whitmore
$72k
Facebook(717) 555-0140
0/6
No permit needed · Nemaha County
Aug 2, 2026
Create Estimate2
$97,042.34
Renee Ruth$68,817.93
Equipment Storage
Pole Barn
Dale Whitmore
$72k
Yard Sign(717) 555-0135
0/5
Permit required · Lawrence
Aug 18, 2026
5Estimate Sent
4Estimate Approved
2Info Submitted
7Contract Sent
4Co-sign Pending
3Ready to Start
Column money totals — each one built from priced estimates. The real screen, drawn from the product’s own design system. Sample data — no customer information appears here.
04

The customer's page shows the same buildup you priced

Materials, labour, services itemised under their own subtotal, markup, one total — the same groups in the same order the builder sees. When a buyer asks what the $25,546 of services covers, the answer is already on the page in front of them. Sending a bare number and defending it over the phone is how a $3,700 door line turns into a discount.

Your Investment

Your Investment

Materials$49,808.75
Labor$8,910.53
Services & Add-Ons$25,546.00
Concrete Pad$17,400.00
Site Prep & Grading$2,850.00
Seamless Gutters$1,596.00
Custom Garage Door — 9′ × 8′ (2)$3,700.00
Markup$9,083.22
Customer Total$93,348.50
As low as $1,915.24/month (60-month estimate at 8.5% APR)
Illustrative only — based on a 8.5% APR over 60 months. Actual financing terms vary by lender and credit profile. We are not a lender and do not provide financing.
Your Investment — services itemised under their own subtotal. The real screen, drawn from the product’s own design system. Sample data — no customer information appears here.
05

Every line that moved the total has its own row

Base, markup and total sit on each row, so what a section costs and what it sells for are one glance apart. A total that cannot be taken apart is a total nobody can defend at a kitchen table.

Cost breakdown
Item
Base
Markup
Total
Materials
Framing
$18,420.00
%$10
+$1,842.00
$20,262.00
Sheathing
$12,905.50
%$0
$12,905.50
Trim
$3,180.00
%$0
$3,180.00
Doors & Windows
$9,640.00
%$500
+$500.00
$10,140.00
Foundation
$4,275.00
%$0
$4,275.00
Fasteners
$1,388.25
%$0
$1,388.25
Materials
$49,808.75
LaborOnOff
Erect shell
2,400 sf · 176 hrs × $42.25/hr
$7,436.00
%$0
$7,436.00
Walk doors & windows
3 × 1.5 hrs
$190.13
%$0
$190.13
Overhead doors
2 × 4 hrs
$338.00
%$0
$338.00
Lean-to / porch
480 sf · 22.4 hrs
$946.40
%$0
$946.40
Labor
$8,910.53
Services & add-onsSave as templateUse template+ Add service
Concrete & Site Package2 lines · $20,250.00Remove these lines
Concrete Pad
40′ × 60′ = 2,400 sq ft × $7.25 = $17,400
×
$17,400.00
%$0
$17,400.00
Site Prep & Grading
1 × $2,850 = $2,850
×
$2,850.00
%$0
$2,850.00
Seamless Gutters
168 lin ft × $9.50 = $1,596
×
$1,596.00
%$0
$1,596.00
Custom Garage Door
2 × 9′ × 8′ @ $1,850 = $3,700
×
$3,700.00
%$0
$3,700.00
Services
$25,546.00
Whole job
Marks up materials + labor + services together
$84,265.28
%$8
+$6,741.22
$91,006.50
Customer total
$84,265.28
+$9,083.22
$93,348.50
Base, markup and total on every row, down to the customer total. The real screen, drawn from the product’s own design system. Sample data — no customer information appears here.
06

Approved change orders count toward what the job is worth

A signed change order sits on the estimate with a switch of its own, and the value that leaves the screen includes it. Two overhead doors added in week three are worth what two quoted on day one are worth. A job value frozen at the original quote makes a busy month of upsells look flat.

New Change Order — Line Items
Line Items+ Add Line
KindDescriptionSupplierQtyUnitUnit PriceTotal
Material12×12 insulated overhead doors (2)Kaufman Door Supply2ea2480.00$4,960.00×
LaborFrame openings, headers, jamb & track installUnassigned18hr68.00$1,224.00×
Credit (subtracts)Delete one 3068 walk door from base scopeUnassigned1ea640.00-$640.00×
Markup %
12
Tax %
6
Subtotal$5,544.00
Markup (12%) + Tax (6%)$1,037.84
Total$6,581.84
Schedule+3 days
A change order's own lines — material, labour and a credit, priced the same way. The real screen, drawn from the product’s own design system. Sample data — no customer information appears here.
How it works
  1. 1customerTotalFor() takes the material totals, the building spec and the stored pricing and returns grand, materials, labor, services, colors and markup.
  2. 2Geometry-derived labour inputs come from the SPEC, not the stored pricing, so a design that has never been opened in the pricing screen still gets correct labour instead of zero.
  3. 3designSellTotal() prices a whole design in one pass for board-level surfaces (37 designs measured at 76ms).
  4. 4The resulting total is pushed outward to the pipeline card, the linked contact and the customer portal, debounced.
  5. 5scripts/check-price-book-units.mjs asserts the pricing invariants.
Why we built it

One building could show three different prices depending on where you looked. The estimate list totalled the bill of materials, the pricing workspace totalled stock rows, and the pipeline card showed a figure somebody had typed by hand months earlier that stopped tracking the moment the building changed. A materials-only number also understates a real job by roughly a third, because the hours, the labour, the gutters and the concrete are all missing from it. Every surface — list, pipeline card, contact card, workspace and the customer's own portal — now derives the job's value the same way from everything that goes into it, so they cannot disagree.

The problem
  • Three surfaces computing the job's value three different ways
  • Cards showing materials only and understating the job by a third
  • A hand-typed deal value that stops tracking the estimate
Sound familiar?
What you get
One number for the job on every screen in the business
Change the building and every surface moves together
If they ever disagree it is one function to fix, not three to reconcile
What's inside

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 →