Commercial Estimates
Build price-book-first commercial estimates for one property or a portfolio, with optional site, recurring-program, and contract details.
Commercial Estimates
On the commercial building and fleet review steps, save the draft and click Proposal Options A/B/C. Each option can carry a different scope and price, one option can be recommended, and the active choices are mirrored to the commercial customer proposal. The customer must choose one package before signing.
Commercial proposals handle multi-service quotes for office buildings, retail centers, warehouses, multifamily communities, and other commercial properties. The rebuilt mobile and desktop workspaces use the same three phases instead of separate legacy multi-step wizards:
| Phase | What you do |
|---|---|
| Setup | Select the customer and confirm one or more service properties. |
| Scope & Pricing | Add tenant price-book items, edit quantities and exact prices, and expand site, frequency, or terms only when needed. |
| Review & Send | Verify the customer, properties, scope, program, and totals before saving or sending. |
Commercial pricing now comes from the active tenant price book used by the other estimate builders. Services, products, and equipment retain their shared catalog identity, unit, taxable setting, description, and default rate. A rep can edit the exact quantity or price for the estimate and can add a permitted custom item, but the builder no longer maintains a second hard-coded commercial catalog.
On mobile, Setup uses a compact selected-customer row followed by the active service-property card. A single-property estimate does not show a redundant property tab; tabs appear only after another property is added. The service address stays visible. Measurements is now a visible card directly below the address, with total building square feet, floors, and paved-surface square feet available without opening another section. Surface materials, parking, and notes remain under Surface & access details.
Site conditions, portfolio discounts, payment terms, and scope notes are available as expandable sections in Scope & Pricing. Visit scheduling is handled once inside the maintenance-plan workspace. These optional details do not block a simple one-time commercial quote. Background auto-save remains recovery protection, and Save draft remains the explicit way to leave an incomplete estimate.
The mobile workspace keeps navigation actions in the normal page flow instead of pinning them over the estimate. The commercial measurement estimator and maintenance-plan builder now run inside CleanEstimate on mobile and desktop. They use the active estimate, tenant price book, property measurements, and commercial cost settings directly; they no longer open separate websites or require the rep to copy a result back into the estimate.
The Commercial destination in the admin sidebar now preloads its route state and loads dashboard summary data concurrently. Opening the commercial workspace should respond immediately and complete substantially faster, even when the workspace has a large proposal history.
Phase 1 -- Setup
Customer
Search for an existing client or create a new one.
Client Fields
| Field | Description |
|---|---|
| Client Name | Contact person's full name |
| Company | Business or organization name |
| Primary email for proposal delivery | |
| Phone | Primary phone number |
| Address | Street address with Google Places autocomplete |
| City / State / ZIP | Auto-filled from address selection |
| Decision Maker | Dropdown to identify the person who approves the proposal |
If the client already exists in your system, select them from the search results. Their details auto-populate.
Selecting an existing customer now also fills the active property's street, city, state, and ZIP when those property fields are still blank. The property visual can then load Street View or Satellite immediately. Existing property details are preserved when a rep intentionally entered a different service location before choosing the contact.
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 commercial building proposal, CleanEstimate Pro creates or reuses the proposal-side contact record automatically before the draft saves. That keeps proposal creation and later contact changes 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, gets reopened later, or is first saved from the fleet review step. Fleet proposal lead-source details follow that same save path.
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 save the draft and continue. Contacts labeled as saved CRM customers are stored through the supported manual-client source internally, so the draft can be created without changing how the customer appears to the rep.
Properties
Define the service properties included in the estimate.
Property Details
For each property included in the proposal, enter:
- Property Name -- a recognizable building or location name.
- Address / City / State / ZIP -- the full service address.
- Total Sq Ft -- total building area.
- Floors -- number of stories.
- Roof Type and Siding Type -- the primary exterior materials.
- Parking Type -- open lot, covered garage, multi-level garage, or none.
- Paved Surface Sq Ft -- available when the selected parking type has a
paved surface.
- Notes -- additional property details.
Phase 2 -- Scope & Pricing
Integrated measurement and production pricing
Use Measure and price to calculate the commercial scope without leaving the estimate. On desktop, the property visual includes MapMeasure for drawing roof, footprint, flatwork, and linear measurements. Applied measurements update the active property and remain linked to the saved commercial proposal. Save the draft first when the proposal has not yet received its permanent record ID.
The estimator combines the measured quantity with the tenant's commercial surface production rate, site-condition and access adjustments, crew size, workday length, labor, truck, chemical, equipment, overhead, job minimum, and target gross margin. The result shows estimated production hours, crew days, job cost, selling price, and gross margin. Apply scope and pricing to estimate creates or updates the matching price-book line item and saves the calculation snapshot with the commercial property.
Mobile includes the same visual workflow. In Setup, open Measurements and tap Open Measure Tool to launch the satellite drawing workspace. Choose building walls, roof area, flatwork area, sidewalk path, linear run, or count items. For buildings, tap Auto-detect building outlines, draw a search boundary, and select the mapped footprints that belong to the quote. The tool calculates each selected footprint and perimeter, then converts the perimeter to cleanable wall area using stories, floor height, opening deduction, and gable allowance. If public outline data is unavailable, trace the building manually. Sidewalk paths use a chosen width, and count mode supports repeated items such as pads or fixtures. The map also supports a tilted 3D satellite view. Every accepted shape remains attached to the active property.
Desktop MapMeasure now includes Auto-detect buildings on commercial proposals too. It detects the building outlines visible in the current map bounds, adds them as separate editable footprint measurements, and keeps the normal draw, duplicate, rename, recolor, delete, and apply controls available.
After drawing, choose an eligible service from that tenant's price book and a saved commercial production surface. CleanEstimate combines the measured quantity with the tenant's production rate, operating costs, job minimum, and target margin. Apply measurement & quote writes the measured quantity, calculated rate, selling price, estimated cost, margin, and geometry into the active property and its editable price-book line item. No external browser or second tool login is involved.
Integrated maintenance programs
Use Maintenance plan to convert the current commercial price-book scope into a recurring proposal without leaving the builder. On mobile, choose One-time only or Add maintenance. The maintenance workspace includes:
- a plan name and start date
- weekly, every-two-weeks, monthly, quarterly, or custom visit frequency
- an exact custom visits-per-year value
- a one-to-five-year term
- monthly, quarterly, annual, or per-visit billing
- program savings and annual escalation
- an include/exclude control for every property and price-book service
- an independent visits-per-year value and timing note for every included service
- per-year service cadence overrides when Year-by-year is selected
- live per-visit, annual, and full-term totals calculated from those individual schedules
The previous compact maintenance selector and separate hidden visit-frequency accordion were removed. The saved proposal now carries a maintenance-plan draft snapshot with its service scope, schedule, billing cadence, dates, term, discount, escalation, and pricing. Desktop also supports customer-facing program structures when the proposal needs multiple options:
- Simple recurring -- one agreement and one recurring scope.
- Tiered options -- multiple scope and pricing choices.
- Year-by-year -- a different plan for each program year.
- Earned maintenance rate -- restoration pricing first and a lower ongoing
maintenance rate afterward.
- Frequency menu -- compare multiple visit frequencies for the same scope.
Choose a one-to-five-year term, a default visit frequency, the program discount, and annual escalation. Then customize each service independently; for example, schedule building washing twice per year, sidewalks monthly, and roof cleaning only in year two. Saving the program writes its per-visit and annual values into the commercial proposal and preserves the full service cadence matrix for reopening on mobile or desktop. Tiered and frequency menu structures also create real customer-selectable proposal options; those same saved options appear in the portal, signature workflow, and proposal record rather than being display-only calculator examples.
Price-book line items
The opening Scope workspace keeps the active property, its site notes, and its selected services together. The property visual prefers Street View where coverage is available and lets you switch to Satellite. If imagery is not available, the workspace falls back to a saved property photo and then a neutral property placeholder; missing map coverage does not block the estimate.
The summary uses only values the estimate currently stores:
- Properties -- the number of property records in the estimate.
- Services -- the number of selected service lines across those properties.
- Visits/year -- the annual visit count implied by the selected recurring
frequency.
- Per-visit total -- the current discounted service subtotal before tax.
These values do not represent truck assignments, crew assignments, or the number of service days. Those operational details belong to job planning and must not be inferred from property, service, or recurrence counts.
Service Line Items
Tap Add from Price Book to add a service, product, or equipment item to the active property. Tap any added row to edit it. Each line item includes:
| Field | Description |
|---|---|
| Type | Service, product, or equipment from the tenant price book |
| Description | Free-text description of the work |
| Quantity | Number of units |
| Unit | Measurement type (sqft, linear ft, per unit, etc.) |
| Unit Price | The price-book default, editable for this estimate |
| Optional | Shows the item as a choice without adding it to the committed total |
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 and surface-type reference lists remain available for site classification. Scope line items load from the tenant price book. If the price book cannot load, the builder shows an error and does not silently substitute a hard-coded service list with potentially different rates.
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 has its own visible textarea directly on each service row. When you add a service from the price book, CE Pro prefills Customer Description from the saved price-book description. Older saved commercial draft rows that were still blank 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.
Click Next to continue.
Site conditions and access
Document the conditions for each property:
- Water Access -- on-site spigot, fire hydrant permit, water truck
required, or unknown.
- Soil Condition -- maintenance, standard, heavy, or extreme; this changes
the production-rate calculation.
- Access Difficulty -- ground, two-story, three-story, four-plus-story,
difficult, or roof access; this also changes the production-rate calculation.
- Drainage -- free-text drainage conditions.
- Safety Hazards -- heights, electrical hazards, and other site-specific
concerns.
- Additional Notes -- other instructions that the team needs at the site.
- Site Photos -- property-level reference photos.
The mobile app immediately copies each camera image into durable storage scoped to the signed-in user and workspace. When connectivity is available, it creates the estimate, uploads each site photo through the authenticated estimate-photo queue, and saves the returned HTTPS address into the shared Commercial estimate. Customer delivery waits for that final revision. If the local file or its verified metadata is missing or changed, sync stops for review instead of publishing a broken device-only image.
For a multi-property estimate, select the property you are documenting. You can copy the current property's site conditions to all properties and then adjust exceptions individually.
Proposal terms and scope notes
Complete the commercial terms that apply to the estimate:
- Portfolio Discount -- an optional percentage reduction. It is available
for single- and multi-property estimates even though it is most useful for a portfolio.
- Contract Terms -- Net 30, Net 15, Due on Receipt, or Custom.
- Payment Notes -- additional payment details, or the full custom terms
when Custom is selected.
- Special Conditions / Scope Notes -- included or excluded areas, access
restrictions, and special requirements.
Production defaults for commercial surface materials live in Admin > Commercial > Settings. Use Manage Surface Materials there when you need to tune production rates before building new proposals. The same settings area also holds editable default terms for commercial building and fleet proposals.
Exact pricing
Review and adjust the rate, pricing approach, and quantity for each selected service. The builder calculates each service subtotal, each property total, and the combined per-visit subtotal.
Visit plan and frequency
One time is the default. For a recurring program, choose the service frequency:
- Weekly -- 52 visits per year.
- Biweekly -- 26 visits per year.
- Monthly -- 12 visits per year.
- Quarterly -- 4 visits per year.
- Custom -- enter the exact number of visits per year.
You can also enable Seasonal Adjustment when the service frequency changes with the season. This substep models recurring visit frequency; it does not assign a proposed start date, trucks, crew members, or a number of service days.
The commercial margin is only displayed after a real estimated job cost is available. Enter the estimator cost in Scope & Pricing to calculate gross margin from the current per-visit selling price. An unknown cost is labeled Cost needed rather than incorrectly displaying 0% margin.
Pricing review
Expand each property to verify its services and subtotal. The portfolio summary then shows the combined subtotal, optional portfolio discount, tax, and per-visit total. When a recurring frequency is selected, the annual projection shows the frequency, visits per year, and calculated annual total.
Phase 3 -- Review & Send
The sent link opens the shared branded customer viewer while keeping the commercial layout for sites, property-level scope, frequency, contract terms, and portfolio pricing. Customers can review the work, download the standard PDF, and sign online. This legacy commercial approval flow does not open deposit checkout. The office collects any required deposit from the linked estimate or invoice.
Review the complete proposal before sending.
Proposal Summary
The review screen summarizes the preceding detailed substeps. Scroll through to verify:
- Client and company information
- Property addresses and building details
- All service line items with pricing
- Site conditions and safety notes
- Recurring frequency, annual visit count, and payment terms
- Portfolio discount and seasonal adjustment, when used
- Per-visit and annual totals
Auto-Save
The Commercial Estimate Wizard also saves local draft changes in the background while you edit and flushes pending work when the app moves to the background. Treat that as recovery protection. Tap Save draft whenever you intend to leave an incomplete estimate.
When connectivity is available, the mobile draft crosses the authenticated estimate service rather than writing directly to proposal tables. The server checks the active organization, estimate permissions, proposal owner, linked client, and saved record revisions. It independently recalculates property service subtotals, the portfolio discount, per-visit pricing, annual visit count, and annual total before saving the linked commercial-building estimate, canonical line items, and proposal record in one transaction. A stale edit or changed total returns for review instead of overwriting newer work.
Actions
| Button | What It Does |
|---|---|
| Back | Returns to the preceding phase |
| Save draft | Explicitly saves the incomplete estimate and returns it to the Estimates workspace |
| Send Proposal | Saves the estimate and queues delivery to the available customer email and phone destinations |
Queued delivery does not run ahead of persistence. It waits until the canonical Commercial estimate and line items have committed successfully, and exact sync retries reuse the already committed result.
Canonical Commercial estimates created by the mobile builder use the shared customer quote page directly. The page shows the saved line items, totals, terms, and approval controls even though these estimates do not have a legacy commercial_proposals source row. Older web-created Commercial proposals that do have that source link continue to use their established commercial proposal layout.
Commercial fleet proposals now finish the draft flow more predictably from the review step. Finalize Proposal opens the saved proposal detail page after the draft is saved, and Duplicate keeps you inside the fleet proposal workspace you were already using instead of jumping between the newer Fleet module and the older Commercial fleet route.
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.
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.
Multi-property building proposals now summarize each property in a compact accordion row with frequency, square footage, and annual value. Expand one property at a time to review its details, service lines, and pricing instead of stacking the complete scope for every location down the page.
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 during Setup before adding price-book line
items. This keeps your estimate organized.
- Check the per-property breakdown and totals during Scope & Pricing
before sending.
- Document site conditions thoroughly. This protects you during the job and sets clear expectations with the client.
- Tap Save draft before stepping away from a long estimate; background
saving remains recovery protection rather than the intentional exit action.
Related articles
Was this article helpful?
Still need help? Contact support