Commercial Estimate Wizard

Use the Commercial Estimate Wizard to create multi-service proposals for commercial properties with custom pricing and site conditions.

Intermediateownersales repUpdated 2026-04-04

Commercial Estimate Wizard

Commercial proposals handle multi-service quotes for office buildings, retail centers, warehouses, and other commercial properties. The Commercial Estimate Wizard has five steps: client, property and services, pricing and site conditions, schedule and terms, and review and send.


Step 1 -- Client

Search for an existing client or create a new one.

Screenshot placeholder
Step 1 client search field with autocomplete results showing existing clients

Client Fields

FieldDescription
Client NameContact person's full name
CompanyBusiness or organization name
EmailPrimary email for proposal delivery
PhonePrimary phone number
AddressStreet address with Google Places autocomplete
City / State / ZIPAuto-filled from address selection
Decision MakerDropdown to identify the person who approves the proposal
Screenshot placeholder
New client form with all fields filled in and Decision Maker dropdown expanded

If the client already exists in your system, select them from the search results. Their details auto-populate.

The commercial client search now merges:

  • native CRM clients from the main Clients workspace
  • commercial proposal contacts already created in the module
  • optional Workiz matches when that integration is available

Results are deduped before they render, so you should see one clean match instead of repeated names while typing. This also lets office staff reuse residential-tagged or mixed-use customers in commercial building proposals without rebuilding the contact by hand.

When you pick a native CRM contact or a manually entered client for a new commercial building proposal, CleanEstimate Pro now creates or reuses the proposal-side contact record automatically. That keeps proposal creation working even when the source client came from the separate CRM workspace instead of the commercial module.

That proposal-side contact creation now validates the saved contact payload before it writes a new commercial client row. Invalid email formats or malformed contact data fail cleanly as input errors instead of creating a half-broken proposal contact behind the scenes.

If you launch the wizard from a client shortcut or a lead shortcut that includes client_id or lead_id, the commercial proposal wizard now preloads that customer on step 1 instead of opening blank or forcing the office to re-enter the contact information by hand.

If you need to swap contacts while editing, the Change button on the selected client card now clears the current selection cleanly instead of throwing a client-side error. Existing commercial building proposals that still point at a native CRM client keep their shared tags card working on the detail page, and proposals whose old linked contact no longer exists now show a quiet unavailable state instead of firing a noisy Client not found toast.

The Property Type, Surface Type, Service Type, and pricing-settings catalogs now load for the same set of commercial proposal editors that can build or edit proposals. That keeps the wizard from showing empty picker states when a custom role can work on proposals but does not have the narrower commercial-view-only catalog access path.

The selected Sales Rep on both fleet and building proposal wizards now saves with the draft instead of living only in the browser state. If you assign the rep on Step 1, that assignment stays attached when the draft autosaves, reloads, or gets reopened later.

The commercial building service and surface catalogs now bridge through the shared quote-core price-book foundation too. The wizard and admin settings screens still expose the same service-type and surface-type records, but those reads now prefer the shared price_book_items copy and only fall back to the older legacy tables when the bridge has not been populated yet.

New commercial building service-type and surface-type saves now also treat that shared price-book write as part of the admin change itself. If CE Pro cannot update the matching shared price_book_items row, the catalog create is rolled back instead of quietly leaving the commercial settings table and the shared quote-core catalog on different versions.

Those commercial catalog writes are narrower now too. Fleet vehicle-type saves plus commercial building service-type and surface-type creates update only the touched shared price_book_items rows instead of rebuilding the full fleet or building catalog bridge after every admin change, which reduces unnecessary shared-catalog churn while keeping the rollback protection in place.

Click Next to continue.


Step 2 -- Property & Services

Define the property details and add service line items.

Screenshot placeholder
Step 2 showing property details form on the left and service line items below

Property Details

For each property included in the proposal, enter:

  • Number of Properties -- how many buildings or locations this proposal covers.
  • Per-Property Address -- each property gets its own address field.
  • Square Footage -- total building area.
  • Building Type -- office, retail, warehouse, industrial, etc.
  • Roof Type -- flat, metal, membrane, etc.
  • Floors -- number of stories.
  • Special Conditions -- notes about access, hazards, or unique features.
Screenshot placeholder
Property details for a multi-property proposal showing two properties with addresses and building types

Service Line Items

