Sales & Growth
Paid add-on

Quotation Builder

Create structured contractor quotations, organize materials and work into clear sections, review internal cost and markup, and prepare a clean client-facing preview without exposing private profitability details.

Structured scope

  • Build quotations with sections, line items, note boxes, and supported starter templates for FDAS, CCTV, and general trade work

Internal cost control

  • Review unit cost, markup, selling price, estimated gross profit, and margin before sharing a client-facing document

Client-ready preview

  • Prepare a printable quotation document that shows selling prices and scope without exposing internal cost or markup

Overview

Quotation Builder helps contractors prepare a proposed scope and selling price before or during client negotiation.

It is designed for practical quotation work—not a full construction-estimating ERP, supplier-management system, or automated project-conversion workflow.

The supported lifecycle is:

1. Create the quotation from Quotations → New Quotation.

2. Complete the initial setup or questionnaire.

3. Build sections and line items in the quotation workspace.

4. Review internal cost and profit on Cost & Profit.

5. Review the client-facing document on Client Preview.

6. Save draft changes, update quotation status, print or export using browser print, and preserve quotation history.

Internal cost, markup, margin, and estimated profit remain workspace views. They must not appear on the client-facing quotation unless you deliberately disclose them outside Prospeno.

Who can use it

  • Role

    Admin

    View quotations

    Yes

    Create

    Yes

    Edit

    Yes

    View cost and profit

    Yes

    Change status

    Yes

  • Role

    Manager

    View quotations

    Yes

    Create

    Yes

    Edit

    Yes

    View cost and profit

    Yes

    Change status

    Yes

  • Role

    Supervisor

    View quotations

    No

    Create

    No

    Edit

    No

    View cost and profit

    No

    Change status

    No

  • Role

    Employee

    View quotations

    No

    Create

    No

    Edit

    No

    View cost and profit

    No

    Change status

    No

Permission matrix

Quotation Builder requires an active Quotations module entitlement for the company.

Access is not limited by project assignment. Admins and Managers can work on quotations across the company workspace.

A quotation does not require an existing Prospeno project. Client and project/site names are captured on the quotation record itself.

All quotation editors who can open the builder can also use Build, Cost & Profit, and Client Preview.

Main quotation surfaces

Authenticated routes

  • /quotations — quotations list, overview, and module settings
  • /quotations/new — create-quotation questionnaire and starter setup
  • /quotations/[id] — quotation overview, status actions, history, and quick actions
  • /quotations/[id]/edit — quotation workspace with Build, Cost & Profit, and Client Preview tabs
  • /quotations/[id]/preview — standalone printable client document preview
  • /modules/quotations — module information page inside the authenticated app

Quotation workspace navigation

  • Build — compose sections, items, note boxes, and document fields
  • Cost & Profit — review internal costing, Profit Guard advisories, and section summaries
  • Client Preview — review the printable client-facing document inside the builder

Create quotation workflow

  1. 1

    Start a quotation

    Open Quotations and choose New Quotation.

  2. 2

    Complete the initial setup

    Choose a start method, enter required client and site details, and complete any FDAS or CCTV questionnaire when applicable.

  3. 3

    Open the builder

    After creation, Prospeno opens /quotations/[id]/edit with starter sections or items when the selected method provides them.

  4. 4

    Review internal pricing

    Use Cost & Profit to confirm unit costs, markup, selling totals, estimated gross profit, and Profit Guard warnings.

  5. 5

    Review the client preview

    Open Client Preview in the workspace or the standalone preview route to confirm private cost fields are hidden.

  6. 6

    Save or finalize

    Save Draft keeps status as Draft. Client Preview saves as Ready. Update status from the quotation overview when the quotation is sent, waiting, won, or lost.

Initial setup and questionnaire

Start methods

  • Blank quotation — start from an empty structure
  • From template — FDAS Installation, CCTV Installation, or supported general trade templates
  • Simple scope — project description plus selected work categories
  • From pricebook — select company catalog items with quantities

Required create fields

  • Client name
  • Project/site name
  • Site/location

Additional setup values

  • Quotation type — FDAS, CCTV, or General
  • Starter template code when using From template
  • FDAS or CCTV questionnaire answers when the selected template requires them
  • Simple-scope project description and work categories
  • Pricebook item selections and quantities
  • A Prospeno project is not required to create a quotation.
  • Client, project/site, and site/location values can be edited later in the builder.
  • Document subject, scope of work, notes, terms, and note boxes can be edited later and affect the client document.
  • Validity, default payment terms, and default warranty text come from quotation module settings and note boxes.
  • Paper size is selected in preview and stored in browser local storage; it does not change quotation totals.

Builder structure

