Proposals and PDFs

Preview, download, and send professional PDF proposals to your customers.

Beginnerownersales repUpdated 2026-08-12

Proposals and PDFs

Every estimate in CleanEstimate Pro can be turned into a professional PDF proposal. The system generates PDFs automatically when you preview or send an estimate. Customers also get a web-based proposal link where they can view, accept, or decline.


Option A/B/C Proposals

Any saved estimate can now be sent as one proposal with multiple choices. This works across residential, generic, asphalt, fleet, commercial building, holiday lights, and source-linked maintenance proposals.

On the review step, save the draft and click Proposal Options A/B/C. CE Pro opens the estimate's Proposal Options workspace, where you can:

  • turn the multi-option proposal on or off
  • add, duplicate, delete, and reorder options
  • rename options to Option A, Option B, Good, Better, Best, or any other label
  • give each option its own description, line items, quantities, units, prices,

discounts, tax, and deposit

  • mark exactly one option as Recommended

A proposal can contain 2 to 12 active options. Each option has a stable internal key, so renaming or reordering it does not break the customer selection.

Save the options before previewing or sending. The web proposal, email, and PDF then show every active option in the saved order. The customer chooses exactly one option before signing. CE Pro copies that option's scope and server-verified total into the accepted estimate, so the job, invoice, payment, and automation handoffs use the chosen package rather than adding all options together.

You can revise options while a proposal is a draft, sent, or viewed. Saving a revision clears any uncompleted selection and invalidates an older review session. Accepted, declined, expired, and signed proposals are locked; duplicate the estimate to create a new version. CE Pro keeps proposal revision history and the signed acceptance snapshot for audit purposes.

For fleet, commercial building, and holiday lights, the button prepares the shared estimate record automatically before opening the option workspace. A source-linked robust maintenance plan uses the same shared estimate option workspace.


PDF Preview

On the review step of any estimate wizard, click Preview to open a PDF preview in a new tab.

Screenshot placeholder
Preview button highlighted on the review step of the estimate wizard

The preview renders the full proposal exactly as the customer will see it. Use this to catch formatting issues, pricing errors, or missing information before sending.


What the PDF Includes

Each PDF proposal contains the following sections:

SectionDetails
Company headerYour company logo, business name, address, phone number, and email
Customer detailsCustomer name, property address, and contact information
Service breakdownEach selected service listed as a line item with quantity, unit, and price
Add-onsAny add-on items with individual pricing
Custom itemsManual line items added during the estimate
Pricing summarySubtotal, discounts, sales tax, total, payments, and remaining balance when applicable
Terms and conditionsYour configured terms of service
Signature areaPaper signature, printed-name, title, and date lines; accepted standard estimates show the saved online signature

Standard Customer Document Format

Estimate, invoice, and work-order PDFs use a compact business-document header instead of a stack of shaded boxes. The first page starts with:

  • Company logo and contact information at the upper left.
  • Document type, number, date, status, and key amount or service date at the

upper right.

  • Prepared For or Bill To at the middle left.
  • Service Location or Work Location at the middle right.
  • One rule directly above the itemized scope.

Long scopes continue on later pages with repeated document identity, table headings where needed, and page numbers. Full terms stay with the document in a readable appendix instead of starting in a small leftover space at the bottom of the totals page.

Estimates include paper signature, printed-name, title, and date lines. On the standard estimate flow, a PDF generated after online acceptance also shows the saved signature and approval details. Invoices show balance and payment history rather than asking the customer to approve the sale again; the printable copy includes an optional paper acknowledgment area. Work orders show the service date, work location, authorized scope, and customer and crew completion lines.

Offline deposit arrangements appear as Deposit pending with the planned method. They are never added to paid totals until the office confirms receipt.

For an accepted Suds Club choice, the PDF uses the signed snapshot as its source for the membership and prices. It breaks out the one-time work total, one-time deposit, Club signup, signup tax, amount due at approval, payments received, and remaining approval balance. A Club-only PDF omits unapproved one-time work. Future monthly dues stay separate from the signup payment and approval balance.

