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
- 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.
- 2The row is skipped and the caller's count-based fallback applies ('1 window').
- 3Any answer still carrying a SKU marker or that looks like a code is hidden rather than printed raw.
- 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.
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.
- Upstream data errors surfacing verbatim on a customer document.
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 →