Click Add Service to add a service to the proposal. Each service line item includes:

FieldDescription
TypeDropdown: building wash, roof cleaning, gutter cleaning, window cleaning, concrete cleaning, etc.
DescriptionFree-text description of the work
QuantityNumber of units
UnitMeasurement type (sqft, linear ft, per unit, etc.)
Base Price per UnitYour rate for this service

Add as many services as needed. Each line item calculates its subtotal automatically.

Custom service rows that only store a total price now also derive a consistent per-unit rate when the quantity is greater than 1. That keeps the Review & Send summary, linked estimate workspace, and downstream PDF/export math aligned instead of showing a unit price that equals the whole line total.

The property-type, surface-type, and service catalogs now recover more gracefully if the workspace catalog API cannot load. Instead of rendering blank dropdowns with no explanation, the wizard now warns the office and falls back to the built-in commercial building defaults so Property Type, Primary Surface, and Add from Catalog still stay usable while the saved workspace catalog is being checked.

New commercial building drafts now also persist the property rows and service line items on the very first save, not only after a later edit pass. Multi-property proposals should reopen with the same saved property details and itemized scope immediately after the first draft save.

Commercial building service rows now support two separate text layers:

  • the customer-facing Customer Description field that appears on the proposal
  • an internal Crew Alert note for access instructions, staging reminders, or other field-only guidance

That customer-facing text now has its own visible textarea directly on each service row instead of only showing up as a tiny read-only preview line. When you add a service from the catalog, CE Pro first tries to prefill Customer Description from the shared price book. If that shared lookup is temporarily unavailable, the row still gets added using the saved service-type notes and the built-in default commercial catalog descriptions so the office is not blocked. Older saved commercial draft rows that were still blank now also repopulate that description field when the proposal is reopened. Crew Alerts save with the proposal and carry into the linked job workflow, but they do not appear on the customer-facing proposal or PDF.

Screenshot placeholder
Service line items table with three services added showing type, description, quantity, unit, and price columns

Click Next to continue.


Step 3 -- Pricing & Site Conditions

Review the total pricing and document site-specific factors.

Screenshot placeholder
Step 3 showing the pricing summary on the left and site conditions form on the right

Pricing Breakdown

The pricing section shows:

  • Cost breakdown per property and per service.
  • A calculated total based on your line items.
  • Manual Price Override -- enter a flat price to override the calculated total. Use this when you need to adjust for competitive bidding or negotiated rates.
Screenshot placeholder
Pricing breakdown with per-property and per-service subtotals and the manual price override field

Margin Calculator

The margin calculator shows your estimated profit margin as a percentage. It compares the quoted price against your configured labor and material costs.

Screenshot placeholder
Margin calculator showing margin percentage, total cost, and quoted price side by side

Production defaults for commercial surface materials live in Admin > Commercial > Settings. Use the Manage Surface Materials link on that page when you need to tune production rates before building new proposals.

That same screen now includes editable default terms for both commercial building proposals and fleet wash proposals, so proposal PDFs can inherit workspace terms without pasting the same legal language into every quote.

The main Settings workspace now includes direct Commercial and Commercial Settings shortcuts too, which makes the commercial dashboard and proposal-defaults screen easier to find from the UI.

Site Conditions

Document anything that affects the job:

  • Challenges / Notes -- free-text area for access issues, building age, surface damage, tenant coordination, or other concerns.
  • Safety Requirements -- checkboxes for fall protection, confined space, chemical handling, PPE requirements, and other safety protocols.
  • Parking / Access -- dropdown for parking availability and equipment access (loading dock, alley access, street parking only, etc.).
Screenshot placeholder
Site conditions section with the notes textarea, safety checkboxes, and parking dropdown

Click Next to continue.


Step 4 -- Schedule & Terms

Set the project timeline and any add-ons or discounts.

Screenshot placeholder
Step 4 showing the scheduling section on top and add-ons/discounts section below

Scheduling

FieldDescription
Proposed Start DateDate picker for when work begins
DurationEstimated number of days to complete
Crew SizeNumber of crew members assigned
Preferred ScheduleWeekdays, Weekends, or Flexible
Screenshot placeholder
Scheduling fields with a date picker open for the proposed start date