Screenshot placeholder
Full PDF proposal showing company header, service breakdown, pricing summary, and signature area

For commercial building and fleet proposals, the default terms now come from Admin > Commercial > Settings whenever the proposal-level custom terms box is left blank. That keeps the office on one shared editable source instead of a hidden PDF-only fallback.

PDF Variants

CleanEstimate Pro generates different PDF layouts depending on the estimate type:

  • Residential -- standard service-based layout with property details.
  • Commercial -- includes multi-option pricing and site condition notes.
  • Commercial Building -- shows surface-level line items and building-specific details.
  • Fleet -- lists vehicle types, counts, and per-unit pricing. Seasonal fleet PDFs now break pricing into the standard cadence and alternate cadence separately, the service-plan page lists each month in the split schedule, and the cover page keeps the saved proposal date on the correct calendar day instead of shifting date-only records backward in some time zones.
  • Generic Quote -- displays manual line items in a simple table format.
  • Maintenance Proposal -- shows the visit schedule, per-visit pricing, and annual cost.

Sending Proposals by Email

When you click Send Estimate on the review step, the system attaches the PDF to the outgoing email automatically. The customer receives:

  1. An email with a summary of the estimate and the PDF attached.
  2. A clickable link to view the proposal online.
Screenshot placeholder
Customer email showing the estimate summary, attached PDF, and proposal link

You do not need to download and attach the PDF manually. The system handles it.

Residential estimates, generic quotes, holiday lights, fleet proposals, and commercial building proposals now all use the same shared review-and-send modal. Staff review the outbound email copy and outbound text message copy together, then confirm one combined send. The email carries the attachment or secure link for that estimate type, and the text message is delivered alongside it when the client phone number and SMS setup are available.

Mobile reps now stay in that same send-and-close loop after the estimate exists. From mobile proposal detail, a salesperson can open the secure customer-facing estimate or proposal view that matches that quote's live delivery path, present it in person, let the customer accept and sign on the spot, and then launch either a 25% deposit link or a full-balance payment link without going back to the office UI.

Estimate send actions still kick off follow-up sync work in the background, but the actual email/text delivery shown in the shared send modal is now confirmed before the office sees success.

If your office sends a large burst of estimates at once, CE Pro may briefly show the delivery as Queued or Processing while the background worker drains the send backlog.

When you save and send a quote from the Generic Quote Builder, the send step now reuses the customer token generated during the save response instead of regenerating it a second time. That keeps the new-quote send flow from failing on resend/retry paths and also surfaces provider misconfiguration as a real send failure instead of a false success.

The manual Send Estimate / Resend Estimate flow now waits for the email delivery step to succeed before it reports success back to the office. If the send fails, CE Pro keeps the estimate retriable instead of claiming it was delivered and then blocking resend because the record is no longer in draft.

If secure estimate-link signing is not configured yet, the office can still send the estimate email. In that fallback mode, the PDF still goes out, and the send dialog warns that the online estimate link is temporarily unavailable instead of blocking the entire send action.


Downloading a PDF

You can download a PDF at any time from the estimate detail page.

  1. Open the Manage section in the admin sidebar, click Estimates, and open an estimate.
  2. Click Download PDF on the estimate detail page.
  3. The PDF downloads to your device.
Screenshot placeholder
Download PDF button on the estimate detail page

This is useful when you need to print a proposal, attach it to a separate email, or save a copy for your records.


Browsing the Estimates List

The main Estimates list under Daily work opens as the Estimate workbench. The top of the page now highlights drafts to send, viewed proposals that need follow-up, unassigned estimates, and accepted estimates that still need job handoff. Those priority cards use the records currently loaded in the table and double as quick filters for the most common office follow-up paths.

The list still loads the newest records first and supports filters for status, source, rep, estimate type, tags, and date range. The date control supports quick presets plus a custom start/end picker, so sales managers can jump straight to an exact window instead of relying only on fixed ranges.

