Skip to content

CRM


The CRM module manages sales opportunities from first contact through won business. It tracks leads as they move through a configurable pipeline of stages, enables structured proposals to be built from reusable templates, and maintains a complete communication log for every customer interaction. The module connects directly to the rest of the system — won leads and approved proposals can be converted into work orders without re-entering data.

Key capabilities:

  • Track sales leads with pipeline stages, quality grades, and monetary values
  • Link leads to salesmen, work orders, invoices, and job contracts
  • Build professional proposals from reusable templates with multiple selectable options and detailed line items
  • Log every customer communication (calls, emails, texts, meetings) with follow-up tracking
  • Monitor sales performance with a real-time dashboard showing pipeline health and team activity

  • Lead — A sales opportunity tracked through a pipeline. Each lead is tied to a customer and site, has a potential dollar value, a quality grade (A–F), and a current pipeline stage. Leads are assigned to salesmen and accumulate communication history. Example: Riverside Medical Center — potential HVAC replacement, $52,000.

  • Pipeline Stage — A step in the sales process that every lead moves through. Stages are configured in CRM Settings and displayed as a visual progress bar on the lead form. Typical stages: Prospect → Contacted → Qualified → Proposal Sent → Negotiation → Won. The stage funnel on the CRM Dashboard shows where leads drop off.

  • Proposal — A formal quote or scope of work presented to a customer. Proposals contain one or more selectable options (e.g., “Basic”, “Standard”, “Premium”), each with detailed line items for labor, materials, flat rates, and other charges. Proposals have a status lifecycle: Draft → Submitted → Pending → Approved/Rejected/Withdrawn.

  • Proposal Revision — When a proposal template has revision-on-edit enabled, editing financial fields creates a new revision rather than overwriting the original. This preserves a complete history of what was offered and when. The “Latest Revisions Only” toggle on the search screen filters out older versions for day-to-day work.

  • Conversion — The process of turning an approved proposal into an actionable record. Depending on the Conversion Type, the proposal becomes a Work Order (Service module), carrying over the customer, site, and line item details without re-entry.

  • Communication Log — A record of every interaction with a customer: phone calls, emails, texts, and meetings. Communications are logged with type, status, sentiment, direction (inbound/outbound), and follow-up tracking. They appear on leads, work orders, customers, jobs, service contracts, and vendors, providing a complete customer interaction history. An appointment can be referenced on a communication, but communications are not shown on the appointment screen itself — they surface through the customer or work order the communication is tied to.


Upstream — Where CRM gets its data:

  • Accounts Receivable (Customer Database) → Leads reference existing customers from the AR customer master. New customers can be created inline from the lead form.
  • Service (Work Orders) → Work orders can be linked to leads to track actual revenue generated from the opportunity. Any of the customer’s work orders for the lead’s selected site can be linked (the link list is filtered only by site, not by status). When computing the lead’s Actual Value, cancelled work orders are excluded; non-cancelled linked work orders contribute their total sale amount.
  • Accounts Receivable (Invoices) → Invoices linked to a lead contribute to the lead’s Actual Value, showing the real revenue generated.

Downstream — Where CRM sends its data:

  • Service (Work Orders) → Approved proposals with Conversion Type = Work Order create new WOs with customer, site, and line items pre-populated. The WO links back to the lead and proposal.
  • CRM Dashboard → All lead and proposal data feeds the dashboard charts: pipeline funnel, leads by user/campaign, proposal dollar values, and conversion rates.

Key Integration Point — Proposal-to-Conversion Pipeline: When Jeff Allen’s proposal for Riverside Medical Center is approved, clicking Convert creates a work order that inherits the customer, site address, line items, and pricing from the proposal. The lead’s Actual Value then updates automatically as invoices are generated from the converted WO, closing the loop from opportunity to revenue.


Navigation: CRM → Dashboard

The CRM Dashboard provides visual analytics for sales pipeline health and team performance. All charts use a date range selector (start date and end date) to filter the data shown.

Proposal $ (All) A pie chart showing the total dollar value of proposals grouped by status (Draft, Submitted, Pending, Approved, Rejected, Withdrawn). Includes all proposal revisions. Hover over a slice to see the exact dollar amount and the number of proposals for that status.

Proposal $ (Latest Revisions) The same pie chart as above, but counting only the most recent revision of each proposal. This gives a cleaner view of the current state of active proposals without double-counting revised proposals.

Proposal Conversion A pie chart showing how many proposals have been converted to work orders versus how many remain un-converted. Useful for measuring close rates on submitted proposals.

Leads by User A stacked bar chart showing leads grouped by the user who created them. Each bar is divided into three segments:

  • Won (green) — leads marked as won (the Won / isConverted flag is set)
  • In-Progress (amber) — leads still active in the pipeline (not won and not yet at the final stage)
  • Lost (red) — leads that have reached the final pipeline stage (the stage with the highest sequence number)

Each segment shows dollar value. Hover over a segment to see the count and monetary value.

Leads by Campaign The same stacked bar chart structure as Leads by User, but grouped by the lead source (campaign or channel). Use this to evaluate which marketing sources produce the most and highest-quality leads.

Unqualified Leads by Reason A pie chart showing the distribution of unqualified leads across each configured unqualified reason. Helps identify the most common reasons opportunities are lost.

Lead Stage Drop-Off (Funnel) A funnel chart showing the number of leads at each pipeline stage, ordered by stage sequence. The width of each stage represents the count of leads currently at or past that stage, making drop-off between stages visually apparent.


Navigation: CRM → Manage Leads

A lead represents a sales opportunity — a potential customer or a potential job at an existing customer site. Leads move through a configurable pipeline of stages, from first contact through won or lost.

The Search Leads screen displays all leads in a searchable data grid. Type in the search box to filter by any lead field. The system supports advanced search for filtering by specific attributes.

Result columns:

  • Lead ID
  • Customer ID
  • Customer Name
  • Customer Address (billing)
  • Site Name
  • Site Address
  • Lead Stage
  • Won (yes/no)
  • Department

