BidCraft Tile
BidCraftTile
2026-09-08

Materials on every line, and numbers that only count once

Add materials to any line on your bid — matched or not. Two lines can't bill the same wall twice. A wrong product pick stays blank instead of pricing 387 bags of nothing. And re-drafting with open checks asks instead of refusing.

Materials on every line, and numbers that only count once

This round came straight from a bid that had four things wrong with it at once. All four are fixed.

Materials on a line that didn't match a service

Before: a line that matched nothing in your catalog said "no service matched" and that was the end of it — no way to add materials until you went and matched something. Now the materials row under every line has + Add a material and Generate for this bid, whether it matched or not. What you add lives on this bid. Match a service later and the list comes along. Lock the bid with Save to catalog ticked and the brand-new service is born already carrying it — so the work you did on the line isn't lost the moment it becomes a service.

"That line is no longer on this bid" — gone

If you re-drafted and then pressed Generate on a line that was plainly still there, you'd sometimes get told it wasn't. The page was holding on to the old draft's line ids after a re-draft. It doesn't any more: the table picks up the new draft the moment it lands, and if a request ever does cross a re-draft in flight, BidCraft quietly finds the same line under its new id and retries once before it says anything.

The same wall is never billed twice

When Biddy splits a surface into pieces on separate lines — the back wall in herringbone, the side walls in straight lay — each line now names only its own piece and prices only its own square feet. And if two lines ever do claim the same surface, the second one drops that area to zero and says so right under its title: "Shares shower walls with line 1 — split the surfaces or one line will double-count. Not billed here." Tap Change what this line covers to give it its own piece, or merge the lines, and the warning clears itself. A shower that measures 88 square feet is on the bid for 88 square feet, once.

A wrong product stays blank instead of pricing

The one that started it: 387 bags of tile leveling clips at $2,200. There's no clip product in the catalog, so the resolver had grabbed the nearest thing filed under "tools & consumables" — an embedding tool — and run the clips formula on it. Now a fallback pick has to actually look like the thing the row asks for, and be sold in a unit that makes sense for it. When nothing qualifies the row stays blank with a quiet note under it — "wrong kind of product — check this pick" — so a confident wrong number never lands on a bid. Products you've picked yourself, or set as a favorite for a role, are never second-guessed.

Count-type materials also do their arithmetic now: the rule counts clips, you buy bags, and the row shows both — 2 bags with ≈386 clips beside it as the working — instead of 387 of something.

Product descriptions, where you're deciding

Every material row's details, the Costs view, and the swap picker now show what the product actually is — its description and category from the catalog, with Open in catalog → when it's in your library. Comparing two names was exactly how a tool passed for clips; now you can read the difference.

Re-drafting with open checks asks instead of refusing

Open checks used to grey out Draft and Re-draft until you'd answered every one. Now they stay live. Press either with checks open and BidCraft asks: Answer the checks first scrolls you straight to the first one; Draft anyway writes the scope now and each affected line says what it assumed in its own description. Closing the dialog never drafts on its own.

Those flags stopped shouting

The per-job notes on a material — pick the grout colour, match the caulk — used to be full-width amber bands that chopped the list into sections. They're small chips under the product now, with Confirm and Swap beside them. Still there, still findable, no longer the headline.

Duplicate services stop hiding your materials

If your catalog has more than one copy of a service and only one of them carries materials, your estimate now prefers that one when they otherwise match equally. And when you merge copies in the duplicate finder, the materials on the copies you archive are carried onto the one you keep — so picking the most-used copy never costs you the list someone built on the other. Each row in the finder now says plainly whether it has materials or not.