Never print 'undefined' to a customer

A material SmartBuild could not resolve is dropped from the customer-facing list and falls back to an honest count, instead of printing an error message dressed as a product.

What it is

A detector for unresolved materials: an empty name, a name starting with 'undefined', or a PriceError of ProductNotFound. Such rows are excluded from the customer openings list and from the SKU-to-name map.

Also called: ProductNotFound · missing SKU · undefined on the estimate · price book gap

See it
Never print 'undefined' to a customer
Prepared for
Delia Yoder
1140 Ridge Line Rd · Fair Play
Shell package$27,497
Concrete & site$7,983
Doors & windows$5,322
Trim & finish$3,548
Total
$44,350
Signature
Before/after of an Openings spec row: 'undefined (3636DHW)' replaced by '1 window'. Sample data — no customer information appears here.
How it works
  1. 1When a SKU is missing from the tenant's price book, SmartBuild does not drop the row or null the field — it returns the literal string 'undefined (3636DHW)' with PriceError ProductNotFound and a price of 0.
  2. 2The row is skipped and the caller's count-based fallback applies ('1 window').
  3. 3Any answer still carrying a SKU marker or that looks like a code is hidden rather than printed raw.
  4. 4SKU-shape detection is deliberately narrow: an @ prefix, or no spaces, eight characters or fewer, at least one digit and all uppercase — spaces or lowercase disqualify it, because those almost always mean a real description.
Why we built it

A proposal went out carrying the line Openings — 1 - undefined (3636DHW). Two things were wrong at once: the window was priced at $0, so the estimate was short by a real window, and the word undefined was printed to a paying customer. The missing price now surfaces to the builder, where it can actually be fixed; the customer-facing document never prints a placeholder whatever the cause, because a quote with undefined on it costs more trust than the window costs money.

The problem
  • Upstream data errors surfacing verbatim on a customer document.
Sound familiar?
What you get
Customer documents never print an error as a product name.
The honest count fallback still tells the customer what is included.

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 →