Jump to…
- You don't need photos to get here
- First, BidCraft confirms anything unclear
- Why scope comes first
- How the work is grouped
- Fix the fixtures BidCraft found
- What you're looking at
- The line panel
- The crew days you see are the final days
- Shaping the list
- When the AI returns an empty scope
- Deciding what's your client's call
- The prices are already here
- Lock & build
- When a price is different from your scope
- Locked but no proposal? Unlock from the project page
- Next steps
Reviewing the scope of work
After Biddy analyzes your photos and notes — or after you type your measurements in by hand — the next stop is the scope. It's the first stage of Bid, and it already has real money on it: every line that matched a service in your catalog shows a price, sized to the measurements from your rooms, with your multipliers applied and the crew days beside it. No waiting, no AI guess. You shape the work list and the numbers here, and what you set is what gets built.
Once a proposal has been built, tapping Bid opens on the proposal instead, since that's usually what you're coming back for. The scope is still one tap away: Scope & pricing is the first of the three cards at the top of Bid — Scope & pricing, Proposal, Costs & materials, in order, with an arrow between each. Tap a card to switch; the one you're on is highlighted.
You don't need photos to get here
There are two ways to land a scope draft, and neither one requires a photo:
- Let the AI draft it. Once the required measurements for your project type are filled in — whether they came from photos, a voice note, or you typing them straight into the Measurements card — the Draft Scope of Work button unlocks and the AI writes the work list from your numbers.
- Build it manually. Prefer to skip the AI draft and lay out the lines yourself? Choose Build scope manually and you get two ways to start:
- Start from [project type] template — pre-fills the standard work lines for that type. A shower remodel drops in the demo (with haul-off), the tile work with its prep and waterproofing inside, and the fixtures, ready for you to tweak. If your proposals list every step on its own line, you get those steps as separate lines instead (see How the work is grouped).
- Start blank — an empty list. Add lines by hand, including pulling services straight from your catalog (see Adding a line from your services catalog).
Either way, once the lines are in front of you, you edit them and hit Lock & build proposal exactly like a draft the AI wrote. The manual path is handy when you've done this exact job a hundred times and already know every line — no need to wait on a draft you'd rewrite anyway.
First, BidCraft confirms anything unclear
Before there's a scope to draft, BidCraft checks whether anything important is still unclear — a measurement it's not confident about, or a scope-defining question that hasn't been answered (permits, glass enclosure, demo extent, that kind of thing). Those questions come up as soon as a room finishes analyzing, and they show on that room's card over in Capture, underneath the measurements they'd change. So you answer a question about the shower while you're looking at the shower's photos and numbers, not later on a different screen. A question about the whole job rather than one room gets its own slim strip above the rooms.
Open checks don't lock the Draft button. Press it (or Re-draft) while checks are still open and BidCraft asks which you'd rather do: Answer the checks first scrolls you straight to the first one, opening its room if it was collapsed; Draft anyway writes the scope now, and every line an open check would have changed says what it assumed right in its own description ("Assumes 8 ft ceilings — confirm before ordering"), so nothing is hidden and the checks stay open for whenever you get to them. Closing the dialog with Escape or a click outside counts as "answer first" — it never drafts on its own. Rooms that haven't been analyzed yet still block the button; that one you have to do.
Answering a check never drafts the scope, not even the last one. Tap an answer and the check turns green with Got it while it saves, then drops off the list, and a short Answer saved note confirms it. When the room reads right, press Draft yourself.
What you say in a note becomes data. If you state a dimension in a voice or text note ("shower is 3 by 5 by 8 tall," "ceiling is 8 feet"), BidCraft extracts those values and the confirm card stops asking about them. Mention niches ("there's a 12x14 niche," "two shower niches," "no niches needed") or inside/outside corner counts on jogged walls and those get pulled in too — including when you say you don't want something ("no niche," "skip the bench"), so BidCraft won't turn around and ask about it.
It won't re-ask for numbers you can already see. If a measurement is already showing on a surface tile — even a rough estimate — the confirm card leaves it alone instead of asking again. If BidCraft is unsure but has a best guess, you'll see that guess pre-filled with a quick ✓ Looks right to accept it as-is, or Edit to fix it.
Re-analyzed after you already drafted? The changes still surface. Even once a scope exists, running a fresh analysis can bring this card back with one-tap "what changed" chips at the top — "Shower walls: 96 → 104 sqft" — so a new reading never slips in behind your back. Tap ✓ to accept a change and lock it as yours, or leave it alone. Reviewing the AI findings covers those chips in full.
Each question sits in its own small frame with a one-line note on why BidCraft is asking. Three show at a time; tap "{n} more…" to reveal three more rather than dumping the whole list on you at once.
[!steps]
- Read each question. Depending on the kind, you'll see: ✓ Looks right / Edit (something to confirm), a row of option chips (a yes/no or multiple-choice call), a dropdown (a finish or attribute), or Pick… / Edit (opens the surface editor directly).
- Answer what you can. Anything you skip just doesn't get answered — there's no separate skip button to hunt for.
- Hit the primary Draft button when you're ready.
- In a hurry? The ghost "skip — draft with what we have" link underneath drafts immediately with your current answers.
[!tip] Every answer you confirm steers the scope toward the right work — the card only shows up when BidCraft genuinely can't tell from your inputs, so each one is worth a few seconds. If nothing's unclear, you'll see a simple ✓ Nothing to confirm instead of any questions at all.
Why scope comes first
Pricing every line, sourcing materials, calculating crew days, and applying your multipliers takes 15–45 seconds and burns real AI credits. If the underlying scope is wrong — wrong rooms, missed work, duplicated lines — you'd just throw that pricing away. So BidCraft splits the job in two:
- Phase 1 — Scope. A fast pass at the list of work, with no numbers attached.
- Phase 2 — Build. Full pricing, materials, and payment schedule, once you're happy with the scope.
You can iterate on Phase 1 as many times as you want without spending time waiting on a full rebuild. When the scope feels right, you lock it and let BidCraft price it.
The scope-draft prompt sees more than just dimensions — it also reads the AI's room-level condition scores and existing-material flags from your analysis. That's why a low-condition substrate ("mortar-bedded, condition 2") tends to surface as a demo/abatement line on the very first draft, even before the proposal is priced. Correcting one of those readings on the AI findings page and re-drafting changes the scope, not just the proposal.
How the work is grouped
New drafts are written the way most contractors write their own bids. Prep, waterproofing, grout, caulking and sealing, and edge trim are inside the tile line they belong to, not lines of their own. The line's description says what's in it, for example "Includes cement board prep and a waterproof membrane." Demo and haul-off are one line. Clean-up goes in the last line's description. A permit line is left off unless it's priced in your catalog or the job needs it: you answered yes to the permits question, or your notes mention a permit. A punch list or final walkthrough line is never treated as a permit; it's folded in with the clean-up, and a bare "final inspection" stays as its own line.
Nothing is lost when work is grouped:
- The days come with it. The prep and waterproofing days are added to the tile line, so a line priced by the day costs the same as the separate lines would have.
- So do the materials. The tile line carries the backer board and the membrane, and generating materials for it includes them.
- The schedule keeps its steps. Membrane, backer board, setting and grout tasks under the tile line still land in their own phases, so waterproofing still comes before tile.
A row that took in other work shows a short note under its description, like Includes prep, waterproofing and grout. If the line is priced by your per-square-foot rate, the note says in your tile rate, so you can see that your rate now covers that work. If it should cost more, type your own price.
Some lines stay on their own even in a grouped bid:
- A line you typed a price, a rate or a day count on.
- A line matched to one of your services that has its own price, like a $650 waterproofing service. Its price would get lost inside the tile line, so it stays a line.
- A tile line priced by your per-square-foot rate doesn't take in other lines' days, because those days wouldn't change its price.
- Prep or waterproofing next to a tile line that has no day estimate yet. BidCraft prices that tile line from its square footage when it builds the proposal, so the prep and waterproofing keep their own lines and still get billed.
- Work your own template lists as its own line. Your template, your call.
If you keep deleting a line, BidCraft stops adding it. Say you take the waterproofing line off your bids before you send them. After a couple of bids, BidCraft notices and puts the waterproofing inside your tile line for you, even when that tile line is priced by your per-square-foot rate or the waterproofing has its own price in your catalog. The row says you usually bid it this way so you know why. It looks at your last five sent bids: removed on at least two of them, and never sent as its own line. Send it as its own line once and it goes back to its own line on your next draft. A line you typed a price on always stays put. Work you listed under Work you never give its own line in your proposal settings is grouped the same way, and its row says from your proposal settings.
Prefer every step on its own line? In Proposal Settings → Layout & pricing, set Line breakdown to One line per kind of work or One line per component. New drafts then list demo, prep, waterproofing, tile, grout and trim separately, like before. One line per room groups them. If you never picked a Line breakdown, drafts are grouped. Big whole-house jobs built from a plan set are always itemized room by room.
Fix the fixtures BidCraft found
Before you lock the scope, you can also edit any of the fixtures — sinks, toilets, showers, faucets, or anything else — that BidCraft pulled from your photos. This is useful when the AI missed a fixture or called it by the wrong name.
On the project page, open Capture, scroll to the room you want to edit, and look below its surface tiles — fixtures show up there as a row of chips. Tap any chip (or the + Add fixture chip at the end) and a small editor opens — a sheet on your phone, a centered window on desktop — where you can set the fixture's type and whether it's staying, being replaced, or removed.
Every change saves immediately and feeds straight into your next proposal draft. No Re-analyze needed.
One heads-up: If you click ↻ Re-analyze after editing fixtures, your edits get replaced with a fresh AI extraction. Re-analyze re-runs the analysis from scratch. So edit fixtures last, after you're done re-analyzing photos or tweaking dimensions.
What you're looking at
At the top of the page, under the three stage cards, a bar stays with you while you scroll: the draft total, how many lines are priced (with a progress bar and the rough margin), how many lines have materials, N need you in amber when something still affects the price, and Lock & build.
Each line is one row you can read at a glance:
- The line's name in bold and the first two lines of its description. A line that took in other work adds a short note under it, like Includes prep and waterproofing (see How the work is grouped).
- Three small icons beside it, always in the same spot:
- The service it matched — a link icon, filled when matched and amber when BidCraft isn't sure of the match.
- Its materials — a box icon with a count, or a dashed empty box when it has none yet. Materials are optional; the dashed box is just hard to miss.
- A flag with a count, in amber, when something on the line changes the price and needs your call (no price yet, a doubtful match, two lines covering the same surface, a product size to confirm). Colors and finishes aren't counted — the price is already right, so those can wait until after the client signs.
- The price on the right in bold, with its math underneath ($40 × 186 sqft), and the crew days beside it. A line with no price yet shows Set a price in amber.
The line you have open is tinted, with a dark edge down its left side, so you can see where you are in the list.
When the job has more than one room, the lines are grouped by room, each room on its own card with its name as a heading and its own subtotal (an optional line your client hasn't taken isn't in it). Work that isn't about one room — demo for the whole house, a dumpster — sits under Whole job at the end. + Add a line to Primary Bath at the bottom of a room's card adds a line straight into that room. A line joins a room when what it covers is in that room, or when its name says the room. The grouping is only how this page reads: your proposal keeps its own line order.
The line panel
Tap a line and its panel opens: beside the list on a computer, so the list stays readable and you can click the next line directly, and sliding up from the bottom on a phone or a narrow window. Tap one of the icons instead and the panel opens right at that part. Everything about the line is in the panel, stacked:
- The name and the full description, both editable.
- Needs you — what's left to settle on this line, each with a one-tap answer (Use it for a suggested service match, Fix for an overlap, Open for a material to check).
- Price — the price, the crew days, and whether the line is Required, Optional or a Choice.
- Service — Looks like Floor tile install, what the line covers and what's folded in, with Change to pick a different service or narrow what it covers. The warning when two lines cover the same surface shows here too.
- Materials — the count and the total, then the line's materials list.
Use ‹ › at the top to go to the previous or next line without closing, ▲ ▼ at the bottom to move the line within its room, Remove line to take it off, and Done to close.
In the panel's Service section you may see a match badge. This tells you whether BidCraft recognized the work from your services catalog:
| Badge | What it means |
|---|---|
| Green — Exact | This line lines up cleanly with one of your existing services. Pricing will anchor to that service. |
| Amber — Likely | A service in your catalog is probably the right match, but BidCraft isn't sure. Worth a glance. |
| Amber — Partial | Some overlap with an existing service, but the scope differs. Open it and confirm. |
| No badge | Brand new work BidCraft didn't recognize from your catalog. |
[!tip] Green badges are gold. The more lines match cleanly, the more your proposal anchors to your historical pricing for that exact work. If a match is wrong, open the line and pick a different service in its Service section — or "+ New service candidate" if none of your existing services fit.
The crew days you see are the final days
The day count on each line is already adjusted for the finishes on that line's surfaces. On a job with several rooms, a line for one room is adjusted for that room's finishes only. It isn't a straight-lay baseline waiting to get stretched later — what you're looking at is what the proposal will use.
On any line where the finishes moved the number, the math shows under the crew days in the line's panel:
2.0 base days × 1.5 = 3.0 days
That's your Tile difficulty tables doing the work — a herringbone marble wall takes longer than the same wall in plain 12x24, and the schedule should say so. Lines with nothing unusual on them just show a plain day count with no calculation underneath.
Type your own number and it's final. If you know that line is four days, type four. BidCraft ships it exactly as you typed it — it never multiplies your number a second time, and the calculation line disappears because there's nothing left to explain. Your day counts also survive a re-scope, so you don't have to retype them every pass.
If you've built out a template for this job type — and your project synthesis has enough detail to work with — BidCraft uses the template as the starting shape instead of generating scope from scratch. Each line then carries a small origin badge so you can see how it got there:
| Badge | What it means |
|---|---|
| Template | Carried over from your template line unchanged. Most lines should land here. |
| Template · adapted | Came from your template, but BidCraft adjusted the scope or quantity for this project's specifics. The reason for the change shows next to the badge. |
| Added from synthesis | Not in your template — BidCraft added it because your photos or notes called for work the template didn't cover. |
| ⚠ AI inferred | BidCraft added the line without a direct template or synthesis basis. Rare; review it carefully and remove if it doesn't fit. |
If BidCraft removed any of your template lines — say, "Demo existing shower" on a new-construction project — you'll see an "AI removed N template lines — review reasons" disclosure above the list. Expand it to see what was dropped and why. To restore a dropped line, hit + Add line at the bottom and pick it from your catalog.
Shaping the list
You have full control over the list before you lock it in:
[!steps]
- Edit a name or description — open the line and type in its panel. It saves as you go.
- Reorder lines — ▲ ▼ at the bottom of the line's panel move it past the line above or below it in the same room. That's the order it takes on the client-facing proposal.
- Remove a line — Remove line at the bottom of the line's panel, on a computer or a phone. It asks first, since the line's price, crew days and materials go with it.
- Add a new line — "+ Add line" at the bottom. Useful when you spot work the AI missed. The new line's panel opens so you can name and price it.
- Save to catalog — every unmatched line has a "Save to catalog" checkbox in its Service section. Tick it if this is work you sell regularly. After the proposal generates, that line becomes a new service in your catalog so the next project matches it green.
[!note] "Save to catalog" defaults to checked on unmatched lines and unchecked on matched lines (no point duplicating a service that already exists). For one-off oddities — a specific allowance, a custom pass-through fee — uncheck it before locking.
Pulling lines from your services catalog: when you click + Add line, a search panel opens showing your existing services. Type a keyword to filter, see the service name and scope blurb, pick — the new line drops in with auto-filled details. See Adding a line from your services catalog for the full walk-through.
When the AI returns an empty scope
Once in a while the AI's first scope pass comes back empty — usually because of a transient hiccup with the model, not because there's nothing to do. BidCraft now retries automatically when this happens, so most of the time you won't even notice. If the retry also fails, you'll see a clear error message instead of a blank screen, and you can hit the Generate scope button again to try once more. If your measurements are also looking off, they'll refresh on the retry.
Deciding what's your client's call
Every line has a three-way control — Required, Optional · included, or Optional · not included — and a + Add alternative… button that pairs it with other options your client picks between. Doing it here, before pricing runs, means each alternative gets priced on its own instead of stacking up as extra work.
Anything you've marked shows a tag above its title saying exactly what it is, and when the draft has options at all there's a line above the list summing it up: "This draft offers 1 optional add-on and 1 choice group. Your client picks on the proposal — the total they see updates as they choose." So you can tell at a glance what you're handing your client to decide, without reading every line.
One thing worth knowing: the descriptions won't hedge. An optional line is written the same way a required one is — plain description of the work, no "if they want it" or "confirm with the homeowner". That's deliberate. The tag says whether it's optional; the description says what the work is.
Full walkthrough: Offering options and add-ons.
The prices are already here
Every line that matched a service in your catalog comes back priced. The row shows the amount, what it's based on underneath it ($40/sqft × 186 sqft, or flat · full bath, or $650 each · shower niche, or $45/sqft × 94 sqft · your rule), and the crew days under that. A service with a flat price or a per-item price always charges that price — your crew-day estimate still sets the schedule, but it doesn't change what the client pays for that line. It's your service's pricing, your measurements, and your difficulty multipliers — worked out on the spot, not guessed.
Open the line and type over any of those numbers in its Price section. On a line priced by the square foot (or linear foot) the Price section is laid out as the math: [rate] × [quantity] with the total beside them, the two numbers in boxes you tap to change and one line underneath saying where they came from ("$40 base × 1.395 for the finishes · 62 sqft from the measurements"). Tap the total to type the whole line's price. Change the rate, and the quantity stays measured. Change the quantity, and the rate stays your service's. Type the whole total and that price wins outright; the rate and quantity step back until you reset it. A line priced per item — a shower niche, a bench — uses the same layout with a count instead of a measurement: [$650] × [1 each]. Change the count to 2 and the line is $1,300; the build bills it the same way. A line matched to a service you price by the hour shows your hourly rate beside an hours box: type the hours and the line is rate × hours. Until you do, it's priced the way it always was (your usual price for that service, or crew days × your day rate) — BidCraft never guesses hours. A service priced by the day charges its day price × the line's crew days. Lines with a flat price just have a Total. Anything you type says "your rate", "your quantity" or "your price" with a Reset beside it, and applies to this bid only: your service keeps its own rate. The crew days sit underneath. Whatever you type, the build honors exactly. Your number always beats ours.
Lines BidCraft can't price yet — usually something with no matching service and no rule to fall back on — say ≈ prices at build in italics, with a "set a price now" link if you'd rather settle it here. Those are the only lines the AI prices when you lock.
Materials ride along with every line. Tap a line's materials check (or open the line and scroll to Materials) and you get what the work needs, quantities already scaled to this job's square footage, with costs from your catalog. On a line matched to one of your services, the list starts from what that service says it needs. The first four materials show; Show N more opens the rest.
Each material is one short row: what it's for in bold, the product under it, then the quantity and the cost. If something about it is still open, a small tag after the product says so. A dashed color later means the product is a stand-in of the right family, so the price is already right and the actual color can wait until after the client signs. An amber tag like Confirm size can change the price, so it's worth a look before you lock. Under the last row: Show N more, + Add and ✦ Suggest more.
Tap a material and it opens right where the row was, one at a time:
- Swap product at the top picks a different product for that role (it reads Pick a product when nothing is picked yet). On a line matched to one of your services the pick saves to that service, for every job; on a line with its own materials list it saves on this bid only, and the picker says which.
- Quantity. The number, with any waste already in it, and the rule behind it in words ("1 bag per 50 sq ft of wall"). Tap the number, or Change how it's figured, to open that rule; it lives on your service, so every job that uses it follows. A row with a product picked reads its rule from that product's coverage; tap Change on the product to fix the coverage in a popup, or Use my own rule instead for this one service. If the product has no coverage on file yet, the row uses the usual trade rate and says assumed.
- Cost. A cost you know beats the catalog's. You don't choose where it saves; the sentence under the box says where it lives ("This cost belongs to the product…", "…lives on the service…", "…lives on this bid only"). Where do these numbers live? at the top of the list explains the ladder: product, then service, then this bid.
- Color (or finish, or size), when it's still open: Choose later leaves it, Keep this one settles it with the product shown, and Pick another… opens the product picker.
- At the bottom: Remove from this job (the service keeps it, and ↩ Put back on this job on the row undoes it), Cancel, and Save.
A line with no materials says so in a dashed box. Materials are optional. + Add a material and Suggest materials are right there. On a line that matched no service, what you add or suggest lives on this bid; match a service later and it comes along, or lock with Save to catalog ticked and the brand-new service is born carrying it. Swap an item and the price updates then and there, before a proposal exists.
The bar at the top stays with you while you work through the scope. Tap N need you for a checklist of each line and what it needs; every item jumps straight into that line's panel at the right spot. Color and finish picks aren't in the count, since they can wait until after the client signs. When nothing needs you, the chip turns green: Ready to lock ✓.
Below the list, the Totals card is honest about what it knows: roughly where the unpriced lines will land, your materials so far, the margin on what's priced, and who supplies the tile.
Lock & build
When the scope reads right to you, hit Lock & build in the bar at the top. If anything still needs you, BidCraft lists it first: Review them opens the checklist, Lock anyway goes ahead with things as they are (you can re-scope later). Locking formats the client's proposal, prices only the lines you left unpriced, finalizes the materials list and cost analysis, and drafts the task list — stages ② and ③ of Bid light up, and tasks appear on Schedule. Everything you priced or overrode carries through exactly as you set it. Right before it locks, BidCraft re-checks every line against the prices on your screen, so even if a catalog price changed since your last edit, the proposal bills exactly what the table showed you.
Once the scope is locked, it's read-only: the bar at the top says 🔒 Scope locked with a Re-scope button where Lock & build was, and a line's panel says so at the top and shows its numbers as plain text rather than boxes. Re-scope unlocks it (owners and admins).
A locked scope also keeps its prices: each line shows the price it was locked with (or, if it never had one on the scope, the price its proposal line was built at — as built in your proposal). Changing a service in your catalog later doesn't move a bid you've already built, and regenerating the proposal keeps those prices too. Want an older bid on your current prices? Re-scope it — the table shows today's prices, and Lock & build bills exactly those.
When a price is different from your scope
A priced line ships at the price you read. Two things can still move a number between locking and the finished proposal, and when either one does, the line wears a small amber chip in Costs & materials saying so — tap the line to read the full sentence:
- "priced at build" — this line had no price on the scope table (no matching service, no rule to fall back on), so BidCraft priced it when it built the proposal. These are the lines the italic ≈ prices at build was pointing at.
- "scope $408 → $576" — the line was re-measured between locking and building. Your rate didn't change; the square footage under it did. That happens when you confirm a plan reading or type a wall area after locking.
Above the document there's a one-line summary of the same thing — how many lines moved and by how much — so you never have to work it out by subtraction. If nothing moved, neither the chips nor the summary appear.
Once a proposal exists, the Scope & pricing chip at the top shows the proposal's total and says so, rather than quoting a scope figure that can drift out of step with the document you're about to send.
If the proposal comes back and you want to change the scope — not just edit prices, but actually rework the list of work — there's a Re-scope button in the Proposal section that unlocks Phase 1 again so you can iterate further.
Locked but no proposal? Unlock from the project page
Once in a while a proposal build fails mid-flight (network blip, timeout, AI error) — scope ends up locked but the proposal never landed. The project page now surfaces an Unlock scope & edit button so you can drop straight back into Scope Review with your draft intact. No menu-diving, no starting over — just hit the button and keep iterating.
Next steps
Locked your scope? Head to Generating your first proposal to see what Phase 2 produces. If you want to understand inline editing once the proposal is built, read Editing line items.
Email andy@businessupai.com and a real person on the BidCraft Tile team will get back to you. If you're signed in, you can also ask Biddy from any page in the app.