Each row also includes a Next action control beside the status. Depending on the estimate, the row can send a draft, open AI follow-up, create a job from an accepted estimate, create or copy a payment link, schedule the appointment, request a review, or open the detail page.

Behind the scenes, that screen now runs on a unified indexed read model that combines residential estimates, generic quotes, holiday lights records, fleet proposals, and commercial building proposals into one fast list. Search, filters, and pagination are applied before the page returns results, so larger organizations can keep working the same way without waiting on the app to merge full estimate history in memory.

The estimate list opens with 25 rows per page. Use the footer to switch between 25, 50, and 100 rows and move to the previous or next server-backed page without loading the full estimate history into the browser.

Use Load More at the bottom of the page to fetch the next batch of records when you want to keep scrolling through older estimates.

Bulk status changes from that list now report one accurate success or failure summary after the batch finishes instead of showing a false partial-failure warning when the selected estimates all updated successfully.

Bulk annual re-quotes for residential customers

Use the Estimate workbench to renew a group of standard residential customers without rebuilding their scopes one by one:

  1. Filter or search the Estimates list for the prior-year customers.
  2. Select the residential estimates you want to renew.
  3. Click Re-quote in the bulk action bar.
  4. Choose the target year and enter a price increase, such as 3%.
  5. Leave Send new quotes immediately off to review the new drafts first, or

turn it on to deliver the successfully created quotes through the normal estimate email system.

  1. Click Create renewal quotes.

Each renewal is a separate draft with a new estimate number. The original estimate and its history stay unchanged. CE Pro carries forward the customer, property, scope, maintenance choices, proposal options, assignment, and CRM links while applying the percentage increase to customer-facing prices. Internal redline and commission values are not inflated.

CE Pro tracks the source estimate, target year, and markup on each renewal. Selecting the same source again for the same year skips the existing renewal instead of creating a duplicate. The completion summary identifies created quotes, skipped renewals, unsupported estimate types, and delivery failures. Quotes that cannot be emailed remain drafts.

This bulk action is for standard residential estimates. Holiday-light customers use Re-Quote for New Season in the Holiday Lights workspace. Commercial building, fleet, asphalt, and generic proposal types keep their specialized quote flows.


Sent residential, commercial building, fleet, generic, and Holiday Lights quotes now open in the same branded customer viewer. Each quote keeps the scope and pricing layout that fits the work, while the surrounding navigation, PDF action, approval state, and customer-account handoff stay consistent.

Every sent estimate generates a unique proposal URL. The customer can open this link in any browser.

What the Customer Sees

The online proposal page displays:

  • A branded header with your company logo.
  • The full estimate breakdown with line items and pricing.
  • A transparent pricing summary that shows subtotal, discount, taxable amount, sales tax, and total.
  • Custom items inside the main estimate breakdown so they are included in the quote total the customer sees before payment options.
  • An expiration notice if the proposal has a validity period.
  • An Accept button that opens the e-signature capture.
  • A Decline button to reject the proposal.
Screenshot placeholder
Online proposal page as seen by the customer, showing the accept and decline buttons

Generic quotes now use the same shared customer quote page under the unified quote-core path. Preview, email delivery, resend, and acceptance all point at that same persisted quote link, so the office no longer saves a generic draft through one route and opens it through a different customer-view path.

The mobile proposal shell now respects that broader estimate coverage too. Generic Quote and Asphalt Maintenance both open as native mobile builders and queue authenticated synchronization into the shared Estimates workspace. Generic Quote starts with customer information and then uses price-book or custom service, product, and equipment items. Asphalt Maintenance moves through property, measurement, services, and review while keeping field-entered pavement measurements explicit. After either estimate is saved and synchronized, it appears in mobile proposal lists. The normal estimate detail and customer-close flows make customer view, signature, and payment-link actions available when the estimate has met their delivery, acceptance, and payment prerequisites. Mobile close actions prefer the estimate/customer view first, which keeps holiday lights, fleet, commercial building, asphalt, and generic flows on the customer page that actually exists for that quote. Legacy Asphalt records without a native builder snapshot keep their existing office-editor route.