Add-ons & Discounts

  • Available Add-ons -- check the boxes for extra services (post-construction cleanup, sealing, graffiti removal, etc.).
  • Discount -- enter a percentage or dollar amount.
  • Discount Reason -- explain the discount for your records.
  • Payment Terms -- net 15, net 30, net 60, due on completion, or custom terms.
Screenshot placeholder
Add-ons checkboxes and discount fields with a percentage discount applied

Click Next to continue.


Step 5 -- Review & Send

Review the complete proposal before sending.

Screenshot placeholder
Step 5 full proposal summary showing client, properties, services, pricing, schedule, and terms

Proposal Summary

The review screen shows every detail from the previous four steps in a read-only format. Scroll through to verify:

  • Client and company information
  • Property addresses and building details
  • All service line items with pricing
  • Site conditions and safety notes
  • Schedule, crew size, and payment terms
  • Discounts and add-ons
  • Grand Total

Auto-Save

The Commercial Estimate Wizard auto-saves your progress every 30 seconds while editing. If you close the browser or lose your connection, your work is preserved.

Actions

ButtonWhat It Does
BackReturns to Step 4
Save DraftSaves the draft immediately without waiting for auto-save
Download PDFOpens a PDF copy of the full proposal
Send to ClientOpens the shared email + text send modal
DuplicateCreates a copy of the current proposal
Screenshot placeholder
Action buttons at the bottom of the review screen

Sending the Proposal

Click Send to Client to open the shared review-and-send modal. The office now gets one editable email preview and one editable SMS preview in the same send screen instead of a separate email-only dialog.

Behind those send and public-sign actions, the commercial proposal lifecycle now runs through the shared quote-core lifecycle writer too. Fleet and commercial building proposal sends, accepted signatures, pipeline transitions, and linked-estimate quote events are being consolidated onto the same lifecycle helpers so the proposal workspace and the shared quote workspace stay in sync during delivery and acceptance.

The admin-side View Public Page action now uses that same linked customer URL too. Fleet and commercial building previews opened from admin now resolve through the linked estimate's saved customer link instead of a raw /commercial-proposal/... path, so the office sees the same online approval experience the customer receives after send.

When you confirm the send, CleanEstimate Pro emails the PDF proposal and also sends the paired text message in the same action. If the client is missing a phone number, or SMS delivery is unavailable, the proposal email still goes out and the warning area explains why the text message did not send.

Commercial building draft creates and edits now write the shared quote-core created and saved events on the linked estimate workspace too, so the shared estimate history can see building proposal draft activity before the proposal is ever sent to the client.

Commercial building proposal sends now also refresh the linked shared estimate workspace before the send flow returns. That keeps the online proposal link and the shared estimate send history aligned with the latest proposal instead of relying on a delayed background sync after the client email already went out.

That ownership line tightened again for office-side edits and sends too. Commercial building draft status bookkeeping, shared quote-link preparation, and linked-estimate refresh now live in the shared quote-core lifecycle services instead of staying split between the admin route handlers and later compatibility sync helpers.

Fleet and commercial building sends now also preserve the same shared quote token on later resends instead of silently minting a different customer review link each time. Once the linked estimate has a shared public quote token, CE Pro keeps reusing that link for future sends and resend history.

Those linked commercial estimate links now open through the shared /quote/[token] page too. The shared quote route now knows how to render fleet and commercial building proposal views from the linked estimate workspace, so customer-facing linked-estimate previews can use the same persisted quote token model as the newer generic and residential quote flows without losing the commercial proposal layout.

That shared commercial quote-link handoff now also reuses the existing saved public quote token before it ever falls back to a one-off signed estimate URL. Resends and office previews should keep opening the same shared /quote/[token] link when a linked commercial estimate already has a persisted quote token, and CE Pro now refuses to show a mismatched generic/residential quote screen if the source commercial proposal can no longer be reloaded behind that linked estimate.

Those shared commercial quote pages now validate approval directly against that saved public quote token too. If the workspace customer-token signing secret is temporarily unavailable, fleet and commercial building customers can still accept from /quote/[token], and office-side View Public Page previews no longer drop into the false "online approval unavailable" state just because the page could not mint a second signed estimate token.

The first public proposal open now uses the same shared quote-core viewed-event helper too. When a customer opens a sent commercial building proposal for the first time, CE Pro records the source proposal view, advances the commercial pipeline, updates the linked estimate workspace to Viewed, and writes the shared quote event from one path instead of leaving the linked-estimate update to a background sync after the page render.