Click the edit icon to open a lead in edit mode, or click a row to open the view screen. Use the delete icon to remove a lead (confirmation required). Use the + icon to create a new lead.

Navigate to Manage Leads → Create or click + on the search screen.

Stage Progress Bar At the top of the form is a visual progress bar showing all configured lead stages in sequence. The current stage is highlighted in blue with a spinning icon, past/completed stages show a green check, and future stages display a gray clock icon. Click any stage on the bar to jump to that stage.

Customer & Site

FieldDescriptionRequired
CustomerThe customer associated with this lead. Type to search existing customers, or use the option to create a new customer directly from this field.Yes
Site AddressThe specific site (delivery or service location) for this lead. Options are filtered to the selected customer’s configured site addresses.Yes

Once a customer and site are selected, the customer’s name, secondary name, billing address, site name, and site address are displayed as read-only reference information below. A View Notes button is available for both the customer and the site to review any notes on file.

Lead Classification

FieldDescriptionRequired
Potential ValueYour estimated dollar value of this opportunityNo
Quality GradeA letter grade (A, B, C, D, F) indicating the quality or likelihood of conversionNo
StageThe current pipeline stage for this leadYes
DepartmentInternal department responsible for this leadNo
SourceHow this lead was acquired (configured in CRM Settings)No
Unqualified ReasonIf the lead is unqualified, the reason whyNo
EmailA Customer Contact autocomplete that displays the contact’s email addressNo
Do Not DisturbCheck to flag that this customer should not be contactedNo
WonCheck to mark this lead as won (converted to active business). Displays as “Won” but the underlying field is isConverted.No

Value Tracking (Read-Only)

These two fields are automatically calculated from linked records and cannot be edited directly:

  • Proposal Value — Automatically calculated from the amounts of the latest-revision proposals linked to this lead. The method depends on the Proposal Lead Value CRM setting — the Average, Minimum, or Maximum of the linked proposal totals (it is not a simple sum).
  • Actual Value — The sum of revenue from linked work orders, invoices, and job contract amounts. Cancelled work orders and voided invoices are excluded.

Linked Records

All linked record selectors are filtered to the selected customer and site address.

FieldDescription
Linked Work OrdersSelect one or more work orders to associate with this lead
Linked InvoicesSelect one or more invoices to associate with this lead
Linked Job ContractsSelect one or more job contracts to associate with this lead
SalesmenAssign one or more salesmen responsible for this lead

Notes A multi-line text field for any additional notes about the lead.

Click Save (or Create on a new lead) to save the record.

From the search screen, click the edit icon, or from the view screen click Edit. All fields are editable. The stage progress bar at the top allows you to change the stage directly by clicking on it. Click Save to apply changes.

Click any lead row in the search results to open the view screen. The view screen is organized into tabs:

Linked Records Tables showing the linked work orders, invoices, and job contracts, with clickable links to open each record.

Stage Changes A history of all stage transitions for this lead, showing when the lead moved between pipeline stages.

Attachments Files and documents attached to this lead record.

Communications The full communication log for this lead — every phone call, email, text, and other interaction that has been logged. See the Communications section for details on logging and viewing communications.

Salesmen The salesmen assigned to this lead.

Actions available from the lead view screen:

  • Edit — Opens the edit form
  • Delete — Deletes the lead (confirmation required)
  • Audit Lead — Opens the audit trail for this lead

Navigation: CRM → Manage Leads → open a lead → Salesmen tab

The Salesmen tab on the lead view screen lists every salesman assigned to the lead and lets you add or remove assignments directly, without opening the lead in edit mode. Each assignment is a link between the lead and a salesman from your salesman list.

The table shows one row per assigned salesman, sorted by name:

ColumnDescription
NameThe salesman’s primary name
Name 2The salesman’s secondary name
AddressThe salesman’s street address
Address 2The salesman’s secondary address line
CityThe salesman’s city
StateThe salesman’s state
ZipThe salesman’s ZIP code

Adding a salesman

  1. On the Salesmen tab, click the + (Link Salesman) button in the table header.
  2. In the Link Salesman dialog, open the Salesman field and select a salesman. The list shows only salesmen who are not already assigned to this lead.
  3. Click Link to create the assignment, or Cancel to close without saving. The new salesman appears in the table.

Removing a salesman

  1. On the salesman’s row, click the Unlink Salesman icon.
  2. A confirmation prompt asks whether you want to unlink this salesman from this lead.
  3. Click Unlink to confirm. The salesman is removed from the table.

The lead view screen header shows a row of status chips that summarize the lead at a glance. One of these — the Lead Status chip — is calculated automatically from the lead’s pipeline stage and its Won flag, rather than being a field you set directly.

The header can display the following chips, from left to right:

ChipWhen it appears
Grade: XWhen a Quality Grade has been assigned. Shows the grade letter (for example, “Grade: A”).
Do Not DisturbWhen the lead’s Do Not Disturb flag is set.
WonWhen the lead is marked Won (the Won / isConverted flag is set).
Lead StatusAlways shown. Calculated automatically — see below.

The automatic Lead Status chip is derived as follows:

StatusMeaning
ClosedThe lead is marked Won and is on the last pipeline stage (the stage with the highest sequence number).
LostThe lead is on the last pipeline stage but is not marked Won.
In ProgressThe lead is on any earlier stage.

Navigation: CRM → Manage Leads → open a lead → Linked Records tab

The Linked Records tab lists the work orders, sales invoices, and job contracts currently associated with the lead. Each row shows the record’s type, ID (a clickable link that opens the record in a new tab), and a short description. You can link and unlink records directly from this tab without editing the lead.

ColumnDescription
TypeWhether the record is a Work Order, Sales Invoice, or Job Contract
IDThe record’s human-readable ID; click to open the record in a new browser tab
DescriptionA summary of the record (for example, the service type and amount for a work order, or the contract amount for a job contract)

