Working with estimates
Full workflow for the Estimate tab on a phase: generating AI estimates, editing line items, templates, default line items, copy-paste, revisions, previewing the PDF, and sending to clients.
The Estimate tab on every phase holds the priced work-order for that phase. Different phase types (mitigation, contents, mold remediation, abatement, demolition, repair, and so on) all share the same Estimate tab. What differs is how the line items get there.
AI mode vs Manual mode
Each phase type runs the Estimate tab in one of two modes:
- AI Estimate: the line items are generated by the pipeline. Phase types in this mode include water mitigation, cleaning / deodorization, demolition, remediation, repair, and every Contents sub-phase that owns an estimate (Pack Out, Textiles, Electronics, Art, Contents Cleaning, Storage, Pack Back).
- Manual Estimate: you build the estimate by hand from a blank document. Phase types in this mode include assessment and final-inspection. Custom phase types default to manual.
You don't choose the mode; the phase type decides. Phase types are configured in Settings → Phase Types by the org admin.
Contents sub-phase estimates
On a Contents phase, each sub-phase carries its own estimate with its own revision history. Switch sub-phases from the strip under the phase name, then generate from that sub-phase's Estimate tab.
- Textiles / Electronics / Art / Contents Cleaning: AI prices cleaning codes for that category's salvageable inventory items. Electronics adds an hourly bench-testing line. Textiles adds one whole-job ozone-chamber line (textiles are deodorized together in a single chamber, priced per cubic foot, never per item).
- Pack Out: a deterministic handling estimate (boxes, bags, stretch film, labour) from the pack-out items. Each pack-out item needs a method first.
- Pack Back: mirrors the current Pack Out estimate with fresh packing materials (boxes, contractor bags, stretch film) plus return tag and labour, since the pack-out materials can't be reused; generate Pack Out first.
- Storage: estimates off-site storage from boxed containers, bagged containers and wrapped bulky items; set the line quantity to square feet × months for the duration.
- Documentation: a time-and-materials estimate. Field documentation labour (hours from the spread of photo timestamps) plus an evaluate, tag, and inventory line for every catalogued item, since the tech tags and inventories everything during the site visit. Add materials as manual line items.
See Contents Inventory for how the inventory list feeds these sub-phases.
Generating an AI estimate
For AI-mode phases, you'll see a Generate Estimate button on the tab. The estimator pipeline reads:
- The scoped rooms and their attributes (square footage, water category, finish materials, etc.)
- Any inventory list attached to the phase (for Contents phases)
- The job-level rules in the active scope-rules config
- The price book for your region
It then produces a complete priced estimate as a draft. Generation takes between 15 seconds and a few minutes depending on phase complexity. You'll see a progress card while it runs and can cancel at any point.
Confidence filtering
Some AI-generated line items come with a confidence score. The confidence filter bar lets you hide high-confidence items so you can focus your review on the lines the model was least sure about. This helps when you're reviewing on a phone: it shows the 10 items that need attention rather than all 80.
The filter is a view-only control; it doesn't change what's saved to the estimate.
Editing line items
The line items table is the main part of the Estimate tab. Each row is a price code with a quantity, unit, unit cost, and total. You can edit any draft estimate freely until it's been approved.
Add a line item
Click Add Line Item in the toolbar (or use the keyboard shortcut; see the cheatsheet via ?). The line-item sheet opens with a code picker that searches across the active price book. Pick a code, set quantity and any notes, and save. The total recalculates on the fly.
Edit inline
Click any cell in the table to edit it (quantity, description, notes) without opening the sheet. Changes save on blur. For more involved edits (changing the code, applying a different tax rate, adding a sub-component), open the row in the line-item sheet from its row menu.
Quantity-linked descriptions
Generated count lines — "Boxes needed — 60 boxes", "Pack-out, boxing & moving labour — 76 hr", "Climate-controlled storage — 250 sqft" and similar — keep the count in their description tied to the line's quantity. Change the calculation in the edit sheet and the description updates with it, live, so the two never disagree. The link carries over when the estimate becomes an invoice.
The moment you type your own description on one of these lines, the link is removed for that line and your wording stays exactly as you wrote it, even through later quantity changes.
Delete
Use the row menu's Delete action. Deletes happen on the current draft; they don't affect older revisions.
Copy and paste
You can copy a selection of line items out of one estimate and paste them into another, whether the same phase, a different phase, or a different project. Select rows in the table, Copy, navigate to the target estimate, and Paste.
This is useful when a job has near-identical work across two units (a duplex with the same damage pattern in both halves) or when you want to reuse a known-good fragment from a prior job. Codes are validated against the target region's price book on paste; if the destination region doesn't carry a code, the row is flagged so you can pick a substitute.
Default line items
Some line items show up on nearly every estimate of a given phase type, such as labor minimums, equipment setup fees, and dump trip charges. Rather than adding them manually every time, define them once as Default Line Items in Settings, and they'll be inserted automatically into every new estimate for the phase type they're scoped to.
Defaults are applied at estimate-creation time, not at view time, so you can still remove or edit them on a per-estimate basis without breaking the default for everyone else.
Templates
Templates are reusable line-item sets that go beyond defaults. Use one for the common-but-not-universal case where you want a one-click way to apply, say, "Cat 2 water mitigation, single-room, padding included" to a new phase.
Create a template
From any existing draft estimate, use the Save as Template action. Give the template a name, a description, and tag it with the phase types it applies to. The template keeps the selected line items in the order they appear on the estimate, so what you save is what you get back. The template is now available org-wide (unless you mark it private to your branch).
Apply a template
On a draft estimate, open the Templates menu and pick one. The template's line items are merged into the current draft. You can apply multiple templates to one estimate; duplicates aren't auto-deduped, so you'll see two EQ lines if both templates carried that code, which you adjust by hand.
Edit a template
Open a template from the Apply template menu and choose Edit. Rename it, change the description, remove items, or drag items by their handle to reorder them; applying the template later keeps that order. Edits affect future applications only; existing estimates that were built from the template are not retroactively touched.
Revisions
Every meaningful state change on an estimate creates a new revision. You'll see revisions for:
- Re-running Generate Estimate on an AI estimate (e.g. after fixing scope or adjusting the inventory list)
- Any rejection: when an internal approver rejects a draft, or a client requests changes on a sent estimate, the rejected revision is kept as history and a fresh editable draft is forked from it with every line item copied
Revisions are write-once: once a revision is superseded, you can view it from the revision history but you can't edit it. The currently-active revision is the one you edit and send to clients.
Creating a new revision
From the estimate's status-bar kebab menu, New Revision opens a side panel with four options:
- Fresh Estimate: regenerate from scratch off the current scope. Use when scope changed materially.
- Revise with Feedback: describe (or dictate) what the AI should change, and the next run incorporates your direction.
- Copy an existing estimate: duplicate the current revision (or any older one) into a new editable draft that becomes the active revision. Use this to take an internally-approved estimate and tweak a few rows without regenerating; tax rates, overhead/profit, discount, and every non-rejected line item are reproduced exactly.
- Start Manual Estimate: blank draft you fill in by hand.
Client-approved lockdown
Once an estimate is client-approved (the client clicked Approve on the public view), that revision and the whole phase estimate are locked. The New Revision affordance disappears, since the approved estimate is the contract. Internally-approved (APPROVED_INTERNAL) estimates remain fully revisable and copyable.
Viewing a historical revision
The revision banner at the top of the table shows when you're looking at a historical revision rather than the active one. From the revision picker you can navigate the history, copy line items out of an old revision into the active one, or just compare totals across the trajectory of the claim. When you open New Revision → Copy while viewing a historical revision, that revision is pre-selected as the source.
Reviewing scope from the estimate
On non-contents phases the work-area headers in the line-items table are clickable: click "Living Room" (or any other area) and the scope sheet opens directly on top of the estimate so you can verify what scope drove the line items. Edits made there reach the scope tab the same as if you'd opened them from the Scope tab.
If you change that work area's dimensions while the estimate is a draft, the estimate updates automatically: every line item whose quantity is derived from a measurement (floor area, wall area, and the like) recalculates against the new dimensions, and the totals refresh in place. A brief "Updating estimate…" indicator shows while it recomputes. Manually entered quantities and prices are left untouched, and nothing is added or removed; only the measurement-driven numbers move. Estimates that have left draft (in review, approved, or sent) are frozen and don't recalculate.
Rearranging line items across work areas
AI-generated estimates now come back in order of operations: setup and containment first, then extraction, demolition, cleaning, drying, and last the repair and finishes. The draft reads top to bottom the way the work runs, so there's less to resort. You can still drag any line to reorder it.
On a draft, drag a line item by its handle to reorder it within a work area or to move it into a different one. Dropping a line into another room re-derives its measurement-based quantity for that room; the line keeps its code, description, and price. A General section is pinned at the bottom of every draft to hold items that don't belong to any single room. Drag a line into General to detach it from a room (its quantity is preserved), and drag it back into a room later to re-derive the quantity. The General section only appears on editable drafts.
Approval workflow
Estimates move through a small state machine:
DRAFT → INTERNAL_REVIEW → APPROVED_INTERNAL → APPROVED (or REJECTED)
- Draft: you're editing. Free to add, remove, and regenerate.
- Internal Review: the estimate is waiting on a designated approver. It reads "Pending approval from {name}" for everyone except that approver.
- Approved Internal: internal sign-off is done, ready to send to the client. The Send to client affordance unlocks here.
- Approved: the client has approved. This is the billable estimate.
- Rejected: a rejected revision, kept for history. It is never the active revision; rejection always forks a new draft.
Submitting for approval
From a draft, open the estimate actions menu and choose Submit for Approval. Pick a manager (owner, admin, or project manager) to review it. That approver receives:
- a task in their task list,
- a notification in their dashboard bell, and
- an email.
All three link straight to the estimate.
If you're an owner or admin you can instead choose Approve it myself and skip the handoff.
Approving or rejecting
When the designated approver opens the estimate they see Approve and Reject buttons. Rejecting requires a note explaining what needs to change; approving allows an optional note. Either decision completes the approver's task and sends a notification and email back to the requester carrying the decision and the note.
- Approve → the estimate moves to Approved Internal, ready to send.
- Reject → the reviewed revision is kept as a rejected revision and a new editable draft is forked from it (line items copied). The rejection note shows in a banner on the new draft so you know what to fix.
An owner or admin can Cancel request on a pending estimate to pull it back to draft if the approver is unavailable.
Previewing the PDF
The Preview button in the Estimate toolbar opens the estimate PDF inside the app, so you don't open a raw file in a new browser tab. The preview is a two-pane screen: the rendered PDF on the left, an editable panel on the right.
The cover page
Every estimate PDF leads with a branded cover page:
- A phase-aware title: "Mitigation Estimate", "Repair Estimate", "Remediation & Abatement Estimate", and so on, taken from the phase type.
- A loss statement: a short, client-facing paragraph about the loss and what the estimate covers. Click Generate next to the field to have AI draft it from the project's loss type and scope, then edit it freely.
- Cover notes: a free-text block for anything else you want on the cover.
- A disclaimer: your terms, such as how long the estimate is valid, payment terms, and interest on late payments. It's pre-filled from the org default (see below) and editable per estimate.
The cover page is branded with the branch logo, or the organization logo when the branch has none.
The scope summary page
Page two is a scope summary written for the client:
- For water, mitigation, demolition, and repair phases: an affected-areas table (floor / wall / ceiling area, volume), a scope-of-work list per area, and an equipment & drying table.
- For contents phases: a contents summary with item and salvageable counts per area.
- A scope narrative: AI-draftable (via Generate) and editable, like the loss statement.
The measurement tables are computed from your room and scope data, so they always match the estimate; the narrative and summary notes are yours to edit.
Footer
Every page footer carries the project property address and the insurance claim number (when the project has one).
Controlling how much detail the client sees
When you're the first contractor to bid, a fully itemized estimate hands competitors your takeoff: the quantities and unit prices they'd otherwise have to work out themselves. The Detail level control in the preview's Document options panel lets you choose how much the customer sees:
- Full detail: code, quantity, unit price, and line total (the default).
- Line totals only: shows just the description and the line total, with no visible calculations.
- Work-area summary: collapses everything to one total per work area, each with an editable label (defaults to the area name). Use it for a lump-sum-per-area presentation.
The grand total (subtotal, overhead, profit, tax) is identical at every level; only the line-item detail changes. The detail level applies to both the PDF and the spreadsheet export, so the file you send never exposes what the PDF hides.
Two more toggles live in the same panel:
- Include summary page: turn the scope summary page off when you don't want to share it.
- Show line-item photos (contents phases only): render a photo column on the line items.
Each option saves immediately and the preview refreshes in place. They're per estimate, and revisions/copies inherit them. New estimates start from the org default detail level in Settings → Estimates.
Saving and the disclaimer default
Editing any cover or summary field and hitting Save regenerates the PDF, and the preview refreshes in place. The default disclaimer text lives in Settings → Estimates ("Cover Page Disclaimer"); each new estimate snapshots it at creation, so changing the org default never alters estimates that already exist.
Sending to clients
Once an estimate is approved internally, the Send to client card appears in place of the editing toolbar. Choose recipients from the project's contact list, optionally include a personal note, and send. The client receives an email with a tokenized link to a read-only view of the estimate and an Approve / Request Changes affordance.
Sending locks the PDF: the file the client received is exactly what stays on record, so the cover page and summary fields become read-only once an estimate has gone out. Re-opening Preview on a sent estimate shows the document with a "Locked" banner. The Preview PDF and Preview spreadsheet links stay available in the send card's Documents row, so you can always pull up what was sent.
What the client sees
The client lands on a public estimate view scoped to the recipient's email. They see:
- The line items, totals, and any client-facing notes
- An Approve button that records their consent with a timestamp and IP
- A Request Changes form that captures their feedback as a free-text note
The client never sees your internal notes or revision history.
Tracking responses
Every client decision creates an entry in the Previous responses card on the estimate tab. You can see who approved, who requested changes, when, and exactly what note they left. The card stays visible across all subsequent statuses so the back-office record is preserved when the estimate moves on.
Next steps
- For the inventory-specific workflow that feeds Contents-phase estimates, see Contents Inventory.
- For configuring default line items, templates, and tax rates, see Settings → Estimates.