A materials map carried ON the BuildingSpec (usage to catalogue material id) that records only DEPARTURES from the shipped default binding. The engine does not know what a material is; it draws members and counts them, and the app layer resolves the map against the catalogue.
Also called: 26 gauge instead of 29 · upgrade the posts · per design materials · material options
- 1specPriceBook() layers the design's choices over the org's book, so a design that picked 26ga panels is PRICED as 26ga.
- 2Only departures are stored, so improving a default binding still reaches every building that never overrode it.
- 3A design naming a material the shop no longer stocks keeps the default rather than breaking.
- 4USAGE_MATERIAL_OPTIONS limits what may be chosen per usage to products that are genuinely interchangeable in that position — offering a bag of concrete as a wall girt "is not a choice, it's a trap".
Which materials a building is made of belongs to that building, not to the account — two designs on the same account can legitimately differ, and a design reopened a year later has to re-price and re-order as the same building. The choice is stored with the design and carried through into the takeoff and the price, because a material choice that never reaches the money is not a choice, just a different picture.
- Per-job material upgrades that never reach the estimate.
- Saved designs re-pricing differently because their materials were app state.
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 →