Structure rules

  • Quotations contain sections.
  • Sections contain line items and may contain grouped lots.
  • Note boxes hold client-facing terms such as payment terms and warranty.
  • Section and item order affects presentation in Client Preview.
  • Internal unit cost and markup fields are for workspace review only.

Supported builder controls

  • Add section, rename section, reorder section with move up/down, delete section
  • Add item, duplicate selected items into lots where supported, reorder items, delete item
  • Add note box, edit note-box title and body, delete note box
  • Edit document subject and scope of work
  • Explicit Save Draft and Client Preview actions — changes are not autosaved
  • Duplicate quotation from the builder or overview

Builder limits

Enforced per-quotation limits

  • Maximum sections: 10
  • Maximum total line items: 300
  • Maximum note boxes: 5
  • Maximum markup percent per item or section default: 500

What happens at the limit

  • The API rejects saves that exceed section, item, or note-box limits.
  • Deleted sections, items, or note boxes release capacity on the next successful save.
  • Limits apply per quotation, not per company plan.
  • Duplicated quotations copy structure into a new quotation and count against the new quotation’s limits.
  • Imported pricebook items count toward the total item limit when added to the quotation.

Section controls

Section behavior

  • Section title and optional description
  • Section markup percent default for items without their own markup
  • Item count and section subtotal based on client selling totals
  • Move up/down ordering within the quotation
  • Deletion removes the section and its items from the draft structure
  • Empty sections can exist until you review or save
  • Grouped lots combine selected items for client presentation while retaining item-level costing underneath

Markup applies per item using the item markup when set; otherwise the section default markup is used.

There is no separate global markup control outside section defaults and item overrides.

Item fields

  • Field

    Description

    Input type

    Editable

    Internal only

    No

    Client visible

    Yes

  • Field

    Quantity

    Input type

    Editable

    Internal only

    No

    Client visible

    Yes

  • Field

    Unit

    Input type

    Editable

    Internal only

    No

    Client visible

    Yes

  • Field

    Unit cost

    Input type

    Editable

    Internal only

    Yes

    Client visible

    No

  • Field

    Markup %

    Input type

    Editable

    Internal only

    Yes

    Client visible

    No

  • Field

    Client unit price

    Input type

    Calculated

    Internal only

    Yes

    Client visible

    Yes as selling unit price

  • Field

    Line total

    Input type

    Calculated

    Internal only

    Yes

    Client visible

    Yes as selling line total

  • Field

    Cost category

    Input type

    Editable

    Internal only

    Yes

    Client visible

    No

  • Field

    Pricebook source

    Input type

    Derived when created from catalog

    Internal only

    Yes

    Client visible

    No

Permission matrix

Brand, model, specification, tax, discount, and per-item internal notes are not separate implemented item fields in the current builder.

Use description, unit, and note boxes for client-facing detail when needed.

Pricebook relationship

Company item pricebook

  • Reusable catalog reference with description, unit, reference cost, category, and specification fields
  • Managed from quotation or materials module settings when either module is enabled
  • Supports CSV import for catalog maintenance

Quotation item

  • Quotation-specific line with selected quantity, current unit cost, markup, and calculated selling price
  • Can be created manually without using the pricebook
  • Can be seeded from pricebook selections during quotation creation

Creating a quotation from pricebook copies the selected catalog values into quotation items at creation time.

Later pricebook changes do not silently rewrite existing quotations.

Materials & Requisition and Quotation Builder can share the same company catalog, but quotation items do not automatically become material requests.

Cost & Profit

Workspace metrics

  • Total internal cost (direct cost total)
  • Total selling price (contract price total)
  • Estimated gross profit
  • Overall markup percent on cost
  • Gross margin percent on selling price
  • Section summaries and category totals

Profit Guard advisories

  • Warns about unpriced items, missing labor, missing transportation, blank descriptions, zero-value sections, missing payment terms note box, missing warranty note box, and below-target gross margin when configured

Profit Guard is advisory. It helps review completeness and profitability; it does not block saving by itself.

Company target gross margin percent is configured in quotation module settings.

Internal cost vs client price

Internal cost view

  • Unit cost
  • Markup percent
  • Estimated gross profit
  • Gross margin percent
  • Section and category cost summaries
  • Profit Guard warnings

Client preview

  • Company and client details
  • Quotation reference and dates
  • Scope, sections, item descriptions, quantities, units, and selling prices
  • Totals, note boxes, terms, and supported signature placeholder

Keep internal pricing private

Never expose internal cost, markup, margin, or estimated profit in the client-facing quotation unless you deliberately disclose that information outside Prospeno.

Pricing calculations

