On estimates you build in Leads 2 Build, every line the takeoff can produce has a row — a cost, a sell price and a unit. Posts, girts, purlins, steel panels, trim, trusses, hardware, openings, insulation, concrete. The book arrives with starter prices — most checked against real builders' estimates, the rest ordinary market numbers marked for you to replace first — and you override whatever you like. Only the rows you change are kept, so a better calibration can still improve the ones you never touched. (An estimate synced from SmartBuild carries SmartBuild's own prices.) Built exclusively for post-frame and barndominium builders, so the book is already in the trade's units — girts by the stick, steel by the panel, trusses by the span.
Also called: lumber prices · yard pricing · cost and sell · material rates · 2x6 went up
Your yard's prices drive every quote, and one edit reprices every draft
Cost and sell price per material, edited in one place when the yard changes its pricing. Lumber going up 20% is an afternoon of edits rather than a quarter of quotes written at last year's numbers. The starting book was calibrated against 258 real estimates, so day-one numbers are close before you touch anything. Watching that same number move while you are still dragging the building about, and putting 26ga on one job without shifting your defaults, is the same book seen from the model.
The yard raised 2x6 in March, your quotes carried the old number until June, and the difference came out of jobs you had already signed.
An owner who updates the book once a quarter should be quoting today's lumber, not last spring's. Only the rows you edit are kept, so a later recalibration improves every material you never touched while your own numbers stay exactly as you typed them.
Change the material, not the ten line types made out of it
A takeoff says girts, cripples and sills. A yard sells 2x6 SPF by the foot. Each line is bound to the material it is actually made of, so one edit moves every 2x6 girt, cripple and sill on every estimate still in draft — a sent one keeps the prices it went out with. A separate price per line type drifts — and the drift shows up as margin you cannot explain.
You raise lumber on the girt price, forget cripples and sills, and two quotes leave the office with the same stick of 2x6 costing two different amounts.
Nobody remembers to update ten line types when 2x6 goes up. Because lines bind to the material the yard actually sells, the estimate rolls up by material category — one edit shows its whole effect in the subtotals instead of being chased line by line.
The book is four columns, and one of them is what you pay
Try itSettings, Builder prices. One row per material: your cost, your sell price, and the unit both of those numbers are in. Under each name the row says what catalogue product it is bound to — which product a drawn line is made of is set in the model, and the row tells you which one it landed on.
You type 4.53 against a post meaning the whole twenty-foot column, and every building you quote from then on carries four dollars and change of post.
A wrong unit doesn't throw an error — it just quietly costs you money. The unit is printed on the row rather than assumed, so what you typed can be checked against what you meant before it reaches a quote.
Cost and sell sit on the same row, so margin is visible per material
Try itWhat you pay and what you charge, side by side, with zero-priced items, margin under 20% and margin over 40% flagged as you scroll. A book holding sell prices only tells you your revenue — and nothing about whether the steel is carrying the job or dragging it. Margin on a material row is not the same thing as the markup you put on a job; that lives in markup rules.
You assume the steel package carries the job, and nothing you have ever quoted has told you it has been running at single-digit margin since the last price rise.
An owner should spot a thin material in passing, not at year end. Flagging zero-priced rows, anything under twenty percent and anything over forty as you scroll means a thin line can no longer hide inside a healthy job total — and the filters show you the rest in one click.
252 materials, and the search takes the SKU off the yard's quote
Try itEvery product a building can be made of, in the yard's own categories — Framing 27, Trim 24, Trusses 138. Search matches the name and the SKU, because the price list that arrives from the yard has AG29 written on it and not much else.
The yard emails a revised list with SKUs down the left, and you spend ten minutes deciding which of two hundred rows AG29 actually is.
The yard's price list arrives with SKUs, so the search speaks SKU. Nobody scrolls 138 trusses, and each row says how many real priced lines its default came from — a 2x6 built from 3,045 lines is a firmer number than a truss built from 61, and the row says so.
A wrong unit fails a check instead of shipping a wrong quote
When the book prices per foot and the takeoff counts objects, forgetting the conversion does not error — it bills a 27-foot roof panel as one foot, and a 4,000 square foot roof comes to $225. The conversion is done for you, and the check runs across every option a building can carry rather than a few sample designs. Insulation, a cupola and a ridge vent all priced at zero once, because no sample had them switched on.
A per-foot price meets a count of objects and a 4,000 square foot roof quotes at $225 — a number that reads as normal right up until the panels are ordered.
A $225 roof reads normal right up until the panels are ordered. Each takeoff row carries both the count and the length it consumes, so the conversion always has the number it needs — and the check sweeps every option a building can carry, not a handful of samples.
A low total names its own cause
The takeoff reports how many lines priced, how many did not, and exactly which ones. A material with no price contributes nothing and says nothing — which is how 14 of 34 line types on a 30×40, the wall and roof steel among them, once priced at zero with no warning at all.
The total comes in low and nothing about it tells you whether the building is genuinely cheap or half the steel simply never got priced.
A builder can't fix a price he doesn't know is missing. The cost tile names the book the numbers came from and says outright whether every item has a price, so silence stops being one of the answers a total can give.
An unpriced material takes you to the row that needs one
Try itThe Amount column reads No price — not a dash, not a blank, not zero. The banner above it counts them, and opening it lands you in the price book with those rows highlighted and scrolled to. A material the book has never held is added as a row at zero, so there is somewhere to type.
You are told four materials have no price, spend two minutes hunting a hundred-row table, and decide the total is probably close enough.
A warning that makes you go hunting is a warning that gets ignored. The list is carried into Settings with those rows highlighted, so the repair is three keystrokes — and a material the book never held gets a row at zero, so there is somewhere to type.
The morning the yard sends a new price list
The order sheet is already written in the yard's words — 2x6 SPF · 16′, 92 pcs — the same name the price row carries, so the sheet the yard quoted from and the book read side by side. Type over what moved, save, leave the rest — or, on Material prices, upload the yard's sheet itself.
A four-page price list lands from the yard and nothing tells you which of its lines your software even uses.
The office should be able to update prices with the yard's sheet in one hand. The order sheet and the book use the same names, so you type over what moved and leave the rest — and only the rows you edit are stored.
Or upload the yard's sheet and check every change
On Material prices — every product's cost and sell from the yard — Upload price sheet takes the supplier's CSV or Excel file as it came, matches each row to a material by SKU or name, and shows every change old beside new before anything is saved: 2x6 SPF 12′, $8.40 → $9.48, +12.9%. Zero prices, "Call" and duplicate SKUs are left out with the reason, a unit that disagrees is flagged, and nothing moves until you publish. The whole walk-through is on supplier price sheet upload.
The yard's new sheet has three hundred lines, and the only way into the list is typing them one at a time.
An office manager should update a month of prices in minutes, not an evening. Showing the change before saving it is what makes the upload safe to hand to whoever is in the office — the one price that jumped 40% gets caught on the screen, not on a quote.
Every price a sheet changed, on record
Try itEach publish is written to the Price change log before the list moves: old and new cost and sell, who published it, when, the supplier and file, and the date the price took effect — per upload or all together. Each material's own History carries the same change alongside the hand edits, so a price cannot move without leaving a line.
A price looks wrong, and nobody can say whether it came from the yard, a typo or last month's sheet.
A book with a history is a book people are not afraid to edit. When a number looks wrong the owner sees which sheet set it and who published it, and nobody has to defend a price from memory.
One edit moves every quote still open, and stops at the ones already cut
Try itPut a price up today and every building still on the drawing board reprices. The quote you sent last week does not move — an estimate keeps the numbers it was cut with, which is the whole reason for cutting one. Add-ons off your service catalog work the other way round again: they hold the rate they were given the day they went on the quote.
You raise steel on Tuesday, and a customer who has been sitting on a signed number since March opens their link to a different total.
A customer holding a signed number must never open their link to a different one. Materials read live and services freeze because they answer different questions — a stick of 2x6 is a commodity you want current, a concrete pour is a number you already told somebody — and a saved version keeps the prices it was saved with.
The same building must not wear two prices
The estimate list totals whole material lines. The workspace explodes each line into its stock lengths and prices the rows. Two code paths, and they once differed by $8,299 on a 50×80 — a per-foot post billed by piece count, so a 20-foot column was charged as one foot. A standing check prices every preset at three sizes down both paths and fails if they part by more than a nickel. And inside the workspace the material lines are read from the very building on screen: after an edit in the 3D builder, the header, the summary, a saved version, the material order and Send all price the same building — never one moment's building with another moment's materials.
The pipeline card says $71,400, the estimate workspace says $79,699, and the customer is on the phone asking which one is real.
One building, one price — anything else is a phone call you lose. The two surfaces stay separate on purpose, so the guarantee is that the stock-row arithmetic reproduces the line's purchased footage exactly, which gives you one number wherever it appears.
Who is allowed to see what you pay
Cost sits on the same row as sell, so the tab holding it opens only for a role carrying Manage Users, and the server behind it refuses any account that was never granted the builder in the first place. Hiding a tab is a courtesy; the refusal is the control. What each of the five roles may do is set in roles and permissions.
Sell prices are on the quote anyway; the cost column is the one that turns into a conversation the day a crew leader gets a look at what the posts actually cost you.
What the posts really cost is the owner's business, not the crew leader's. Only a role with Manage Users opens the tab, and every save writes the whole book before and after with who saved it — because a price book with no history is a book people are frightened to edit.
Site work, utilities and travel have base prices of their own
Beside the material book, Settings, Estimating, Site, utilities & travel holds a base price for each kind of site line — a pad by the cubic yard, a trench by the foot, a septic, a well by the foot, the plumbing and electrical rough-ins — each showing the published range its starter number comes from — or, where no number is published (builder's risk, an equipment pad, a concrete driveway), saying so, and the line starts as a sub's quote until you set your own. A new line copies the base price onto itself, so a later change never reprices an estimate already out.
The material book is yours, but the septic and the trench still come from whoever priced the last job.
The ground work is priced from your numbers too, set once, with the source of every starter figure where you can judge it.
- 1Open Settings, Builder prices, and edit the cost and the sell price on any material.
- 2Only your changes are stored — the rest keep improving as the book is recalibrated.
- 3Takeoff lines find their material in the book; a material with no price stays unpriced rather than quietly costing nothing.
- 4Prices flow into the customer total, the estimate list, the pipeline card and the customer's page, all from one place — and the workspace, its summary, a saved version and Send all price the same building.
- 5Change one bound material — 2x6 SPF — and every 2x6 girt, cripple and sill on every draft estimate moves with it; a sent estimate keeps the prices it went out with until you press Use today's prices
- 6On Settings, Material prices, Upload price sheet brings in a supplier's CSV or Excel sheet: check every change, then publish — and the Price change log keeps each one.
A price book that ships with invented numbers is worse than no price book, because a builder trusts it once and then eats the difference. So the starting numbers were calibrated against 258 real estimates from working builders — the blended middle of every priced line, converted into the unit the takeoff actually counts. And your account keeps only the rows you edited, because storing the untouched ones would freeze today's defaults into your account and a better audit could never reach you.
- Estimating software shipping prices with no relationship to a real yard
- Updating one material meaning updating every quote by hand
Unit-mismatch protection on every priced line
One calculator turns what the takeoff counts into what your book charges for. Lumber comes out as sticks but is priced by the foot, so the footage actually purchased is used — cutting waste included. Panels and sheets fall back to count times length. A check then runs over every option a building can carry, not just a few sample designs.
Price the material, not the ten line types made out of it
The takeoff says Girt, 64 pcs. A yard does not sell girts — it sells 2x6 SPF by the foot. Lines made of a real material are priced from that material and from your own override of it. The things that are not — a truss built to span and pitch, a door that is a product — keep their own row rather than being forced onto a stick of lumber.
Naming what went unpriced
Every total comes back with a priced count, an unpriced count and the names of the ones that failed. The materials tab shows the count and jumps you straight to the offending rows in your price book.
Only what you changed is stored
Change four prices out of 252 and four numbers are stored. The rest stay on the shipped defaults, which means they get better when the defaults get better. Clear both fields on a row and your edit is gone — Reset genuinely resets.
Materials with no price, counted and named
A banner at the top of the Materials tab: 3 materials have no price. It names them. Click it and you land on the price list. The row itself reads No price where a figure would be, instead of a zero pretending to be one.