Click the + (Link Records) button in the table’s header to open the Link Lead Record dialog. The dialog offers three multi-select fields — Work Orders, Invoices, and Job Contracts — each listing only records that belong to the lead’s customer and that share the lead’s site, and that are not already linked to this lead.

  1. On the Linked Records tab, click the + button in the table header.

  2. In the Link Lead Record dialog, use the Work Orders, Invoices, and Job Contracts fields to select one or more records to associate with the lead.

  3. Click Link to save. The newly linked records appear in the table. To close without linking, click Cancel.

Each row in the Linked Records table has an Unlink Record button. Click it and confirm to remove that record’s association with the lead. The record itself is not deleted — only the link is removed.

Navigation: CRM → Manage Proposals

A proposal is a formal quote or scope of work presented to a customer. Proposals are built from templates and can contain multiple options for the customer to choose from. Each option has detailed line items for labor, materials, flat rates, and other charges. When a proposal is approved, it can be converted directly into a work order.

The Search Proposals screen lists all proposals. A Latest Revisions Only toggle switch filters the list to show only the most recent revision of each proposal, which is useful for day-to-day work. Turn it off to see all revisions.

Result columns:

  • Proposal ID
  • Customer ID
  • Billing Name (Customer Name)
  • Billing Address
  • Site Name
  • Site Address
  • Status
  • Revision

Click any row to open the proposal view. Use the edit icon to revise the proposal, or the delete icon to remove it (not available if the proposal has been converted to a work order). Use the + icon to create a new proposal.

Proposal Status Values

StatusMeaning
DraftCreated but not yet sent to the customer
SubmittedSent to the customer for review
PendingAwaiting customer decision
ApprovedCustomer has agreed to the proposal
RejectedCustomer declined the proposal
WithdrawnProposal was recalled before a decision

Navigate to Manage Proposals → Create or click + on the search screen.

Header Fields

FieldDescriptionRequired
CustomerThe customer this proposal is forYes
SiteThe site address the proposal coversYes
Source AppointmentAn optional appointment record that sourced this proposalNo
Service ContractAn optional existing service contract at the selected site to associate with this proposal. The dropdown lists the service contracts on file for the chosen SiteNo
Proposal TemplateThe template to base this proposal on; selecting a template automatically populates the options and line itemsYes
Conversion TypeInherited from the selected Proposal Template; determines whether this proposal, if approved, will convert to a Work OrderRead-only
Revise on EditControls whether later edits to this proposal create a new revision instead of overwriting it. Defaults to the Revise on Edit setting of the selected template, but you can override it here. Only editable while creating the proposal — once saved it becomes read-onlyNo
Static PricingFreezes the proposal’s prices so they are not re-quoted while the freeze is active. When checked, a Static Until Date is requiredNo
Static Until DateThe date through which prices are frozen. Required when Static Pricing is checked; clearing the Static Pricing checkbox clears this dateConditional

The Revise on Edit setting is captured on the proposal itself when it is created, and it is what governs the revision behavior described under Editing a Proposal below — not the template’s current setting. The template only supplies the default at create time, so changing the template’s Revise on Edit setting afterward does not change how an already-created proposal behaves. Because the checkbox is disabled after the proposal is saved, this choice is fixed for the life of the proposal at the moment you create it.

Service Contract Use the Service Contract field on the General tab to link the proposal to a service contract already on file for the selected site. The list is loaded from the chosen Site, so you must select the Customer and Site first; changing the site clears and reloads the available contracts. Each contract is shown as its contract number, contract type, and effective-through-expiration date range. The field is optional and may be left blank. On the View Proposal screen the linked Service Contract is displayed and acts as a link that opens that service contract (in a new tab) for quick reference.

Proposal Options

After selecting a template, the proposal displays one or more options — different scopes of work or price tiers that the customer can choose from. Each option shows:

  • Name and color-coded indicator
  • Description
  • Breakdown of Labor, Material, Other, and Additional charges
  • Total sale amount
  • Number of workers required

Options can be marked as Approved to indicate the customer’s selection.

Line Items (per Option)

Each option contains a grid of line items. A new blank row is added automatically as you fill in the last row; click the trash icon on a row to remove it.

ColumnDescription
Line Item TypeThe type of charge: Labor Sell, Material, Flat Rate, Dynamic Charge, Contract Sale, Flat Rate Labor Sell, Flat Rate Material Sell, Quote, Labor Cost, or Subs
DescriptionDescription of the line item
QuantityNumber of units
Unit of MeasureThe unit (each, hour, linear foot, etc.)
Unit SellSelling price per unit
Extended SellQuantity × Unit Sell (calculated)
Unit CostCost per unit
Extended CostQuantity × Unit Cost (calculated)
Discount AmountDiscount applied to this line
Total SellExtended Sell minus Discount
Cost CenterInternal cost center for this line
TaxableCheck if this line item is subject to sales tax
Show on ProposalCheck if this line should appear on the customer-facing proposal document
Only EstimateCheck if this line is an estimate and not a firm price

Financial Summary (per Option)

Automatically calculated totals displayed below each option’s line items:

  • Labor
  • Material
  • Other
  • Subtotal
  • Addtl Charges
  • Total
  • Workers

The proposal-level totals (below all options) show Labor Sale Total, Material Sale Total, Other Sale Total, Subtotal, Discount / Discount %, Tax Total, Additional Charges, and Sale Total.

Notes Free-text notes to include on the proposal.

Attachments Files to attach to the proposal record.

Static Pricing

Use Static Pricing to lock in a proposal’s pricing for a period of time. Check the Static Pricing box and enter a Static Until Date; the date is required whenever Static Pricing is checked, and unchecking the box clears the date. While the Static Until Date is still in the future, the Update Prices action is disabled, so the proposal’s line items will not be re-priced even if underlying rates change. Once the Static Until Date has passed, prices are no longer frozen and Update Prices becomes available again.