Implemented formulas

  • Client unit price = unit cost × (1 + markup % ÷ 100), rounded to two decimals
  • Item direct cost total = quantity × unit cost, rounded to two decimals
  • Item selling line total = quantity × client unit price, rounded to two decimals
  • Estimated gross profit = total selling price − total internal cost
  • Markup % = profit ÷ cost × 100
  • Margin % = profit ÷ selling price × 100
  • Currency values use PHP-style two-decimal rounding in the current implementation.
  • Separate tax lines, discount lines, and automatic tax timing are not implemented as quotation calculations.
  • Manual edits to unit cost or markup recalculate selling values using the formulas above.
  • Quotation totals are the sum of item selling line totals across sections.

Markup behavior

Current behavior

  • Item-level markup overrides the section default when set
  • Section default markup is 20% unless changed
  • Markup is clamped between 0% and 500%
  • Selling price is derived from unit cost and markup; direct selling-price entry without cost is not the primary model
  • Changing unit cost or markup recalculates client unit price and line total
  • Negative markup is clamped to 0%

Cost & Profit review

  1. 1

    Confirm sections and items

    Review that required scope is represented.

  2. 2

    Resolve missing unit costs

    Address Profit Guard unpriced-item warnings.

  3. 3

    Check total internal cost

    Review direct cost totals by section and category.

  4. 4

    Review markup and margin

    Confirm overall markup on cost and margin on selling price.

  5. 5

    Review selling total

    Confirm the proposed contract price.

  6. 6

    Add payment terms and warranty notes

    Use note boxes or module defaults where needed.

  7. 7

    Resolve advisories

    Review incomplete items, missing labor/transportation, and below-target margin warnings.

  8. 8

    Continue to Client Preview

    Confirm the client document before sharing or printing.

Client Preview

Preview behavior

  • Live document preview with company details and logo when available
  • Client details, quotation number, quotation type, validity, and scope text
  • Sections, items, grouped lots, note boxes, totals, and terms
  • Signature placeholder area on the printable layout
  • Responsive screen preview with print-specific styling
  • Paginated preview blocks based on selected paper height

Intentionally hidden

  • Unit cost
  • Markup percent
  • Estimated gross profit
  • Internal cost-category breakdown
  • Profit Guard warnings

Paper sizes and printing

Long

  • Default preview size
  • 8.5" × 13"
  • Browser print page size 8.5in 13in

Letter

  • 8.5" × 11"
  • Browser print page size letter

A4

  • 210 × 297 mm
  • Browser print page size A4
  • Paper size is selected in preview and stored in browser local storage.
  • Printing uses the browser print dialog and print CSS — Prospeno does not generate a server-side PDF file.
  • The overview quick action labeled Download PDF opens the preview route; save as PDF through the browser print dialog.
  • Preview pagination, margins, and page breaks should be reviewed before sending the document to a client.

Notes and terms

Supported note content

  • Section descriptions
  • Quotation-level notes and terms fields
  • Note boxes with title and body — commonly Payment Terms and Warranty
  • Document scope of work text
  • Default payment terms, warranty note, and validity days from quotation module settings
  • Maximum note boxes per quotation: 5.
  • Note-box titles and bodies are plain text fields in the current implementation.
  • HTML or Markdown rendering is not supported in note boxes.
  • Payment terms note-box content can populate the quotation terms field when saved.

Quotation statuses

  • Status

    Draft

    Meaning

    Work in progress

    Typical next actions

    Edit, save draft, mark ready

  • Status

    Ready

    Meaning

    Prepared for client review or sending

    Typical next actions

    Mark submitted, continue editing by saving draft again

  • Status

    Submitted

    Meaning

    Sent or presented to the client

    Typical next actions

    Mark waiting, won, or lost

  • Status

    Waiting

    Meaning

    Awaiting client response

    Typical next actions

    Return to submitted, mark won, or mark lost

  • Status

    Won

    Meaning

    Accepted outcome recorded

    Typical next actions

    Optionally record accepted amount; reopen to draft if needed

  • Status

    Lost

    Meaning

    Declined or unsuccessful outcome recorded

    Typical next actions

    Record loss reason; reopen to draft if needed

Status table

  • Statuses are assigned manually from the quotation overview.
  • Marking a quotation won or lost, or reopening it, requires confirmation.
  • Lost transitions require a loss reason.
  • Won transitions may record an accepted amount.
  • Changing status does not create project revenue, billing, collection, or material-request records.

Saving and revision

Current save behavior

  • Explicit save only — Save Draft and Client Preview buttons in the builder
  • No background autosave or multi-user real-time collaboration
  • Revision number is checked on save; stale saves return a conflict message
  • Conflict message preserves unsaved edits on the page until you reload or save again
  • Updated timestamps appear on the quotation overview after successful saves

Duplicate, revision, and history

