Deal Offers
The offer editor opens the Deal supplied by the CRM widget or the standalone page's URL and stores one draft offer and linked Qwilr page per Deal. The widget is intended for all CRM staff through one shared integration connection, with no additional roles or Pepperback login. Pepperback authenticates all data requests and retains validation, storage and Qwilr operations; integration credentials are not exposed in the frontend. The widget is installed on the Standard Deal layout for Administrator and Standard profiles. The standalone page retains its report login. Staff cannot switch Deals within the editor. Products come from the CRM catalogue. Saved prices, quantities and billing frequencies belong to the offer; subsequent catalogue changes do not rewrite it. The editor loads the Products linked to an existing draft, or the preset Products for a new MSP offer, before displaying it. The full Product search list loads in the background without replacing the offer or unsaved edits. A failed search-list load can be retried while the current offer remains editable.
Deal Category uses the existing Deal field API name Business_Category. The
six choices are active in CRM, with a required field and blank default. Deployment
and verification evidence is tracked in the release procedure.
| Category | Composition | Initial products | New-line billing default |
|---|---|---|---|
| MSP - New Client | MSP | Plans, Discovery, Onboarding, optional Extra Devices | Monthly |
| MSP - Additional Product / Service | Standard | None | Monthly |
| Tech Project | Tech Project | None | One-off |
| Tech Retainer | Retainer | None | Monthly |
| Hardware | Hardware standard (plain initially) | None | One-off |
| Home | Standard | None | One-off |
The category describes the sale, not the Account's relationship. It selects the design and initial presets, not which Products may be sold or each line's billing. Only MSP - New Client seeds onboarding. Staff identify the existing managed service for an MSP addition; automatic Service linking and validation are later handoff work.
CRM is authoritative on initial load, save and generation. Blank and unknown values
block offer preparation. Legacy MSP and Tech Projects remain readable as
new-client MSP and Tech Project respectively until reviewed migration; they are
not new-deal choices. There is no arbitrary-template override in the editor.
Saved drafts retain their products. If their recorded category differs from CRM, or a legacy draft has no category snapshot, staff must reopen, review products and billing, and explicitly confirm before saving. The next quote update uses the current design and same page ID. A category change after saving blocks generation, even when the last quoted version would otherwise be reused. Previous generated offers remain the source for acceptance mapping until an update succeeds.
Team edits in Qwilr masters reach the integration through a coordinated saved-block release. Generation uses the ordered composition and replaces its complete quote sections with offer Products and choices. No template Product or price is sold by default. Quote-level discounts and tax IDs are explicitly cleared; prices remain exclusive of tax. Staff author named line and section discounts in the editor. Account Name comes from the Deal. Plain layouts contain pricing, neutral acceptance and the shared footer; staff review/add appropriate scope and terms before sharing.
New MSP - New Client offers start with three monthly seat alternatives: L1 (Clarity), L2 (Growth), and L3 (Flow). They share the configured user count, initially 10. Growth starts preselected; Flow starts recommended. These choices are independently configurable. IT Infrastructure Setup uses a Discovery pack and per-user Onboarding, both one-off charges. These use distinct Products from the old Tech Audit and Full Onboarding time scopes. Changing the user count also updates Onboarding quantity. The default section order is plans, IT Infrastructure Setup, then Additional products. The last section starts with Extra Devices optional and initially unselected; staff can add Products, mark lines optional, rename sections or add further sections. Staff can override rates and quantities. Catalogue prices supply the starting rates; Extra Devices uses $25 only when its Product price is blank. Inclusions start from the reference proposal and are edited in Qwilr, not the configurator. Updating the page replaces these edits, so customise wording after pricing updates. Deal Category automatically selects the initial sections for new offers. Saved drafts retain their edits on reopening.
Staff configure commercial terms in the editor and edit surrounding prose in Qwilr. Quote generation occurs only when the operator clicks its button. The first action creates a draft; subsequent changes update that same page. Updating rebuilds the page from saved blocks. Repeated requests for the same saved offer do not generate another document, and uncertain write results must be reconciled before retrying.
Returned selections retain Product and offer-version identities. Unmatched or changed prices are shown for review. The screen displays accepted selections, including preview acceptance for testing; it does not establish invoice amounts, allocate tax/discounts, create invoices, activate Services or update Deal stages.
Product rates, units and discounts
CRM Products own the standard hourly rate, standard daily rate, nonprofit discount percentage and offer default unit. Ordinary Products continue to use Unit Price; Offer Default Unit takes precedence over the existing Usage Unit. No day-length conversion is assumed. The two consulting Products cover role, while each offer line selects Hour or Day and Standard (default) or Nonprofit pricing.
Initial approved rates, in AUD excluding tax:
| Product | Hour | Day | Nonprofit discount |
|---|---|---|---|
| Consulting (existing Product) | 189 | 1,480 | 10% |
| Senior Consultant | 220 | 1,740 | 10% |
Nonprofit pricing keeps the standard rate and applies one named percentage reduction. It replaces the line's manual discount, rather than stacking with it. Switching back to Standard clears that line discount. A configured Hour/Day rate is read-only; Custom rate permits an offer-specific price. Older saved lines expose Hour/Day choices using their linked Product configuration even before a rate snapshot exists. Choosing a unit loads its rate without changing billing frequency; opening the offer alone preserves the existing quoted price. Missing configured rates or nonprofit percentages block saving rather than imply a zero price or discount.
Saved offers snapshot configured rates and nonprofit percentages. Changing a line between Hour and Day uses that snapshot; opening, saving or refreshing the Product search list does not reprice existing lines. Use current Product rates explicitly refreshes the selected line from CRM. Replacing a Product also loads its defaults. Legacy offers keep their manual prices until staff explicitly configure/reprice them.
Line discounts can be fixed amounts or percentages. Fixed amounts reduce the whole line total once, not each unit. Add section discount creates a separate adjustment row for the section, applied after line discounts to selected Products. It maps to a native Qwilr section discount, not a fictitious Product or negative service line. Section discounts require one billing frequency per section. They can deliberately stack with nonprofit line pricing, so staff must review the resulting total.
Percentages must be between 0 and 100. Fixed discounts cannot exceed the charge at the minimum permitted customer quantity. A section's fixed discount must also remain valid if optional Products are removed or the cheapest plan is selected; use a percentage for entirely optional sections. Discount names are included in the Qwilr line/section description, alongside its native discount and total display.
Retrieved selections show the quoted unit and discount. Missing or changed returned discount evidence requires review. Section discounts are not allocated to individual Products for invoicing; the existing acceptance handoff remains a review stage.
Resetting designated test proposals
Only explicitly designated test Deal IDs whose names start with TEST expose
Reset proposal. Renaming a production Deal does not enable reset. The backend
enforces the same restriction independently of the widget.
Reset archives the saved configuration, clears local selections and reloads the current category as a new offer: MSP new-client presets or an empty offer for the other categories. It preserves the Qwilr page ID. The next quote update replaces the contents of that same page; reset itself neither creates nor deletes a Qwilr page. Each reset starts a distinct offer revision, even if the products and prices are identical, so old preview selections cannot match the new test run.
Reset requires confirmation, the current saved version and no uncertain Qwilr request. An existing Qwilr page must be a draft. Use repeatable preview acceptance; reset does not unlock real accepted proposals or undo CRM, project, service or billing changes. Retrieval is blocked until the reset offer is saved and generated. Run preview acceptance again on the rebuilt page before testing its new selections.
Use Prepare a Deal Offer for staff actions and technical setup for implementation details.