Click Save (or Create on a new proposal) to save the proposal. It is saved with whatever Status is currently selected (for example, Draft or Submitted) — saving does not force the status to Draft.

When the proposal template has revision-on-edit enabled, changing key financial fields (the template, approved option, discount code, sales-tax jurisdiction, or total sale amount) creates a new revision rather than overwriting the previous version. This preserves a complete history of changes, and the revision number increments automatically. Click Save — the new revision is created server-side; there is no separate Save Revision button.

From an existing proposal you can also:

  • Change Status — Edit the proposal and select a new value in the Status dropdown (Approved, Draft, Pending, Rejected, Submitted, or Withdrawn). There is no dedicated Change Status action, and any status may be selected — transitions are not enforced.
  • Convert to Work Order — Converts the proposal into a work order. Enabled when the proposal has not already been converted, its conversion type is Work Order (inherited from the proposal template), and you have permission to create work orders. The approved option’s line items are carried into the work order.
  • Update Prices — Recomputes the proposal’s line-item pricing from current rates. Available only when editing an existing proposal. It is disabled while Static Pricing is in effect — that is, when Static Pricing is checked and the Static Until Date is still in the future — so a frozen proposal keeps its locked prices until that date passes.

Navigation: CRM → Manage Proposals → open an existing proposal → Update Prices

The proposal editor includes an Update Prices button (next to Save) that re-prices every line item on the proposal against current pricing. Use it after pricing-relevant data has changed — for example when underlying rates, materials, or special pricing have been updated — to refresh the calculated amounts without re-entering each line by hand.

When you click Update Prices, the proposal recalculates each line item according to its type:

Line item typeWhat is recalculated
Flat RateFlat-rate sell and cost amounts
Labor CostExtended cost from quantity × the employee’s hourly pay rate
Labor SellSell price, applying any effective (discounted) rate, plus extended and total sell
MaterialMaterial sell and cost amounts
Misc / QuoteExtended sell from quantity × unit sell, less the line discount
SubsExtended cost from quantity × unit cost

Child line items also have their Show on Proposal and Only Estimate settings re-synced from their parent (material lines follow the parent’s Show-on-Proposal setting; other child types are hidden from the customer-facing proposal). After recalculation, the option and proposal totals are refreshed automatically.

Recalculation also runs on its own whenever you change a pricing-relevant field on a line item, so Update Prices is mainly useful for forcing a full refresh of an already-saved proposal.

The recalculated values are not stored until you click Save.

The view screen displays the proposal in read-only format with the following tabs:

  • Options — All options with their line items and financial totals
  • Revisions — Full audit trail of all revisions
  • Attachments — Files and documents attached to this proposal

The header shows ID, status, revision number, customer, site, conversion status with links to the converted work order (if applicable), and the Static Pricing flag with its Static Until date.


A discount can be applied to the proposal as a whole from the proposal-level financial summary (below all options). There are two ways to enter the discount, and they are mutually exclusive: you either select a predefined Discount Code, or you enter a manual Discount amount or Discount % by hand.

Navigation: CRM → Manage Proposals → (create or edit a proposal) → proposal-level totals

FieldDescription
Discount CodeAutocomplete that selects a predefined discount code. Options are labeled as code - description. A code carries a fixed value that is applied either as a percentage or as a dollar amount.
DiscountA manually entered flat dollar discount applied to the proposal.
Discount %A manually entered percentage discount, displayed with a trailing % and two decimal places.

How the three fields interact

  1. Selecting a Discount Code fills in the discount for you. If the code is a percentage code, its value is placed in Discount % and the Discount amount is set to 0. If the code is a flat-amount code, its value is placed in Discount and Discount % is set to 0.

  2. While a Discount Code is selected, the Discount and Discount % fields are disabled, so they cannot be edited by hand. Clear the Discount Code first if you want to enter a discount manually.

  3. Entering a manual Discount amount clears Discount % back to 0, and entering a manual Discount % clears the Discount amount back to 0 — only one of the two can hold a value at a time.

  4. Clearing the Discount Code resets both Discount and Discount % to 0.

After a discount entry is changed, the proposal totals recalculate automatically.

On the View Proposal screen, the applied discount is shown read-only as Discount Code, Discount %, and Discount Amount.

The Tax Total shown in the proposal-level financial summary is driven by the Sales Tax Jurisdiction selector. Selecting a jurisdiction applies that jurisdiction’s tax rate to the taxable portion of the proposal and recalculates the tax automatically.

Sales Tax Jurisdiction is a searchable dropdown. Each jurisdiction is listed by its description followed by its tax rate (for example, City of Austin - 8.25000%), and the list is sorted alphabetically by description. The field is optional; if no jurisdiction is selected, the tax rate is treated as 0% and the Tax Total is $0.00.

Tax Total is a read-only field. You cannot type into it — its value is always recalculated from the selected jurisdiction and the proposal’s taxable line items.

  1. In the proposal’s financial summary, open the Sales Tax Jurisdiction dropdown and select a jurisdiction (or clear it to remove tax).

  2. The Tax Total field recalculates as soon as you leave the Sales Tax Jurisdiction field. It equals the taxable subtotal multiplied by the jurisdiction’s tax rate, rounded to the cent.

  3. The recalculated tax flows into the Sale Total (Subtotal + Tax Total − Discount).

  4. Click Save (or Create) to store the selected jurisdiction and the calculated Tax Total on the proposal.

Only line items marked Taxable contribute to the taxable subtotal. Any discount is allocated across the line items first, and tax is then applied to the discounted, taxable amounts — so changing the discount or a line item’s Taxable checkbox also changes the Tax Total.

When you view a saved proposal, this information is shown read-only as Sales Tax Juris (the jurisdiction and its rate) and Total Tax Amount (the calculated tax).