Mobile estimate detail layout

The mobile estimate detail screen puts the estimate lifecycle directly beneath the header as a compact row of connected dots. The property workspace follows it and opens in Satellite view by default; use Map for a standard map or Street View to open the ground-level Google view for the saved coordinates.

The customer card beneath the property visual is the single source of customer context on this screen. It shows the estimate number, status, total, customer name, full service address, email, phone, and direct call/text actions. Delivery history and a second customer-information card are intentionally not repeated farther down the page, keeping line items, payments, and closing actions closer to the top.

Line items are tappable and reopen the matching native estimate builder for editing. Estimate details and proposal-options summaries are not repeated as extra accordion sections. Signatures and Notes each include a direct add action; mobile notes save to the server-backed estimate for the whole team.

Payment information appears once. The Payment card includes the suggested deposit, paid amount, and balance, with + Add payment for deposit or balance entries. Choose Card, ACH, Check, or a tenant-configured Other method and enter the amount. Check and manual methods can be recorded in the app. Card and ACH create a secure payment request that remains on the estimate screen and can be shared, instead of automatically opening checkout on the employee's phone.

The header's three-dot button opens a real Estimate actions sheet. It keeps only additional actions—write a follow-up, copy to a new estimate, and open or find the customer—because Send, Preview, Approve, Edit, Call, and Text already have visible controls. Residential copies open the residential builder directly.

Follow-up drafts can be sent directly through SMS, Email, or Both. Both requires a phone number and email address and sends the edited message through the tenant's configured delivery services; it does not hand the rep to the phone's external SMS or email composer.

Every estimate type uses the same mobile disposition model: Draft is unsent; Pending is sent and waiting for approval; Approved means the customer signed or a representative manually approved it; Won is assigned automatically when the estimate is copied to a job; Declined records a customer or representative decline; and Archived covers expired, superseded, or unselected options. This applies to Residential, Holiday Lights, Commercial, Fleet, Asphalt, and Generic Quote estimates. Open Estimate disposition to change an eligible status or delete an eligible unsigned estimate. Estimates tied to jobs or retained acceptance records must be archived rather than deleted.

The mobile closing sequence is now direct: save and review the estimate, approve and capture the customer signature on the estimate screen, add payment, then use Copy to Job to choose the actual job date and start/end time. A rep may also use Copy to Job before a signature and explicitly approve for the customer; this records manual approval before creating the job. Won is never a manual shortcut. After conversion, the estimate's Scheduling section shows the linked job number, current job status, scheduled date, and scheduled time. Tap View job to open that attached job directly. The legacy Close Kit, estimate-options screen, arrival-window step, and Back to rep step are no longer part of the active mobile workflow. Use the visible Client action on the customer card to return to the linked client record.

For native Asphalt, Holiday Lights, Commercial, and Fleet saves, the canonical sync verifies the complete estimate, proposal mirror, and canonical line-item set before treating a repeated request or a lost-response retry as already committed. Missing or changed authoritative content returns a conflict instead of a false success. On first sync, the proposal mirror also adopts the server-issued estimate number so staff do not see a provisional proposal number beside the canonical estimate number.

When Include PDF is selected for a proposal linked to a canonical estimate, delivery creates a signed attachment URL from that estimate for every module, including Generic Quote and Asphalt Maintenance. If the requested PDF is missing or its URL is invalid, delivery stops in Review required instead of sending the message without the promised attachment. Generated Estimate and Generic Quote PDFs use the organization's current terms and conditions rather than stale or empty estimate-level text.

Residential base estimate links are now beginning to use that same shared quote-core customer page too when the saved estimate has a persisted public quote token. Multi-option proposal pages and maintenance-plan pages still keep their dedicated customer screens for now, but the base estimate preview/open flow is no longer forced to stay on the older estimate-only route.

