Products your price book couldn't price

Any line the price book couldn't resolve is called out to the builder as a $0 item that shorts the quote — and never printed to the customer.

What it is

When a SKU is missing from the price book, the estimating engine doesn't drop the row or error — it returns a material literally named 'undefined (3636DHW)' with a price of zero. Two problems in one row, handled separately: the builder gets a red warning naming the SKUs, and the customer-facing list drops the row and falls through to an honest count ('1 window').

Also called: undefined on the quote · product not found · line priced at zero · missing SKU

See it
Add a service
Add a service
Search services…
Concrete
Concrete Pad4″ pad, fiber mesh, saw-cut joints$7.25Per Sq Ft
Site Prep & GradingStrip, level and compact the pad area$2,850.00Flat Cost
Apron / Approach$9.80Per Sq Ft
Exterior
Seamless Gutters6″ K-style with downspouts$9.50Per Linear Ft
Versetta Stone Wainscot$28.00Per Sq Ft
Cupola — 30″ with weathervane$1,150.00Per Each
Openings
Custom Garage DoorSized per opening — quote it on the linequotedCustom Quoted
Walk Door — 36″ insulated steel$685.00Per Each
Permits & Fees
Building PermitJurisdiction fee — confirm before quotingquotedCustom Quoted
The red warning card above the Colors panel naming two unresolved SKUs (EstimatesView.tsx isUnresolvedMaterial block). The real screen, drawn from the product’s own design system. Sample data — no customer information appears here.
How it works
  1. 1isUnresolvedMaterial() flags a row with an empty name, a name starting with 'undefined', or a ProductNotFound price error.
  2. 2The Summary tab shows a red banner: 'N products aren't in your price book — priced at $0', naming each SKU.
  3. 3Customer-facing opening lists skip the row entirely rather than print an error message wearing a product's clothes.
Why we built it

A live customer portal was showing an openings line that read 'undefined' with a part number after it. One row, two separate failures: the price book had no entry for that window, so the line was priced at $0 and the estimate was short by a real window — and the word itself was printed to a paying customer. Unpriced lines are now called out to the builder as a shortfall to fix, and are never shown to the customer. Before this they were an error nowhere; a $0 line just sat quietly in a real estimate.

The problem
  • Missing SKUs silently pricing at zero and shorting the quote
  • Internal error text reaching a paying customer
Sound familiar?
What you get
You find out before you send, not after
The customer never reads an error message as a product name

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 →