When you choose a Line Item Type, the row expands to reveal a configuration panel specific to that type. The panel lets you tie the line item to the underlying record (a flat rate, charge, labor rate, product, or contract type) that drives its pricing. The panel appears for the Flat Rate, Dynamic Charge, Labor Sell, Material, and Contract Sale types. The Quote, Flat Rate Labor Sell, Flat Rate Material Sell, and Misc types have no detail panel.

Flat Rate

Search for and select a flat rate, then set the pricing flags that apply.

FieldDescription
Flat RateSearch for a flat rate to attach to this line. Selecting one populates the line’s pricing.
PrimaryMarks this as the primary flat rate.
PreferredUses the flat rate’s preferred pricing.
After HoursUses the flat rate’s after-hours pricing.
WarrantyMarks the flat rate as warranty work.

Changing the flat rate or any of these flags re-prices the line.

Dynamic Charge

FieldDescription
Dynamic ChargeSelect an active dynamic charge to apply to this line.
FormulaRead-only. Displays the formula defined on the selected dynamic charge.

Labor Sell

FieldDescription
Labor RateSelect the labor rate that prices this line.
Hourly RateRead-only. The hourly rate of the selected labor rate.
DefaultRead-only. Indicates whether the selected labor rate is the default rate.

Material

FieldDescription
ProductSearch for and select a product. Selecting one sets the line’s description and pricing.

Contract Sale

A Contract Sale line item carries a contract type, an amount, and an optional sub-grid of contract options.

FieldDescription
Contract TypeSelect the service contract type. Selecting one sets the amount to the contract type’s default price and updates the line description.
AmountThe sale amount for the contract. Editable until you add one or more contract options, after which it is driven by the options sub-grid.

The Contract Options sub-grid lets you break the contract into individual options:

ColumnDescription
Contract OptionSelect a contract option.
QuantityWhole-number quantity for the option.
AmountRead-only. The calculated amount for the option.
Is PercentRead-only. Indicates whether the selected contract option is a percentage.

Use the + button in the sub-grid header to add a contract option row, and the trash icon on a row to remove it.

Navigation: CRM → Manage Proposals → click a proposal row to open View ProposalActions button (top right of the proposal header).

The conversion and maintenance actions for a proposal live on the Actions menu of the View Proposal screen — there is no separate inline “Convert” button. The menu offers:

ActionWhat it doesWhen it is available
Convert to Work OrderOpens the Work Order create screen with a new work order seeded from this proposal (customer, site, and the proposal’s line items are carried in).The proposal’s Conversion Type is Work Order, the proposal has not already been converted, and you have Work Order create permission.
Edit ProposalOpens the proposal in edit mode.You have Proposal update permission and the proposal has not already been converted.
Delete ProposalPrompts to delete the proposal.You have Proposal delete permission and the proposal has not already been converted.
Audit ProposalOpens the change-history (audit) screen for this proposal.Always available.

Navigation: CRM → Manage Proposals → open a proposal → ActionsAudit Proposal.

The audit screen lists every recorded change to the proposal over a date range. By default it shows changes from the past month up to now; adjust the Start Date/Time and End Date/Time fields and click Search to widen or narrow the window.

Each row in the audit table shows:

ColumnDescription
TimestampDate and time the change was recorded.
UserThe user who made the change.
DescriptionA summary of the change.

Expand a row to see the individual fields that changed, each with its Old Value and New Value (old values are shown in red, new values in green, and empty values appear as (empty)).

Navigation: CRM → Manage Proposal Templates

Proposal templates define the reusable structure for proposals — the options available and the standard line items within each option. When a user creates a proposal and selects a template, the template’s options and line items are copied into the new proposal, which can then be customized.

The Search Proposal Templates screen lists all templates with their name, conversion type (Work Order; Job is planned but not yet available), and proposal type. Click the edit icon to edit, the delete icon to remove, or the + icon to create a new template.

Navigate to Manage Proposal Templates → Create or click + on the search screen.

Template Header

FieldDescriptionRequired
NameA descriptive name for the template (displayed when selecting a template on proposals)Yes
Conversion TypeWhether proposals using this template will convert to a Work Order. (Job conversion is planned but not yet available.)Yes
Proposal TypeEither Additive or Progressive — controls how the template’s options are presented and approvedYes
Should Revise on EditIf checked, editing a proposal that uses this template will automatically create a new revisionNo

Template Options

Add one or more options to the template. Each option represents a different scope or price level a customer can choose.

FieldDescriptionRequired
NameOption name (e.g., “Basic”, “Standard”, “Premium”)Yes
DescriptionBrief description of what this option includesYes
ColorA color indicator for visual differentiation in the UINo
Default Workers RequiredThe default number of workers needed to fulfill this optionYes
Sort OrderControls the display order of optionsYes

Template Line Items

Each option can have its own default line items. The fields mirror those in the proposal line items grid:

  • Line Item Type (Labor Sell, Material, Flat Rate, Dynamic Charge, Contract Sale, Flat Rate Labor Sell, Flat Rate Material Sell, Misc)
  • Description
  • Quantity
  • UOM
  • Unit Sell, Unit Cost
  • Show On Proposal, Only Estimate

These line items are copied into any proposal created from this template, and can be modified on a per-proposal basis.

Click Create to save a new template (the button reads Save when you are editing an existing template).

Click the edit icon on the search screen or the Edit button on the view screen. All template fields, options, and line items are editable. Changes to a template do not retroactively affect existing proposals that were created from it — only new proposals will receive the updated defaults.


The Proposal Type set on a template (Additive or Progressive) controls how a customer’s option selections are recorded when the proposal is later worked, specifically what happens when you mark an option as Approved.

Proposal TypeApproval behavior
AdditiveMarking an option as Approved does not affect the other options. You can mark more than one option as Approved at the same time.
ProgressiveApproval is limited to a single option. Marking one option as Approved automatically sets it as the proposal’s approved option and clears the approved flag from every other option; the remaining option checkboxes are then disabled so only the chosen option stays approved.