Screenshot placeholder
Shared send modal with editable email and SMS copy

After sending, the proposal status changes from Draft to Sent. The client receives the PDF by email, and when secure customer-link signing is configured the email also includes the online proposal link.

The commercial building review step now confirms the destination email after a successful send and keeps any follow-up bookkeeping problems as office-facing warnings instead of reporting the whole send as a failure after the email already went out. If the PDF email is delivered but the proposal history or pipeline update needs manual cleanup, the screen explains that separately.

Customer-facing fleet and commercial building proposal totals now only apply tax when the saved proposal actually carries a tax rate. If a proposal intentionally leaves tax blank, the online customer page no longer assumes a default 6% tax and inflate the displayed total on its own.

Fleet and commercial building proposal signatures now also run through the same shared acceptance helper behind the scenes, so signature uploads, accepted alerts, pipeline movement, linked-estimate sync, and accepted-estimate automation follow the same reliability rules across both commercial proposal types.

Commercial proposal signature capture now also self-recovers if the proposal-signature storage bucket is missing on a newly bootstrapped or partially migrated workspace. If that storage bucket has not been provisioned yet, CE Pro recreates it before retrying the signature upload instead of failing the customer's acceptance.

The office-side commercial pipeline now uses that same quote-core accepted follow-up path too. When staff manually move a building proposal to a won stage, the linked estimate workspace and accepted follow-up automation are updated through the same shared lifecycle instead of a separate internal-only branch.

If the legacy Workiz integration is unavailable, the commercial builder now falls back cleanly to native CRM client search instead of blocking the proposal flow with a server error. Office staff can still save drafts, export PDFs, and send proposals as long as they have commercial or estimate access.

If the proposal-level custom terms box is blank, the commercial building PDF now pulls the workspace default building terms from Admin > Commercial > Settings instead of reverting to a hidden hardcoded fallback.

Commercial building draft saves now also finish their linked estimate sync before the API returns. If the shared estimate workspace cannot be updated, the proposal save rolls back instead of leaving the source proposal and linked estimate on different versions of the scope.

That linked-estimate write now lives in the commercial building draft-save service itself instead of a later projection helper. The saved proposal and the shared estimate workspace now succeed or fail together more consistently during draft create/edit work.

Working the Proposal After It Is Sent

Commercial building proposal detail pages now expose the same shared estimate workflow used by residential:

  • Open Estimate Workspace opens the unified estimate record linked to the proposal.
  • Convert to Job creates the production job directly from the proposal detail page.
  • View Job replaces the convert action once the work is booked.
  • Create Recurring Template is available after acceptance for maintenance-style work.

That recurring-template shortcut now prefers the canonical shared quote-core line items from the linked estimate workspace when they exist, and the created template keeps a source-estimate link so later recurring-template automation and reporting can follow it back to the accepted commercial quote.

Behind that linked workspace, commercial building proposals now also feed canonical shared quote-core line items instead of only the legacy compatibility snapshot. Those canonical rows now preserve the real shared price_book_item_id for bridged service types too, so the linked estimate can reuse the same catalog identity the settings screens and future quote-core pricing flows expect. The building proposal routes still own the source proposal tables for now, but the shared estimate record now carries a structured per-property service breakdown aligned to the same quote-core direction used by generic, residential, and fleet work.

Commercial proposal detail pages also include a shared Tags card for the linked contact record. Those tags now flow into the unified Estimates list filters, which means commercial building and fleet proposals can be filtered with the same tag-based workflow used elsewhere in the CRM.

Commercial proposal detail and review screens now normalize missing legacy totals and null numeric fields before they render. That keeps older proposals with incomplete saved totals from crashing the workspace while still showing the correct derived annual value.

Linked commercial estimates also fall back to saved line items if the older record does not have residential-style services_selected data. If square footage or story counts were never stored on the linked estimate, the workspace now opens safely and shows the rest of the estimate instead of throwing a client-side error.


Tips

  • Add all properties in Step 2 before adding service line items. This keeps your proposal organized.
  • Use the margin calculator in Step 3 to verify profitability before sending.
  • Document site conditions thoroughly. This protects you during the job and sets clear expectations with the client.
  • Auto-save runs every 30 seconds, but click Save as Draft before stepping away from a long proposal.

Was this article helpful?

Still need help? Contact support