Building a bid
The bid builder is where you turn a scoped job into a priced bid. You price the labor — room by room on a remodel, phase by phase on new construction — by entering hours and picking who does the work, and take off the materials part by part. Flow prices the labor from your fully-loaded rates and the materials from your catalog, applies your overhead & profit and markup, and shows a live total the whole time. When the numbers look right, you send the bid to the customer.
You reach the builder from a job that's in bidding (a job still in intake
or ready-to-bid sends you back to the intake screen first). Flow opens — or
creates — a draft bid for that job automatically. You never make a blank
bid by hand; there's always exactly one draft waiting for you. The header shows
the job, the draft's version (Bid v1), and the running Bid total.
On a desktop the screen is three columns: the build controls on the left (what the site visit found, then the Add a phase and Add a material forms; on a remodel, Add a phase moves below the rooms as Add other labor), the bid itself in the middle (the Work phases and Materials tables), and the live Bid summary on the right. On a tablet or a phone the same panels stack top to bottom — everything is reachable at any width, though the builder is still most comfortable on a big screen.
From the site visit shows what intake captured, room by room: each work area with its notes, the scope picked in it (and how many), and its photos. Scope picked before rooms held their own is listed under Not in a room. While the bid is still a draft, Edit takes you back to intake to change it.
A remodel is bid room by room
If the job's type is Remodel (chosen first in Stage 1), the builder is organized by room instead of by phase:
- Add a material has a Room picker. Choose the room, then the part or kit, and it lands in that room. The same part in two rooms is two lines. The part list leads with Scoped for Kitchen: the parts the kitchen's own scope calls for, and only those. Pick another room and the list follows it. Everything else in the catalog is under All other parts.
- The middle column shows Rooms: each work area with its items and a room total. This is where the labor goes on a remodel. Click a room's name to fold it to one line (its item count and total) so the room you're working on stands out; click again to open it. Folded rooms stay folded the next time you open this bid on the same device.
- A choice the site visit made for you is flagged. When the bid opens with your scope, a kit that has a pick-one choice (a 15A or a 20A outlet, which fan) starts with the first option, and it's highlighted with Choose: Outlet. Click Choose… and pick; the highlight goes away. The room's header counts what still needs a choice, even when it's folded.
- Each item carries its own labor. A kit added to a room gets a labor row right under it. Enter the hours for the whole line, not per piece: six cans at an hour each is 6. When an item has more than one piece, the figure per piece shows beside the box ("≈ 1 h each") so you can check it. Hours save when you press Enter or click out of the box. Then pick who does it from the menu beside them — see Who does the work. For a loose part, click + Add labor to give it hours.
- Overtime and double time, per item. Hours on an item are straight time. Click + OT / DT on an item to add an OT and a DT box to that one item, or Add overtime / Add double-time at the top of Other labor to show them on every item.
- Labor that isn't tied to an item, such as mobilization or a permit run, goes in Other labor. Click Add other labor below the rooms to open the phase form. The Other labor table appears once it holds a line.
- Send waits for the hours. Every item still without hours is listed under Before this bid can be sent ("Family room · Ceiling fan install needs its hours"), and Send bid stays disabled until each one has hours or is removed.
New construction bids by phase, as described below. (So does an older job that was created before you chose a job type.)
The bid opens with your scope already in it
You don't start from a blank page. Every piece of work picked at intake is a kit in your catalog (see Catalog items, kits and work), and the new bid already holds it:
- A remodel opens with each room's scope in that room: eight outlets scoped in the kitchen are eight of the outlet kit in the kitchen, with their parts priced and a labor row at zero hours under the work's own labor role. Fill in the hours and check the picks. A pick-one group starts on its first part, and an amount you enter when bidding (wire, for one) starts on its suggestion, so check the lengths; open the kit's ⋯ menu and choose Update from catalog… to choose differently. Work that needs an answer only you can give, such as a yes/no question nobody has answered on this job, is left for you to add with Add kit….
- A new build opens with phases: Flow looks up which work phases each scoped item runs through and who does that work, and seeds one line per phase-and-role combination, with the hours left blank (shown as —). Your job is to fill in the hours, not to remember that a service upgrade means rough-in, wire pull, and trim.
Either way it happens once, when the bid is created; a bid you've already started is never re-filled.
If a scoped item calls for a role you haven't configured, Flow can't price it and says so: an amber notice above the table names the item and the missing role, and points you to Settings → Labor rates & burden to add it, or to the item's labor role in Settings → Catalog.
Who does the work
Every labor line — an item's labor on a remodel, or a phase line — has a menu for who does it. It offers two kinds of answer:
- Pick a role for this task — a role, shown as Journeyman (top rate). The hours are priced at the highest wage among the people in that role, so a bid never assumes your cheapest crew. If nobody in the role has a wage on file, the role's own base wage is used.
- Or, pick an employee for this task — someone by name, shown as Nate Whitaker · Journeyman. The hours are priced at their own wage.
If your shop has no employees set up yet, the menu just lists the roles, with no headings.
Either way Flow adds your payroll burden on top. Changing who does a line re-prices it straight away. People and their wages are set up in Settings → People; someone with no trade there isn't offered.
Add a phase line
On new construction the phases are the bid. On a remodel, phase lines are for labor that isn't tied to an item: click Add other labor below the rooms, and the lines appear under Other labor.
- In Add a phase, type the work phase —
Rough-In — Conduit,Trim, whatever your shop calls it. Phases already on the bid are offered as you type, so adding a second role to a phase doesn't create a near-duplicate spelling. - Pick the Labor rate: the role whose loaded wage prices these hours. You can switch the line to a named person once it's on the bid.
- Enter the Straight time hours and click Add phase.
Overtime and double-time stay out of the way until you need them. Click Add overtime or Add double-time on the Work phases card (Other labor, on a remodel) to reveal those columns and hour boxes. Each band bills at its own loaded rate — OT and DT are multiples of the loaded rate, not the bare wage, because burden doesn't stop accruing after eight hours.
Edit hours in the table
The Work phases table groups lines by phase, with a subtotal per phase — the number you sanity-check — and the roles that work it beneath.
- Tap a figure to change it. The number becomes a box; Enter saves, Escape cancels, and on a phone there's a Done button.
- Pick who does the line from its menu (see Who does the work).
- The Cost column is that line's labor. Point at it (or tap it) to see the math behind it — the hours and the loaded rate per band.
- Remove takes a line off the bid.
This bid's deposit sits under the bid total. Type a percent and press Enter or click away. It saves on its own. A change of more than half — 50% to 10%, say — asks "Change the deposit from 50% to 10%?" first, and Cancel puts the old figure back.
Add a material
- In Add a material, pick the Part (on a remodel, pick the Room first). Parts the job's scope calls for are grouped at the top ("For this job's scope", or "Scoped for Kitchen" on a remodel); the rest of the catalog is one scroll below — suggestions, not a filter.
- Enter the Quantity, in the part's own unit (the label tells you which).
- The Waste % box comes pre-filled with that part's usual waste from your catalog. Change it if this job is different; a blank box means no waste figure has ever been set for the part.
- Click Add material.
Waste covers what you buy but don't install — offcuts, bends, the tail of a spool. It's folded into the line total so the buy matches the bid.
A part that isn't in your catalog? Click + Add a one-off custom material under the form. Type a Description, Unit of measure, Unit cost and Count (and a Waste allowance % if you like), then click Add custom material. It prices like any other part, but only on this bid. If you'll use it again, add it to your catalog instead.
You can add a part with a quantity of zero as a placeholder — "the job needs this, nobody has traced the run yet." It shows a Quantity needed badge, and the bid can't be sent until every part has a real quantity.
Add a kit
A kit is a catalog item made of other items: a ceiling fan install brings the fan, a brace, a box, wire and wire caps. Owners build kits in Settings → Catalog (see Catalog items, kits and work).
In Add a material, kits are marked (kit). Pick one, enter How many, and click Add kit…. A window opens, titled with the kit's name. It shows:
- Needs your input, first: yes/no questions about the house ("Does the house have a white neutral wire?"), choices to make (which ceiling fan), amounts you enter now (feet of wire per fan), optional parts you can leave out, and any part that isn't set up yet.
- Choices: for one kit, pick one ("Pick a Ceiling fan"). For three kits, enter how many of each, the same one three times or a mix. The window counts "2 of 3 picked" and won't add the kit until the picks add up.
- Options that don't apply are greyed out with the reason. A part that's only for houses with a white neutral wire can't be ticked once you've answered No.
- Everything it brings: every part at every level, with quantities.
You can change How many in the window too. Click Add to bid when it's right.
Questions are asked once per job. The next kit on the same job remembers your answer, and you can change it there.
On the bid, a kit is one line at the sum of its parts. Click Show parts to see and adjust what's inside. The customer sees the kit as one line; if line prices are hidden, they see no amount for it at all.
A part marked Needs setup goes on at $0, and Send bid stays off until it's fixed. Finish the part in Settings → Catalog, then open the kit's ⋯ menu and choose Update from catalog…. The kit is rebuilt from the catalog as it is now, with your answers remembered. Use the same menu any time a kit's parts or prices changed after you added it.
When the customer buys the fixture
Customers often buy the fan, chandelier or TV themselves and want you to install it. Add the kit as usual, click Show parts, open the part's ⋯ menu and choose Customer supplies this. That part drops to $0, with no markup or fees on it, and is marked Customer supplied. The kit's other parts, such as the box, brace and wire, and its labor stay priced.
The customer's bid and PDF list the kit with a note under it: "Ceiling fan: Supplied by owner". The part is also left off the Stage 4 order list. To undo it, choose We supply this on the same menu, and the part goes back to the price it had on this bid.
Add a premium to a line
When one part of the job is harder than usual — cutting in through tile, hidden wiring — click + Premium on that part's row in the Materials table. A kit's own row has no premium; put it on one of the kit's parts. You're asked three things:
- The amount. Leave it blank to remove the premium.
- Your internal reason. It's for your own records. It shows on the job's History and never appears on anything the customer sees.
- What the customer sees (optional). This is the label printed under the line on the bid and the PDF, for example "Vaulted ceiling access". If you leave it blank, the customer sees Site condition allowance.
The builder shows "Customer sees: …" under each premium, so you can check the wording before you send.
A premium is added as entered: no markup and no Additional Fees on top. It counts in the builder's Bid total straight away, and it prints under its line on the customer's bid and PDF. A premium on an optional line belongs to that option: it's part of the option's price, and the customer pays it only if they include the option.
Optional lines — let the customer decide
A material line can be marked Optional from its ⋯ menu (Mark optional; Mark required undoes it), and it shows an Optional chip beside its name. Optional lines are left out of the base total, and when the customer opens the bid they choose Include or Skip for each one before signing — the price they sign for reflects their choices. Use it for the "while we're there" work: the extra circuit, the EV rough-in.
How the numbers work:
- The starting total leaves every option out. It's the number frozen when you send, and the one the customer sees before they choose.
- An option's price is everything on that line: the part with its Additional Fees and markup, plus any premium on it.
- The signed total is the starting total plus every option the customer included. Flow freezes it the moment they sign. The signed PDF, the signed-copy email, the deposit receipt and the pre-lien threshold all use this number.
In the builder's Bid summary, the Bid total is the starting total, the same number the customer is sent. The options are shown underneath it as Options, +$X, which is what they add if the customer picks every one.
How the price is figured
- Labor, per line: hours × the loaded rate of whoever does it (see Who does the work) for each band (ST/OT/DT). Loaded rates come from Labor rates & burden and People — a wage plus your payroll burden.
- Overhead & profit is applied to labor; materials markup is applied to materials, separately. Both percentages come from Settings → Business.
- Materials, per line: unit cost × quantity, plus waste. If your shop sets Additional Fees in Settings → Business (to recover the sales tax you pay at the counter), that percentage is added to the parts cost before markup.
- Premiums are added as entered, after markup and fees.
The Bid summary on the right rolls it up live as you work:
| Row | What it is |
|---|---|
| Straight-time hours (and OT / DT when used) | Total hours across every phase line |
| Labor cost (fully loaded) | What the labor costs you |
| Overhead & profit | Your O&P percentage applied to labor, with the margin it makes beside it |
| Total bid labor | Labor cost + O&P |
| Materials | The takeoff subtotal, waste included |
| Additional Fees (only when it's more than $0) | Your fees percentage applied to parts cost |
| Materials markup | Your markup percentage applied to materials, with the margin it makes beside it |
| Total bid materials | Materials + any Additional Fees + markup + any premiums |
| Bid total | Total bid labor + total bid materials. The same figure shows in the header |
The Additional Fees row appears as soon as a part on the bid carries a fees rate, which it does when your shop had a rate set in Settings → Business when the part was added. Like the rates above, a part keeps the fees rate it was added with.
Premiums have no row of their own. They're inside Total bid materials and the Bid total.
Markup isn't margin. Markup is a percentage of your cost; margin is the share of the price that's yours. 20% markup is 16.7% margin, so the summary shows both: "Overhead & profit (20%) · 16.7% margin". The margin is for you only; it never appears on the customer's bid or PDF.
Prices are frozen onto each line the moment you add it. A line snapshots the loaded rates and the O&P or markup percentage in force right then. Raising a wage, editing a burden line, or changing your markup later affects only lines added afterward — it never rewrites work already on a bid. If a bid ends up spanning a settings change, the summary labels the percentage blended rather than printing a single number that would be wrong.
Change a price for this customer only. On a remodel, click Prices… on an item in its room; on new construction, open a part's ⋯ menu and choose Change price…. Type the price this customer pays and click away; it saves then. A change of more than half asks first. The catalog price stays the same for every other bid, and a changed line says what the catalog price was, with Use catalog price to put it back. A kit is priced by its parts, so change the part; a part the customer supplies is $0 and has no price to change.
Preview, then send
Preview shows the bid exactly as the customer will see it — same layout, same wording, with a PREVIEW banner and the signing controls disabled. Worth a look before anything goes out.
Optional lines appear the way the customer gets them: not in the line list, but under Optional — you decide in the signing panel, each with its price and Include / Skip. You can click them to watch the total move. Your clicks aren't saved, and Sign and approve stays off ("Disabled in preview — your customer will be able to sign here").
Show line prices, or only the total
Each line on the customer's copy shows what the customer pays for it: labor includes your overhead & profit, and parts include your materials markup. The lines, any Additional Fees and any adjustments add up to the total, and your markup never shows as its own number.
On a remodel, each item is one line to the customer, with its labor and its parts together and the room in front: "Kitchen · Install recessed can light (6 ea) — $516.96". Labor that isn't on an item, like mobilization, is a line of its own.
Just above Send bid is Show each line's price to the customer. Untick it and the customer's copy (the bid page and the PDF) lists the work and parts without amounts and shows a single total. Some customers will haggle line by line if they see each price.
- A new bid starts from your shop default, set in Settings → Business. Ticking or unticking the box changes only this bid.
- The same box sits at the top of Preview, so you can flip it and watch the customer's view change.
- Your choice is saved as soon as you click. Once the bid is sent, it's locked in with the price. A revision starts from whatever the last version used.
Show a total for each room
On a remodel, a second box sits under it: Show a total for each room. Tick it and the customer's copy groups the work by room, with each room's price on its heading — handy when they're deciding what to keep ("can we skip the basement for now?"). Work that isn't in a room comes last, as Other work.
It works with either choice above: with line prices on, each room shows its total and every item's price under it; with line prices off, the customer sees each room's price and no line prices. The room totals add up from the same line prices, so the two views always agree. Your shop default is in Settings → Business, and like line prices it's locked in when the bid is sent.
When the bid is ready, click Send bid. The button stays disabled until the bid has at least one line and every material has a quantity, and until the Before this bid can be sent checklist beside it is clear:
- every labor line has hours — each one still at zero is named;
- your business name, phone and email (Settings → Business);
- an email for the client's main contact (the client's page);
- a total above $0.
Each item links to where you fix it. A missing license number is only a reminder. If your shop has no Terms & Conditions, Flow asks Send without terms? before it sends. Sending:
- Freezes the total, and whether line prices are shown. A sent bid keeps the price it was sent with — no later settings change can move it.
- Generates the bid PDF and emails it to the customer, with their private bid link, using the email address on the job. (No email on file, or a delivery failure? The next screen tells you and gives you the link to send yourself.)
- Advances the job to Stage 3 and takes you there. A Sent message pops up at the bottom left of the Stage 3 screen to confirm it. It confirms the bid is sent, not that the email arrived: check the Customer link card on Stage 3 for that.
When your shop requires approval
A shop can ask for a second pair of eyes before a bid goes out: Settings → Business → Bid approval. It's off until an owner turns it on. With it on:
- Owners, and any other roles the shop ticks there, send as usual. The same people approve everyone else's bids.
- Anyone else sees Waiting for an owner to approve this bid beside Send bid, and Send stays off until one of them opens the bid and clicks Approve bid. Tell them it's ready; Flow doesn't notify them yet.
- Once approved, the line reads Approved by and the approver's name, and Send turns on.
- Change anything after approval (hours, a part, a quantity, an option) and the approval no longer counts. The line says the bid changed since it was approved and waits for Approve again. An approval only covers the numbers the approver saw.
- An approver can Withdraw approval before the bid is sent.
Once a bid has been signed, it's locked — it can't be edited, and the builder will refuse changes to it.
Work from the keyboard
The builder has shortcuts for working through a bid without the mouse. Press ? to see them all (or click Keyboard shortcuts under the bid number).
| Key | Does |
|---|---|
| / | Jump to the part picker |
| Enter | From the part picker, go to its quantity. In an hours box, save and go to the next item's hours |
| ↑ ↓ | In an hours box, go to the previous or next item's hours, saving as you go |
| Ctrl + Enter (⌘ + Enter on a Mac) | Go to Send bid — or, if something is holding it back, to the list of what. Press Enter there to send |
| ? | Show or hide the list · Esc closes it |
After you add a part, you're back on the part picker for the next one. / and ? are just characters while you're typing in a box. Ctrl + Enter never sends on its own: sending emails your customer, so that last press is always yours.
Get back to a sent or signed bid
Open the job's page. Under Bids & change orders, every bid and change order is listed by number, whatever its status, and each number is a link. A draft opens in the builder. A sent, signed or replaced bid opens read-only, with an Actions card: the Customer link with a copy button, Open PDF ↗, Resend to customer (not on a replaced version), Revise this bid… on a sent bid, and + Start change order on a signed one.
Revise a sent bid
If the customer asks for a change ("can you take out the dimmers?"), open the sent bid and click Revise this bid…:
- The new version starts as a copy. Every phase, part, kit, option and premium is carried over at the prices you sent, so you change only what was asked. Prices don't follow catalog changes made since then. Re-add a part, or use Update from catalog on a kit, to pick up a new price.
- The old version is kept as the record of what you proposed. It opens read-only. If the customer opens their old link, it tells them the bid has been replaced, and they can no longer sign it.
- Send the revision when it's ready. It goes out with a new link, the same way the first one did.
Once a bid has more than one version, the Versions row at the top steps between them. What changed since v1 lists every line that was added, removed or changed, with the price difference for each and for the total.
A signed bid can't be revised, because it's a contract. Start a change order instead.
What's not in v1 yet
Being straight with you about the current limits:
- Premiums are typed by hand. Nothing captured at intake raises the price by itself. For a hard condition, add a premium on a part, more hours, or a phase line.
- Best on a desktop or tablet. Everything works at phone width, but a table this dense is slow going on a small screen.
- No manual price override on a line. Rates come from your roles and people, part costs from your catalog. Adjust hours and quantities here; adjust the underlying numbers in Settings.
- No line notes or reordering. Phases appear in the order their lines were added — seeded scope phases arrive in work order, and anything you add lands at the end.
- No deleting a bid. Once a draft exists it stays with the job.
Related
- Labor roles and payroll burden — where the loaded rate on every phase line comes from
- The customer bid link — what the customer sees after you hit Send bid, and how they sign
- Approvals, deposits, and pre-lien — the Stage 3 gates the signed bid feeds