With a Progressive template, the moment you check an option’s Approved box that option becomes the sole approved option and the other options’ Approved checkboxes are greyed out. To switch to a different option, uncheck the currently approved one first.

With an Additive template, the Approved checkboxes act independently — checking one never disables or unchecks the others.

The communications table appears embedded within lead, work order, appointment, vendor, and other screens throughout the system. It provides a centralized log of every interaction with a customer or vendor.

Click the + button in the communications table to open the Create Communication dialog.

Fields

FieldDescriptionRequired
Occurred AtThe date and time the communication took placeYes
Communication TypeThe type of interaction (e.g., Phone Call, Email, Text)No
Communication StatusThe outcome or status of the communication (e.g., Reached, Left Voicemail)No
PriorityImportance level: Lowest, Low, Medium, High, HighestNo
DirectionWhether the communication was Inbound (customer contacted you) or Outbound (you contacted customer)No
Resulting SentimentThe tone of the interaction: Negative, Neutral, or PositiveNo
Requested DocumentationCheck if the customer requested documents during this communicationNo
Followup RequiredCheck if a follow-up action is neededNo
Followup Date/TimeWhen the follow-up should happen (required if Followup Required is checked)If Followup
Followup UserThe user responsible for the follow-upIf Followup
NotesDetailed notes about the conversationNo

The communication is automatically linked to context it was opened from (e.g., if opened from a lead, it is linked to that lead). You can also manually link to related records:

FieldDescription
Work OrderLink to a specific work order
JobLink to a specific job
AppointmentLink to a specific appointment
Appointment ConfirmationLink to a specific confirmation (when selected, auto-fills Occurred At and Communication Type)
LeadLink to a specific lead

The table shows all communications in reverse chronological order. Expand any row to see the full notes. Columns include:

  • Occurred At
  • User (who logged it)
  • Type, Direction, Status, Priority, Resulting Sentiment
  • Requested Documentation, Followup Required, Followup Time, Followup User
  • Linked Service Contract, Work Order, Job, Appointment, Apt Confirmation, Lead
  • Edit and Delete action buttons (subject to permissions)

Navigation: CRM → CRM Settings

CRM Settings is the administrative configuration screen. Only users with the CRM settings update permission can change the global settings. Reference data (statuses, types, stages, etc.) can be managed by any user with the appropriate create/update/delete permissions for those specific items.

These settings save automatically when you leave a field.

FieldDescriptionRequired
Default Phone Call Communication TypeThe communication type automatically selected when logging a communication linked to a phone call appointment confirmationYes
Default Text Communication TypeAutomatically selected when logging a communication linked to a text appointment confirmationYes
Default Email Communication TypeAutomatically selected when logging a communication linked to an email appointment confirmationYes
Proposal Lead ValueDetermines how the Proposal Value on a lead is calculated from linked proposals: Avg (average), Max (highest), or Min (lowest)Yes

The lower section contains tabs for managing all lookup tables used in the CRM module.

Statuses represent the outcome or current state of a communication (e.g., Reached, Left Voicemail, No Answer, Completed).

FieldDescriptionRequired
NameStatus name displayed in the communication formYes

Types classify the channel or method of communication (e.g., Phone Call, Email, Text, In-Person Meeting, Video Call).

FieldDescriptionRequired
NameType name displayed in the communication formYes

Departments allow leads to be categorized by the internal department or business line responsible for them.

FieldDescriptionRequired
NameDepartment nameYes

Departments have no ordering control; they are listed alphabetically by name.

Stages define the steps in your sales pipeline. Every lead progresses (or regresses) through these stages, and the pipeline funnel chart on the dashboard visualizes the count of leads at each stage.

FieldDescriptionRequired
NameStage name (e.g., “Prospect”, “Contacted”, “Qualified”, “Proposal Sent”, “Won”)Yes
Sequence NumberThe order of the stage in the pipelineAuto-calculated

Stages can be reordered by dragging and dropping rows in the table. The sequence number updates automatically.

Sources identify how a lead was acquired (e.g., Website, Referral, Trade Show, Cold Call, Google Ad).

FieldDescriptionRequired
NameSource name displayed in the lead formYes

When a lead is marked as unqualified or lost, the user selects a reason. These reasons are tracked in the dashboard’s Unqualified Leads pie chart to identify patterns.

FieldDescriptionRequired
ReasonThe reason text (e.g., “Budget too low”, “Wrong timing”, “Went with competitor”)Yes

Access to each screen and action is controlled by role-based permissions. If a button is grayed out or unavailable, your user account may not have the required permission.

ActionPermission Required
View leadsLead – Read
Create leadsLead – Create
Edit leads / link recordsLead – Update
Delete leadsLead – Delete
View proposalsProposal – Read
Create proposalsProposal – Create
Edit / revise proposalsProposal – Update
Delete proposalsProposal – Delete
View proposal templatesProposal Template – Read
Create / edit templatesProposal Template – Create / Update
Delete templatesProposal Template – Delete
Log communicationsCommunication – Create
Edit communicationsCommunication – Update
Delete communicationsCommunication – Delete
Edit global CRM settingsCRM Settings – Update
Manage communication statuses/typesCommunication Status/Type – Create/Update/Delete
Manage lead stages/sources/departmentsLead Stage/Source/Department – Create/Update/Delete

Example 1: Lead Through Proposal to Work Order Conversion

Section titled “Example 1: Lead Through Proposal to Work Order Conversion”

Scenario: Riverside Medical Center contacts Precision Mechanical about replacing their rooftop HVAC units. Jeff Allen (Salesman) manages the opportunity from first contact through work order creation.

Step 1 — Create the lead:

  1. Jeff navigates to CRM → Manage Leads and clicks +.
  2. Customer = Riverside Medical Center, Site = 200 Health Center Blvd.
  3. Stage = Prospect, Quality Grade = A, Potential Value = $52,000.
  4. Source = Referral, Department = HVAC.
  5. Salesmen = Jeff Allen.
  6. Notes = “Facility manager Dr. Patel requested evaluation of 4 aging RTUs on the main building.”
  7. Click Create. Lead L-820 is created.