Supported today

  • Duplicate quotation creates a new quotation with a new quotation number
  • Revision counter increments on successful structure saves
  • Quotation history events record create, draft saves, status changes, duplicate, reopen, and related lifecycle actions on the overview page

Not implemented

  • Formal immutable version branches with side-by-side comparison
  • Automatic client-facing version labels beyond quotation number and revision metadata

Relationship with Projects

Quotation

  • Proposed scope and selling price for client negotiation
  • Uses quotation client and project/site text fields

Project

  • Active profit center for labor, expenses, materials, collections, and profitability tracking
  • Created and managed separately in Projects

Accepting or winning a quotation does not automatically create or update a Prospeno project.

Quotation totals do not automatically become project contract value.

A linked project may appear on the quotation overview when backend linkage exists, but project conversion is not a supported self-service workflow in the current product.

Relationship with Materials & Requisition

Quotation Builder

  • Creates proposed client scope and selling price

Materials & Requisition

  • Controls actual project material requests, approval, fulfillment, and recognized project material cost after execution begins

Shared pricebook access does not make quotation items material requests.

Fulfillment, approvals, and actual project cost recognition remain in Materials & Requisition.

Relationship with Collections

  • Quotation total is a proposed selling price, not a client billing or collection.
  • Submitting, readying, or winning a quotation does not record payment.
  • Collections & Billing records actual billings and payments against projects.
  • Do not count quotation value as collected revenue in Prospeno.

Client sharing and acceptance

Current sharing scope

Client sharing, online acceptance, OTP verification, public client links, email delivery, view tracking, and digital signature workflows are not currently part of the implemented quotation flow.

Supported sharing today is manual: review Client Preview, print or save as PDF through the browser, and deliver the document outside Prospeno.

Templates

Implemented template support

  • System starter templates for FDAS Installation, CCTV Installation, and supported general trade templates
  • Blank, simple-scope, and pricebook start methods
  • Template-generated sections and note boxes are copied into the new quotation draft
  • Template or settings changes do not rewrite historical quotations

Company-editable reusable template libraries beyond the built-in starter templates are not implemented as a separate template manager.

Builder performance and scale

  • Use clear sections instead of repeating the same item many times when a lot group is more appropriate.
  • Keep note-box text concise.
  • Reuse pricebook entries for consistent costing where practical.
  • Stay within the supported section, item, and note-box limits.
  • Large quotations may take longer to render in preview and print; review page breaks before sending.

Secondary details

Reordering
  • Sections use move up and move down controls.
  • Items are edited within their section; lot grouping affects presentation.
Deleting sections and items
  • Delete actions remove sections, items, or note boxes from the draft structure.
  • Undo is not implemented; save only after reviewing deletions.
Empty and incomplete items
  • Blank descriptions, zero quantities, and missing unit costs are flagged by Profit Guard.
  • Review Cost & Profit before sharing the client document.
Pricebook updates
  • Catalog edits affect future quotations and new items.
  • Existing quotations keep the values saved on their items.
Printing and PDF
  • Output depends on the browser print engine and selected paper size.
  • Preview pagination is approximate; always review before client delivery.
Module cancellation or expiry
  • New quotation work may be blocked when the module is inactive.
  • Historical quotation records remain preserved for review.
Mobile support
  • Quotation Builder is a web workspace for Admins and Managers. It is not a mobile field workflow.
Import and export
  • CSV import is supported for the shared company item pricebook.
  • Quotation export is supported through browser print / save as PDF from preview.

Financial effect

Planning versus actual project money

Quotation created → proposed selling price only

Internal cost and profit estimate → planning information only

Quotation submitted or won → not automatically project revenue or client payment

Project Collections → records actual billing and payment

Important limitations

  • Quotation Builder is a paid add-on billed through your company wallet.
  • Internal cost and profit are estimates for planning—not recognized project financials.
  • Quotation totals are not automatically project revenue.
  • Sending, readying, or winning a quotation does not equal payment.
  • Client Preview must not expose private cost, markup, margin, or estimated profit.
  • Pricebook updates do not silently rewrite historical quotations.
  • Builder limits apply per quotation: 10 sections, 300 items, and 5 note boxes.
  • Formal project conversion from a won quotation is not available in the current product.
  • Public links, OTP acceptance, e-signature, and client portals are not implemented.
  • Quotation Builder does not replace Materials & Requisition, Collections, accounting, contracts, or procurement.
  • Large quotations should be reviewed carefully for print pagination.
  • Historical quotation records remain preserved after module cancellation or expiry.

Where to find help

Use the ? button in the web application for the current page guide, Getting Started, Module Guides, and Contact Support.

Related links

Jump to the module, marketplace, or broader help resources.

Quotation Builder Guide — Prospeno Docs