Customer-engagement alerts now distinguish between the email itself being opened and the customer document page being opened. When Resend reports that the email was opened, the outbound email row in Messages shows the tracked open time, total opens, and any tracked link click. When the customer then opens the quote, estimate, proposal, maintenance proposal, holiday-lights quote, fleet proposal, commercial building proposal, or linked shared quote page, CE Pro raises a separate live admin alert for that page open and records the viewed event in the thread.

The same customer-page open can raise a mobile push notification. Clean Estimate Pro resolves the explicit record source as well as the proposal type and organization. Current multi-option proposals stored with estimates and legacy direct proposals therefore use their own source records instead of an ambiguous cross-table lookup.

Only recipients with an active, non-archived membership in that same organization and an existing sign-in account are eligible. CE Pro prefers the assigned rep or other recorded proposal recipient, then falls back to active owners when no eligible assigned recipient remains. Deleted accounts are excluded, duplicate device tokens are removed, the recipient's Proposal Viewed opt-out is honored, and enabled quiet hours are evaluated in the organization's timezone before delivery. The post-response notification call is awaited within a short timeout: a slow or unavailable push service is safely contained without delaying or breaking the customer's proposal page. Supabase verifies the caller's signed platform JWT before the notification handler runs, and the handler accepts only the service_role claim. This keeps the internal delivery call authorized when platform service keys rotate without admitting anonymous or signed-in customer and teammate tokens.

E-Signature

When the customer clicks Accept, a signature pad appears. They draw their signature using a mouse, trackpad, or finger on a touchscreen. After signing, they confirm acceptance.

Screenshot placeholder
E-signature pad on the proposal acceptance page

Only customer-facing estimates that have actually been sent or viewed can be accepted, declined, or signed through the public proposal link. Drafts and expired records are blocked from those customer-action paths until the office sends a live proposal.

Once signed:

  • The estimate status changes to Accepted.
  • You receive an in-app alert in the admin bell right away for commercial and fleet proposals. The bell now refreshes live on new signed-proposal alerts instead of waiting for the old polling interval.
  • Any proposal_accepted webhook subscriptions fire at the same time for commercial and fleet proposals.
  • The signature PNG is validated and saved before the acceptance completes, so the signed record keeps the captured signature instead of silently accepting without it.
  • Follow-up tasks like activity logging, pipeline history, and linked-estimate automation no longer turn a completed customer signature into a false failed-sign response if one of those later bookkeeping steps has a temporary issue.

If the customer requests changes instead of fully accepting, the admin estimate detail page now shows a dedicated Customer Changes Requested card with:

  • The interaction status and timestamp.
  • The requested subtotal and accepted total.
  • Any customer-wide note they submitted.
  • The exact included and removed line items from their selection.

Proposal Expiration

You can configure how long proposals remain valid. After the expiration date, the online proposal page shows an expiration notice and disables the accept button. The customer must contact you for a new proposal.

A cron job runs daily to expire proposals that have passed their validity date.


Tips

  • Always preview before sending. A two-second check prevents embarrassing pricing errors.
  • Use the online proposal link instead of the PDF when possible. The web version is interactive and allows e-signature without printing.
  • Download PDFs for in-person sales. If you are meeting a customer on-site, pull up the PDF on a tablet or print it beforehand.
  • Use mobile proposal detail for live closes. Open the customer proposal from the phone or tablet, capture acceptance and signature, and then create a deposit or balance payment link while you are still with the customer.
  • Check your company logo in Settings. The logo appears at the top of every PDF and online proposal.

Troubleshooting

PDF is blank or missing sections

Make sure the estimate has at least one service selected with pricing greater than zero. A blank estimate produces a minimal PDF.

Customer says they cannot open the proposal link

Verify the link has not expired. Check the estimate detail page for the current status. If the proposal expired, resend the estimate to generate a new link.

If the office sees a warning that secure estimate links are unavailable, the email can still be delivered with the PDF attachment, but the customer will not receive the browser-based estimate link until customer-link signing is configured again.

Company logo is not showing on the PDF

Go to Settings > Account and upload a logo. The PDF generator uses the logo stored in your organization settings.

Was this article helpful?

Still need help? Contact support