Step 2 — Log communications and advance the stage:

  1. Jeff calls Dr. Patel. On the Communications tab, he clicks +:
    • Occurred At = 02/03/2026, 2:15 PM, Type = Phone Call, Status = Reached, Direction = Outbound
    • Sentiment = Positive, Notes = “Dr. Patel confirmed budget approval for Q2. Wants proposal by Feb 15.”
    • Followup Required = ✓, Followup Date = 02/10/2026, Followup User = Jeff Allen
  2. Jeff clicks the Contacted stage on the progress bar → status advances from Prospect to Contacted.
  3. After site visit: clicks Qualified on the progress bar.

Step 3 — Create a proposal:

  1. Navigate to CRM → Manage Proposals and click +.
  2. Customer = Riverside Medical Center, Site = 200 Health Center Blvd.
  3. Template = HVAC Replacement, Conversion Type = Work Order.
  4. The template populates two options:

Option A — Standard Replacement ($48,000):

Line Item TypeDescriptionQtyUnit SellExtended Sell
MaterialCarrier 48TC 5-ton RTU4$6,200$24,800
Labor SellInstallation Labor120 hrs$108/hr$12,960
MaterialDuctwork Modifications1$5,240$5,240
Dynamic ChargeCrane Rental1$5,000$5,000
Total$48,000

Option B — Premium Replacement ($52,000): Same as Option A but with higher-efficiency units at $7,200 each and extended warranty.

  1. Click Save as Draft.

Step 4 — Submit and convert:

  1. Jeff reviews with Tom (Service Manager), then changes the status to Submitted.
  2. Advances lead stage to Proposal Sent.
  3. Dr. Patel accepts Option B. Jeff changes the proposal status to Approved, marks Option B as Approved.
  4. Advances lead stage to Won and checks Won on the lead.
  5. Clicks Convert. A new work order WO-2250 is created with all Option B line items.

Result: Lead L-820 shows: Proposal Value = $52,000 (auto-calculated from the linked proposal) and Status = Won (because Jeff manually checked Won in Step 4). Converting a proposal links the new work order and refreshes the lead’s Actual Value, but it does not automatically mark the lead Won — that remains a separate manual step. WO-2250 is ready for scheduling.


Example 2: Pipeline Management and Lost Leads

Section titled “Example 2: Pipeline Management and Lost Leads”

Scenario: Jeff Allen reviews his pipeline during the weekly sales meeting, analyzing the funnel and addressing stalled leads.

Step 1 — Review the CRM Dashboard:

  1. Navigate to CRM → Dashboard, set date range to last 90 days.

  2. Lead Stage Drop-Off Funnel shows:

    • Prospect: 45 leads
    • Contacted: 38 leads (16% drop-off)
    • Qualified: 22 leads (42% drop-off — significant)
    • Proposal Sent: 18 leads
    • Negotiation: 10 leads
    • Won: 7 leads
  3. Key insight: The biggest drop-off is Contacted → Qualified (42%). Jeff investigates.

  4. Leads by Campaign shows:

    • Website: 18 leads, 3 won ($45,000)
    • Referral: 12 leads, 3 won ($89,000) — highest value per lead
    • Trade Show: 15 leads, 1 won ($12,000) — lowest conversion
  5. Unqualified Leads by Reason:

    • “Budget too low”: 8 leads (35%)
    • “Went with competitor”: 6 leads (26%)
    • “Wrong timing”: 5 leads (22%)
    • “No response”: 4 leads (17%)

Step 2 — Address stalled leads:

  1. Jeff filters the lead list by Stage = Contacted to find the 16 leads that haven’t moved.
  2. Opens Lead L-795 (Metro Restaurant Group) — last communication was 3 weeks ago.
  3. Logs a new follow-up call. Status = Left Voicemail. Sets Followup Date = next Tuesday.
  4. Opens Lead L-801 (Bayview Hotel) — notes say “budget not approved until July.”
  5. Updates stage to Qualified with Quality Grade = C, adds note: “Follow up in July.”

Example 3: Multi-Revision Proposal with Template

Section titled “Example 3: Multi-Revision Proposal with Template”

Scenario: Davis Property Management wants HVAC maintenance for 3 buildings. Jeff creates a proposal, Davis requests changes, and Jeff submits a revised version.

Step 1 — Create initial proposal (Revision 1):

  1. Navigate to Manage Proposals → Create.
  2. Customer = Davis Property Management, Site = Davis Office Complex — 500 Commerce Dr.
  3. Template = Multi-Building Maintenance, Conversion Type = Work Order.
  4. Template populates with a single option. Jeff adjusts:
    • 3 buildings × quarterly checkups = 12 visits/year
    • Labor: 12 visits × 3 hrs × $95/hr = $3,420
    • Materials: $1,200 estimated (filters/belts)
    • Total: $4,620/year
  5. Click Save (Draft). Proposal P-310, Revision 1.

Step 2 — Submit and get feedback:

  1. Jeff changes the status to Submitted.
  2. Davis replies: “Can you add after-hours emergency coverage and reduce to semi-annual visits?”

Step 3 — Create Revision 2:

  1. Jeff opens P-310 and clicks Edit. (Because this template has Revise on Edit enabled and Jeff changes financial fields, the system will create Revision 2 when he saves — not on opening the editor.)
  2. Changes:
    • Reduce visits from 12 to 6 (semi-annual)
    • Add a new line: “After-Hours Emergency Coverage — $1,800/year” (Dynamic Charge)
    • Revised labor: 6 visits × 3 hrs × $95/hr = $1,710
    • Materials: $600 (reduced visits)
    • New Total: $4,110/year
  3. Click Save Revision.

Step 4 — Davis accepts Revision 2:

  1. Jeff changes Revision 2 status to Submitted.
  2. Davis accepts. Jeff changes the status to Approved, then clicks Convert to create the work order.

Proposal history preserved:

RevisionStatusTotalKey Differences
Rev 1Withdrawn$4,62012 quarterly visits, no emergency
Rev 2Approved$4,1106 semi-annual visits + emergency coverage

Rules are grouped by category. Each rule has an ID for cross-referencing.

  • BR-CRM-C1: Approved Option Before Conversion — A proposal can be converted to a Work Order once its Conversion Type is Work Order, it has not already been converted, has at least one option marked Approved, and you have Work Order create permission. The approved option’s line items are carried into the Work Order. There is no check on a proposal-level “status” field before conversion.
  • BR-CRM-C2: Conversion Type Required — Every proposal must have a Conversion Type, inherited from the selected Proposal Template.
  • BR-CRM-C3: Customer and Site Required — Leads and proposals require a customer and site before creation.
  • BR-CRM-A1: Proposal Value Calculation — Proposal Value auto-calculates from linked proposals using the configured method (Avg/Max/Min).
  • BR-CRM-A2: Actual Value from Linked Records — Actual Value auto-calculates from work orders, invoices, and job contract amounts linked to the lead. Cancelled work orders and voided invoices are excluded.
  • BR-CRM-A3: Revision on Edit — When a proposal template has revision-on-edit enabled, editing financial fields creates a new revision automatically; the original is preserved.
  • BR-CRM-A4: Template Population — Selecting a proposal template auto-populates options and line items into the new proposal.
  • BR-CRM-W1: Lead Pipeline — Lead progresses through configured stages: Prospect → Contacted → Qualified → Proposal Sent → Negotiation → Won/Lost.
  • BR-CRM-W2: Proposal Lifecycle — Draft → Submitted → Pending → Approved/Rejected/Withdrawn.
  • BR-CRM-X1: Proposal to Work Order — Approved proposals with Conversion Type = Work Order create WOs in Service with copied customer, site, and line items.
  • BR-CRM-X3: Actual Value Feedback — Invoices, WO revenue, and job contract amounts linked to a lead update the lead’s Actual Value, closing the opportunity-to-revenue loop. Cancelled WOs and voided invoices are excluded.

Q: I can’t convert a proposal — the Convert button is disabled. The Convert to Work Order action is enabled only when the proposal’s Conversion Type is Work Order, it has not already been converted, and you have Work Order create permission (BR-CRM-C1). Check the proposal’s Conversion Type and that it hasn’t already been converted. (Only the option marked Approved has its line items carried into the Work Order, so make sure an option is approved to bring line items across.)

Q: The system requires a Conversion Type but I haven’t set one. Every proposal must have a Conversion Type, which is inherited from the selected Proposal Template (BR-CRM-C2). Select a template with the appropriate conversion type.

Q: I can’t create a lead — “Customer and Site required.” Both customer and site are required fields on leads and proposals (BR-CRM-C3). Search for the customer first (or use inline create for new customers), then select a site address.

Q: I edited a proposal but my changes created a new revision instead of updating the original. This is by design (BR-CRM-A3). When the proposal template has revision-on-edit enabled, editing financial fields creates a new revision to preserve a complete history. The original revision is still accessible. Use the Latest Revisions Only toggle on the search screen to filter out older versions.

Q: The lead’s Proposal Value doesn’t match what I entered on the proposal. Proposal Value auto-calculates from linked proposals using the configured method — Average, Max, or Min (BR-CRM-A1). If multiple proposals are linked to the lead, the value reflects the calculation method, not a single proposal’s total.

Q: A converted work order is missing line items from the proposal. Only the Approved option’s line items are carried over during conversion. Verify that the correct option was marked as approved before converting. If line items are still missing, check whether the option had its line items fully populated.

Q: My pipeline shows a big drop-off at a specific stage. Review the Unqualified Leads by Reason chart on the CRM Dashboard to understand why leads are falling out. Common causes: budget too low, wrong timing, or competitor wins. Use this data to adjust qualification criteria or sales approach.


  1. Navigate to Manage Leads → Create.
  2. Search for and select the customer (or use the inline create option if it’s a new customer).
  3. Select the customer’s site address.
  4. Set the Stage to the appropriate starting point in your pipeline, assign a Quality Grade and Potential Value, and select the Source.
  5. Assign one or more Salesmen.
  6. Click Create to save.
  7. As the opportunity progresses, open the lead in edit mode and click the appropriate stage on the progress bar to advance it, or check Won when the business is confirmed.
  1. Navigate to Manage Proposals → Create.
  2. Select the customer and site address.
  3. Choose a Proposal Template — the options and line items populate automatically.
  4. Review each option’s line items and adjust quantities, prices, and descriptions as needed.
  5. Click Save to save as a Draft.
  6. When ready to send, click Submit to change the status to Submitted.
  7. When the customer responds, update the status to Approved, Rejected, or Withdrawn.
  8. If Approved, click Convert to create the linked work order.
  1. Open the lead, work order, or appointment record.
  2. In the Communications tab, click +.
  3. Set Occurred At to when the call/email/text happened.
  4. Select the Type and Status, and add your Notes.
  5. Check Followup Required, then set the Followup Date/Time and Followup User.
  6. Save the communication.
  7. The follow-up details (Followup Required, Date/Time, User) are stored and displayed on the communication record itself. There is no dashboard, schedule, or notification that surfaces the follow-up to the assigned user — review the communication record directly to act on follow-ups.

Use the CRM Dashboard to monitor pipeline health regularly:

  • The Lead Stage Drop-Off funnel shows where prospects are stalling — if a large number of leads are stuck at a particular stage, investigate and address the bottleneck.
  • Leads by User and Leads by Campaign show which salesmen and channels are producing results.
  • The Proposal $ charts show the dollar value sitting in each proposal status — watch the Submitted and Approved slices for opportunities ready to close.
  • Unqualified Leads by Reason reveals systemic issues (e.g., consistently losing on price).