SpeedQuote — Help & Training Manual

Everything you need to build, price, send, sign, track and manage a proposal in SpeedQuote — the quoting and contract platform behind Kuiper Technology and Intec Micros. This manual reflects application build V70.21 (18 Aug 2026).

Quote Builder DaaS & leasing Live distributor pricing Deal pipeline Contract Manager E-sign proposals MSA Studio Access groups Multi-tenant / white-label
New in this manual (2026-09-13)

V70 is a large release. If you last used V68, the headline changes are: the old Quote Tracker is now the Pipeline (a deal-centric CRM); there is a brand-new Contract Manager module; permission groups replace the old blunt two-role split; Settings and Admin have merged into one console; and there's a full-screen MSA Studio. See What's new in V70.21.

🚀What SpeedQuote is

SpeedQuote turns a customer conversation into a branded, priced, signable proposal in minutes, then carries the deal through to a signed, live, managed contract. You build a quote from your catalogue (or live distributor pricing), present it as one of several service tiers, send the customer a secure web link, watch it move through the pipeline to signature, and keep the resulting agreement in the Contract Manager — all in one place.

Two sister businesses run on the same platform:

  • Kuiper Technology — direct / end-user B2B. Sells managed IT services and hardware. (Internally Kuiper is the internal tenant; it is shown throughout as "Kuiper".)
  • Intec Micros — the distributor, supplying channel partners (other MSPs) with hardware and DaaS solutions.

Because of that split, the platform is multi-tenant: internal (Kuiper/Intec) users and each channel partner get their own catalogue, branding, quote history, pipeline and white-labelled customer proposals, while inheriting shared master data (templates, rate bands, syndicated products, the global forms library) from the centre.

🔑Signing in & your role

Log in with your username and PIN. A session lasts 12 hours; after that you'll be asked to sign in again. PINs are stored securely (hashed with PBKDF2 and a per-user salt, never in plain text) — nobody, not even a Manager, can read your PIN back.

Forgot your PIN?

Use the reset option on the login screen. A temporary PIN is emailed to your organisation's Managers, who pass it to you securely; log in with it, then have a Manager set a permanent one under the console → People. (For security the system never confirms whether a username exists.)

Two login roles, then finer permissions

Every account still has one of two login roles, which set the coarse baseline:

RoleBaseline
Manager Can reach administrative screens (the console, partner administration where internal), approve quotes, manage users and integrations, and transfer quote ownership.
Sales Builds, prices, saves and sends quotes; by default sees only their own work.

On top of that, permission groups (below) decide exactly what each person can see and do, section by section. Roles are always re-checked server-side on every sensitive action — editing your browser to "become" a Manager won't work, because the API rejects it.

Permissions & access groups

SpeedQuote controls access through permission groups — named sets of rights that you assign users to. Effective permissions are the union of every group a user belongs to, so adding someone to a more-powerful group only ever grants more, never less. Groups are managed per tenant under the console → People (and, for partners, whatever their own Managers are allowed to self-manage).

The starter groups

GroupWhat it's for
Owners protectedFull access to everything. This group can never be emptied — the last Owner cannot be removed — so a tenant can never lock itself out.
ManagersFull access by default; editable.
SalesA scoped-down default: build and quote on their own work, read the catalogue, no reports/financials/admin, costs hidden. Editable.

You can also create your own custom groups.

How a group is defined

Each group sets, for every section of the app, a scope and a few action flags (create / edit / delete / export). The sections are: Builder, Pipeline, Products, Renewals, Contracts, Reports, Financials, Admin and Settings. Scope is one of:

  • None — the section is hidden and the API refuses it.
  • Own — the person sees only records they own/authored (e.g. their own quotes, their own contracts and deals).
  • All — the whole tenant's records.

Alongside the sections are four capabilities that gate specific powers regardless of section scope:

CapabilityGrants
See costsView buy prices and true margins (otherwise cost columns are hidden).
Send for signatureIssue a customer signing link.
Manage customersCreate/assign customers and assign signed quotes to them in the Contract Manager.
Reassign ownersChange the owner of a quote, contract or deal (act beyond your own records under an "own" scope).
Changes apply fast, no re-login

Permissions are resolved from the server on each request with a short (~60-second) cache, so editing a group takes effect for its members within about a minute — no sign-out needed. Revoking access is near-immediate.

Pipeline visibility follows the Pipeline scope

Whether a user sees every quote in the tenant or only their own is now decided by their Pipeline section scope (all vs own), enforced server-side — not merely hidden in the UI. Sales users default to "own".

🧭The workspace

The left sidebar is your main navigation. Click the wordmark any time to jump back to the Builder. Which items you see depends on your permissions.

TabWhat it's for
🧱 BuilderBuild and price a proposal. Your home screen.
📦 ProductsYour Product Inventory — the catalogue of products & services, rate-band tags, upgrades, add-ons and syndication.
📊 PipelineEvery deal and quote — the Board, the Quotes tracker, Forecast and Won/Lost. (This is where the old "Quote Tracker" now lives.)
🔄 RenewalsSigned contracts approaching their renewal date.
📄 Contract ManagerThe active contract register: customers, contracts, usage matrix and P&L reports.
🛡 Admin Internal · ManagerPartner administration. Hidden unless your account can use it.
⚙ SettingsThe unified console — business defaults, templates, branding, people, integrations, MSA and data.

Along the top you'll find a Customer View toggle (hides margins & discounts so you can share your screen safely), the build badge, and Log Out. The ❓ Help button (top-right of the Builder) opens this manual in a new tab.

Shortcuts, autosave & validation

Global keyboard shortcuts & the command palette are OFF

SpeedQuote is fully mouse- and touch-driven. App-wide keyboard shortcuts and the Ctrl+K command palette were removed at user request and remain disabled in V70.21 — the global key handler is switched off in code, so Ctrl+K, Ctrl+S, the G-then-key jumps, ? and Esc do nothing on the main screens. Every action has a visible on-screen button — use those. (The one exception is MSA Studio, which while open supports Esc to close and Ctrl+S to save.)

Automatic draft autosave

You don't have to remember to save. Once a quote has a quote number, the Builder autosaves the draft to the cloud a few seconds after you stop typing. A small status pill at the top of the workspace shows where you stand: Ready, Unsaved changes, Saving… and Draft autosaved (or Autosave failed if the network dropped). The manual Save Quote button still works exactly as before — it shows a dot (Save Quote ●) and an amber edge for unsaved edits, and the browser warns you before you leave a quote with unsaved changes. Treat autosave as a safety net, not a replacement for pressing Save when you're done.

“Before sending” validation

The Builder runs a light sanity check as you work and, if something obvious is missing, shows an amber ⚠ Before sending banner above the quote. It flags a missing client name, a missing quote number, and a quote with no products on it. Each warning is a clickable link that jumps you to the field to fix (or opens the catalogue). It's a soft warning — it doesn't block you — but it stops an obviously incomplete quote reaching a customer.

A server-side safety net too

The cloud refuses a save that would destroy existing data — for example wiping all products, all templates or the active MSA body — which usually means a browser that never finished loading. If you ever see a "refused: this save would destroy existing data" message, reload the app and check you're signed in before trying again.

🧱Quote Builder

Start a quote by filling in the customer details and the number of User Seats. Seats drive per-user pricing across the whole quote, and any product set to "sync with seats" updates automatically when you change this number. Pick a Contract Term and, if you use them, a Quote Template from the header.

  1. Enter the customer/company name and seat count.
  2. Add line items — from your catalogue, as blank custom lines, or via live distributor Price Check.
  3. Group lines with Headings to structure the quote (e.g. "Hardware", "Managed Services").
  4. Set the contract term and review the financial summary on the right.
  5. Save the quote, then use Output to send or print it.

The Builder toolbar

  • + Add Item / + Heading — a blank line or a section divider.
  • Browse Catalogue — pick from your saved products and services.
  • 🔎 Price Check — compare live cost/stock across your connected distributors.
  • 📋 Devices — the DaaS device list for this quote; the count shows on the button.
  • 🎨 Quote Logo — set a per-quote customer or partner logo without changing your master branding.
  • 🕑 Versions — review and restore earlier saved snapshots of this quote.
  • Save Quote — writes everything (lines, devices, logo, tier and section choices) into the quote; a draft also autosaves in the background once the quote has a number (see Autosave).
  • 🖨 Output ▼ — send, print, export or preview (see Output).
  • Convert to Order — where enabled, turns the signed/agreed quote into an order document.

Client & contract details

Below the main header, the + Client & contract details expander holds fields that end up on the proposal and the contract:

  • Service Commencement — the date the managed service / lease starts; flows onto the proposal and into the MSA (the {{COMMENCEMENT}} merge token) and is used by the Contract Manager to compute a contract's end date.
  • Quote Valid Until — an expiry date. After it passes the quote shows as EXPIRED in the Pipeline and the customer's web proposal carries an expiry warning; within seven days an amber countdown hint appears. Blank = no expiry.
  • Customer Registered Address and Company Reg. No. — legal details for the contract.

Quote Notes / Overview

A free-text box for a short introduction or scope note shown to the customer on the proposal.

Channel Partner & co-branding

On channel deals the header exposes a Channel Partner block (partner name, company number, registered address) so the proposal can be co-branded with the partner. How the partner is represented on the contract is set by the Contract in the partner's name option — see Managed Services Agreement.

Line items & the catalogue

Three ways to add a line: + Add Item (a blank line), + Heading (a section divider) and Browse Catalogue. Reorder and structure lines with the row controls: ▲ / ▼ move a line, the ⋮⋮ drag handle drags it to a new position, the indent arrows tuck a line under a heading, and Duplicate line (right-click a line) clones it.

Favourites & recently used

In Browse Catalogue, click the ★ on a product to pin it (click again to unpin). Pinned products appear in a ★ Pinned favourites row, and your most-recently used products show under a 🕑 Recently used row. Filter the catalogue by manufacturer and by supplier / vendor to narrow a big list fast.

Line flags, upgrade options & add-ons

Each quote line can be more than a fixed item.

Line flags — required vs optional

FlagOn the proposal
REQ — RequiredCounted in the headline totals; the customer can't remove it.
REC — RecommendedShown as an optional extra, pre-ticked.
UPSELLShown as an optional extra, un-ticked — the customer opts in.
UPGRADEA mutually-exclusive alternative to its siblings.

Upgrade options

Link a product to higher-tier Upgrade Options in the product editor; on a quote the line shows a 🔼 OPTIONS button that adds each option as an UPGRADE-flagged line in one group. On the customer proposal the group members appear as mutually-exclusive (radio-style) choices.

Add-on suggestions

A product can carry optional add-on suggestions (warranty, accessory, onboarding pack) that appear as 💡 + name pills on the parent line. They are never added automatically — click a pill to add one. An add-on can carry a price override (🏷 BID PRICE); use ↺ reset to return it to the catalogue price.

Capital ⇄ monthly billing (per line)

Every line carries a segmented toggle — Cap / Mthly — that sets how that line is billed: Cap (charged up front as capital) or Mthly (recurring monthly, bucketed with the rest of the monthly / financed spend). One tap flips it; totals and the financial summary update immediately.

Multi-site quoting — Explode into Site Template

For a customer with several locations, a package product in Browse Catalogue shows a 📍 Explode into Site Template button. Name the location and SpeedQuote drops a 📍 Site Infrastructure — <site> heading and explodes the package's components beneath it as individually-editable, indented lines. Repeat per site to build one structured multi-location quote where each site's equipment can be tuned independently.

Price Check — live distributor pricing

The 🔎 Price Check button compares live cost and stock for a part code across every distributor account you've connected, and lets you drop the cheapest straight into the quote. Search by exact part code, or tick "search by description" to keyword-search. Connected feeds today: Ingram Micro, TD SYNNEX and Westcoast, plus a generic REST option. Set these up under the console → Integrations.

Your own trading account

Each tenant stores its own distributor API keys (write-only, never shown back). Lookups run against your own trading account and results are compared side-by-side so you buy from the best source.

Sell price ⇄ margin entry

Click the Sell Price ⇄ column header to switch between entering a line's sell price (£) and a margin (%). Margin is calculated on the sell price, matching the approval floor. Automatically-priced lines (e.g. DaaS-financed hardware) show a 🔒 lock; to enter a one-off negotiated cost on a locked line, use 🏷 Bid pricing (see Special-bid pricing).

Tiers, matrix & ROI

A proposal can present multiple service tiers. The customer sees a Tier Matrix (headed "Kuiper Secure Tiers") and can switch tiers on the web proposal before signing. An optional ROI chart visualises the annualised value of the managed-service investment. Choose which sections appear in the full proposal from the Output menu.

DaaS & leasing (HaaS)

For Device-as-a-Service quotes, hardware is financed into a lease rather than sold outright, priced with rate bands:

  • A rate band defines the lease rate per £1,000 of capital cost, by contract term.
  • Products are tagged with a band (or a per-product override); each line uses the right rate for the term.
  • Support packages attach to a device; a capital support package with a DaaS band is financed into the HaaS lease at its own £/£1,000 rate.
  • Device quantities can sync with the global User Seats.

The HaaS Financing panel carries an Upfront Deposit % control and a collapsible per-line lease breakdown. Managers configure bands under the console → Quoting (Templates & DaaS Rate Bands).

Rate lives on the product, not the template

Each line takes its rate from the product's DaaS band (or a per-product override), so mixed-band quotes price each line correctly. In V70 the partner and customer sell basis is unified, so a DaaS line reads the same way whoever is looking at it.

The device list & quote logo

The 📋 Devices button opens the DaaS device list for the quote. Add devices manually or import from CSV / Excel; the list is saved with the quote. It's one shared dataset: the table you edit here is exactly the device form the customer completes on the proposal. Use ⬇ Download CSV template then 📥 Import CSV / Excel to bulk-load.

Lock columns the customer shouldn't change

Click the 🔓 padlock on any column header to make that column read-only for the customer. Your team fills the locked columns (agreed spec, asset tags, serials) and the customer completes the rest before signing — one table, split between you and them.

The 🎨 Quote Logo button sets a logo just for this quote's proposal.

📉Margins, the waterfall & approvals

FigureMeaning
Term Margin (Actual)Gross margin over the whole contract term, including any channel partner split.
Channel Partner SplitThe partner's cut. We're paid the full financed amount (revenue); we then pay the partner this split (our cost of sale).
Our MarginNet of the channel split — what the centre actually keeps.

The summary shows the full waterfall from gross Term Margin down through the channel split to our net margin. In V70 this waterfall is available in partner sessions too.

The approval floor

Each tenant sets a minimum margin floor (default 20%) in the console → Business. If a quote's margin falls below it, saving triggers an approval step:

  • The floor is checked against the net term profit (protected against the channel split), so discounting can't quietly push the real margin under water.
  • A Manager can override with a recorded reason; a Sales user must submit for approval.
  • Submitting for approval and approving both send email alerts to the tenant's Managers (if email is configured).

Special-bid pricing

When a distributor gives you a one-off special bid below the catalogue buy price, a Sales user unlocks the (normally locked) cost field with the 🏷 Bid pricing button. This lets you type the special-bid figure and flags the quote for manager approval before it can be sent — the line shows a "Special-bid cost requested" badge, then an "Approved bid price" badge once a Manager signs it off.

Separate from the margin-floor gate

Bid pricing has its own approval reason. Even if the resulting margin is above the floor, entering a special-bid cost still forces a manager review — so hand-keyed costs can't reach a customer unchecked.

📦Product Inventory

The Products tab is your master catalogue. It's a searchable list you can filter by manufacturer, by rate band, and by whether to hide end-of-life items.

  • + Create Product opens the Product & Scope editor.
  • ⧉ Clone — V70 duplicate an existing product as a starting point for a similar one, then tweak the copy instead of re-keying everything.
  • ✏️ Bulk edit — select several products and change them together (re-band or re-price in one pass).
  • Import XLSX / Export XLSX — round-trip the whole catalogue as a spreadsheet (.xlsx, .xls or .csv); Part Code is a first-class field.

Inside the Product & Scope editor

Beyond name, cost, sell price and type, each product can carry:

  • 📋 DaaS Rate Band (with an optional per-product override).
  • 🛡️ Included support package — auto-added and quantity-matched whenever this device is quoted.
  • Recurring monthly service — bucket the product with monthly / financed spend rather than capital.
  • Suggested add-ons and 🔼 Upgrade Options.
  • Manufacturer and Supplier / Vendor — distinct fields; both filter the catalogue and can be allowed/blocked by a template's Catalogue Rules.
  • Est. Engineering Hours — summed across the quote and printed on the Scope of Works page.
  • Standard Operating Procedure / Scope Details — rich text pulled into the Scope of Works page.
  • Datasheet URL, Part Code (with an optional Auto switch), and Syndicate to Channel Partners.

Composite products, blueprints & datasheets

Packages (blueprints)

A package product carries a Package Blueprint — child components included at quote time as 🔗 BUNDLED ×qty lines whose quantity tracks the parent. You can optionally override the package sell price. (To break a package into per-site lines, use Explode into Site Template.)

Features (mapped products)

A Feature product maps to one or more underlying products and inherits their combined cost and sell price, so a customer-facing "feature" stays priced correctly as its components change.

Requires a Managed Services Contract

A package can be marked 📄 Requires a Managed Services Contract. When such a package is on the order, the MSA is generated automatically at order confirmation. In V70 a quote whose template or contents require an MSA has the agreement forced into the proposal so it can't be sent without one.

Product datasheets

The Datasheet URL field links a manufacturer's PDF. Any quote containing datasheet products automatically gains a Product Datasheets page on the Full proposal.

🖨Output & proposals

The 🖨 Output menu turns a saved quote into something the customer receives:

OptionWhat it does
✉ Email to customerSends a branded email with a link to the live web proposal (needs email set up).
🔗 Copy proposal linkCopies the secure customer link to your clipboard.
👁 Preview proposalOpens the customer-facing proposal exactly as they'll see it.
🖨 Print Simple / FullPrint a one-page quote or the full multi-section proposal.
📄 PDF — Simple / FullExport the same as a PDF.
📧 Copy for EmailCopies a formatted version for pasting into Outlook.
  • Hide part codes on this quote — suppresses SKUs on the customer's copy.
  • Full proposal sections — tick which sections appear (Cover, About Us, Scope of Works, Quotation Grid, Tier Matrix, ROI Chart, Product Datasheets, MSA, Internal BOM). Datasheets render only when the quote contains datasheet products; MSA and Internal BOM are off by default.
Email must be configured first

"Email to customer" and alert emails use your tenant's own sending account (Resend). A Manager sets this up under the console → Integrations and can send a test email.

👥The customer's view

The customer opens the proposal at your branded proposal domain (default proposals.kuipertech.co.uk, or a partner's own white-label host). No login is required — the secure link itself is their credential. They can read the branded proposal, switch tiers, choose upgrades and opt into add-ons, complete attached forms and upload required documents, and sign electronically by drawing their signature.

Read receipts

Every time a customer opens their proposal it's logged. The Pipeline shows a per-quote view count with first and last time they looked. For the full event history, open the Proposal audit trail.

If a signing link says "quote not found"

The link was shared before the quote row was written. Open the quote and use Save / "Repair link", then reshare.

📝Managed Services Agreement (MSA)

You can attach a Managed Services Agreement to the proposal. Managers edit the master MSA template under the console → Agreement (MSA), or in the full-screen MSA Studio:

  • Format text (bold, italic, underline, headings, lists, fonts, tables, colours), undo/redo.
  • 📄 Import Word — bring in a .docx as the agreement body.
  • 🏢 Insert branding — drop your company logo / letterhead at the cursor.
  • Merge tokens — click or drag quote fields (customer name, totals, commencement date, etc.) into the body.
  • 🕓 Version history — review and restore previous MSA template versions. This history is append-only and protected by the server so it can never be shortened.

Signatory & countersigning

Set a standing Authorised Signatory (draw it or upload an image); it's applied automatically as your side of the agreement and can be overridden per contract with the Countersign action. When a customer signs, the MSA is locked and frozen at that version, so the executed contract can never drift. Executed agreements appear in the Contract Manager.

Contract in the partner's name

On a channel deal, setting a quote to run "Contract in the partner's name" presents the channel partner as the supplier on the MSA — the agreement carries the partner's identity rather than Kuiper/Intec branding.

Correcting a contract — Reset & Rebuild

  • ♻ Reset Contract — wipes all signatures and the locked copy so the agreement can be corrected and re-issued. Destructive; asks for confirmation.
  • ↻ Rebuild — discards manual edits to the body and rebuilds it fresh from the current order.

MSA Studio

V70 MSA Studio is a distraction-free, full-screen editor for the master Managed Services Agreement. Open it with the ⛶ MSA Studio button (in the Admin console's Global Settings). It gives you the full rich-text toolset — tables, colours, fonts, find/replace, and drag-and-drop merge fields — on a wide canvas, which is far easier for a long legal document than the inline editor.

The one place shortcuts work

While MSA Studio is open, Esc closes it and Ctrl+S saves the template. These are local to the Studio — elsewhere in the app the keyboard stays inert (see Shortcuts).

🗒️Forms

Forms collect structured information from the customer as part of the workflow — a technical capture, device/asset details, onboarding questions. Build them under the console → Documents & forms, then attach a form to a quote (📝 Forms).

  • Field types: text, number, checkbox, multi-select, table, file upload and signature.
  • Fields can be required; the customer can't submit until they're complete (checked on both page and server).
  • The customer can save a partial form and return, or submit to lock it.
  • File-upload fields store the document against the quote and link it back to the answer.

A submitted form can also be a gate that advances the quote's order-workflow stage. There is a shared global forms library every partner inherits; partners can clone a global form to customise it or create their own (see Partner administration).

📎Documents

Quotes can carry attached documents — finance agreements, network diagrams, addenda, and files the customer uploads. Attach them from a quote (📎 Docs).

RuleDetail
Max size25 MB per file.
Allowed typesPDF, PNG, JPEG and WebP. Office docs, archives, executables and HTML are blocked by design.
Built-in kindsfinance, tech-supplement, msa-supplement, other, form-field.
Custom kindsAdmins define their own under the console → Documents & forms (e.g. insurance-certificate, dpa).
Customer uploadsLimited to finance, tech-supplement and other. The system-generated MSA supplement can't be customer-uploaded.

Each file is integrity-checked (SHA-256) and served through the same secure-link model — a document can only be fetched via the quote it belongs to.

📊Pipeline — deals & quotes

The Pipeline tab is the deal-centric successor to the old Quote Tracker. It shows one view of every deal — a deal carries its quotes; a signed quote closes the deal and enrols the contract — across four sub-tabs: 📋 Board, 📄 Quotes, 📈 Forecast and 🏁 Won / Lost. What you can see here follows your Pipeline permission scope (all vs own).

📋 Board — the deal stages

A kanban of every opportunity, one card per deal, in six stages:

  1. Lead — an early opportunity, no quote yet.
  2. Qualified — worth pursuing, still no quote.
  3. Proposal — a quote has been built / sent.
  4. Negotiation — working through terms.
  5. Closed won — a signed quote moves the deal here and enrols the contract in the Contract Manager register.
  6. Closed lost — dead; you record a loss reason.

Tap a card to move it between stages. Create a manual deal with + New opportunity (name, customer, monthly and capital value, term, expected close, owner). Every tracked quote is also adopted into the board automatically as a deal (exactly once), and 🔄 renewal deals are auto-created from register contracts ending within 90 days. Filter the board by close date: All, By month or By quarter.

📄 Quotes — the quote tracker

The familiar list of every quote for your tenant, with search, group by status, sort (date, contract value, status) and direction, a customer engagement summary (views), and a segmented MSA stage filter across the top. A Show archived checkbox reveals quotes you've archived (see below). Row actions include:

  • ✓ Approve / reject quotes submitted below the margin floor or with special-bid pricing (Managers).
  • 📎 Docs / 📝 Forms — attach documents or a form.
  • Tracking — open the Proposal audit trail.
  • 📤 Send for Signature and ✍️ Countersign.
  • Clone — copy a quote into a fresh draft. For a signed contract's renewal use 🔁 Clone for Renewal.
  • Archive — V70 void a quote with a reason. Archived quotes stay readable but drop out of the tracker, deal adoption and assignment unless you tick Show archived. Archiving a demo quote also removes its open pipeline deal.
  • Transfer ownership to another user in your tenant (needs the Reassign owners capability); a quote never crosses tenants.
  • Delete / Repair link.

The order workflow on a quote

Templates can attach an order workflow that a quote advances through as gates are met. Modern DaaS templates use a four-stage flow — Proposal → Terms → Confirmation → Deployment — each with configurable gates (a customer signature, specific documents attached, a form submitted, or an explicit admin tick). Older quotes still resolve through the original 8-stage leased flow. You can nudge a quote forward manually, but never backwards.

📈 Forecast & 🏁 Won / Lost

Forecast shows weighted MRR by expected close month, a per-owner breakdown, and a churn-risk figure (the MRR of register contracts ending in a month with no won renewal deal). Won / Lost summarises closed business and the loss reasons over the last 12 months, so you can see why deals slip.

Proposal audit trail

The Tracking button on a quote opens the 📜 Proposal Audit Trail — a full, time-ordered event log for that proposal: creation and edits, bid-pricing and approval requests, stage changes, MSA generation, each customer view, and signatures. Use it to see exactly what happened, and when, before you follow up or hand a deal over.

Version history

Every save can snapshot the quote. The 🕑 Versions button lets you review prior snapshots and restore an earlier version — handy when a customer asks to go back to a previous option.

🔄Renewals

The Renewal Pipeline surfaces signed contracts approaching their renewal date so you can act before a customer churns. Choose a lookahead window (next 30 / 60 / 90 / 180 days or 12 months), then use Clone for Renewal to start the new quote. Renewals inside 90 days also spawn a 🔄 renewal deal on the Pipeline board automatically.

📄Contract Manager

V70 The Contract Manager is the active contract register — every agreement in force, whether signed in SpeedQuote or recorded manually. It is where you keep the real picture of what each customer is contracted for, what it's worth, and when it ends. It has four sub-tabs.

📊 Overview

A searchable register of every contract with summary cards. Executed SpeedQuote MSAs are enrolled here, and legacy or third-party agreements can be recorded by hand. Search by customer, contract or vendor.

🧱 Contract Builder

Build or edit a contract for a customer. Pick (or create) a customer — customers carry a user count, an account manager, and under/over-bill flags — then add line items from the SpeedQuote catalogue on the left. You can create legacy (already-in-force) or proposed contracts; contracts that came from a signed SpeedQuote quote are marked as such and are locked (their signed content can't be edited here).

Assigning a signed quote to a customer

Signing a quote no longer guesses which customer it belongs to. A signed MSA appears as awaiting assignment; you assign it to a customer explicitly (needs the Manage customers capability), and SpeedQuote then creates the active contract with the right start and end dates from the quote's commencement date and term.

Addenda — dated changes to a live contract

A contract changes over its life. An addendum is a dated change set that adds and/or removes line items with an effective date and a note. The contract's live state is simply every item not yet removed, and each addendum is reversible — so you get an auditable history of what changed and when, without ever destroying the original.

🗺 Usage Matrix

Active seat counts and line-item expirations per customer, grouped by vendor — a quick read of who has what, and what's about to lapse.

💷 P&L Reports

Profit-and-loss reporting across the register — cost vs sell across contracts, sortable, with presets and a dashboard. (Access follows the Reports / Financials permission sections.)

Archiving & migration

Contracts can be archived / voided with a reason and are then hidden from the register unless you ask to include archived. A one-off ⇪ Migrate legacy data action imports customers, contracts and items from the previous standalone Contract Manager app.

⚙The console (Settings)

V70 Settings and Admin have merged into one console. Everything you configure lives here, organised into sections, with a scope bar at the top that says which tenant you're configuring. For most people that's simply their own organisation; internal Managers can switch the scope to a partner to administer them (see Partner administration).

SectionWhat you configure
🛡 Tenants & access adminWhich capabilities this tenant has, and what its own Managers may self-manage.
👥 People adminThe tenant's user accounts and the permission groups that govern them.
🏢 Customers adminThe customer register and any signed quotes awaiting assignment.
💼 BusinessIdentity, branding, commercial defaults (currency, tax, margin floor, HaaS APR, term discounts) and the proposal copy (cover, intro, About Us, ROI, T&Cs).
⚙ QuotingPer-tenant starting values, plus the shared product types, quote templates and DaaS rate bands.
📝 Documents & formsThe shared form library, which forms this tenant inherits, and the custom document types offered on every order.
📄 Agreement (MSA)The master MSA body for this tenant and the standing countersignature (and the MSA Studio).
🔌 IntegrationsDistributor price feeds and outbound email, stored server-side against this tenant only.
💾 DataWhole-workspace export and import (JSON backup/restore).

The Quote Template Builder

Under Quoting, a template bundles the rules a quote starts from, across tabs: Info, Catalogue Rules, Custom Fields, Pricing Engine, Proposal Sections and Order Workflow (none, Simple, DaaS 4-stage, or the legacy 8-stage flow). Catalogue Rules control which products a template may quote — Allowed Manufacturers, Allowed Suppliers/Vendors and Allowed Part Codes/SKUs (whitelists), plus a Blocked Manufacturers blacklist. The Product Types Manager defines the name-and-colour categories used across the catalogue (built-in types are Protected and can't be removed).

Partner administration Internal · Manager

Internal Managers get an Admin screen (and the console's tenant scope bar) to run the channel. It splits into Global Settings — one copy shared by every tenant (templates & DaaS rate bands, the global forms library, the Quote Engine, the syndicated catalogue, and the ⛶ MSA Studio) — and per-partner Partner Administration, where you pick a partner and edit:

  • Features — toggle which app capabilities that partner's users see.
  • Defaults — default term, deposit, margin, channel split and quote-number prefix.
  • Users — that tenant's accounts (add/edit/remove here; bulk import lives under People).
  • MSA & Default Template — the template new quotes open on, and the partner's own MSA body.
  • Integrations / API — the partner's own distributor feeds and email.
  • Permissions — what that partner's own Managers may self-manage (user management and integration credentials are enforced server-side today).
  • Forms — which master forms join the global library, plus the partner's own forms.
  • Business Profile — the partner's own currency, tax, margin, HaaS APR, term-discount grid, branding (trading name, company number, accent colour, proposal domain, cover heading, logo) and proposal document content.
Acting as another tenant

While an internal Manager has a partner selected, actions such as saving users, integration credentials and business settings apply to that partner's tenant — this is how one console administers the whole channel. A partner session can never cross into another tenant.

Isolation is the point

Partners see shared master data and their own quotes, deals, contracts, brand and customers — but never other partners' data, the centre's private inventory, margin floors, or internal history. The platform strips all of that before anything reaches a partner.

🔌Integrations

Distributor price feeds

Connect distributor accounts so Price Check returns live cost and stock: Ingram Micro, TD SYNNEX, Westcoast, or a generic REST distributor. A Manager enters the vendor's credentials (OAuth client ID/secret, API key, or username/password, plus account number and endpoint URLs).

  • Credentials are write-only: once saved a secret never returns to any browser — the UI shows only a masked identifier and a "configured" status.
  • Use 🧪 Test to prove a feed's auth and endpoint before relying on it.
  • Keys are stored per tenant, so every partner uses their own trading account.
TD SYNNEX specifics

UK hardware runs through TD SYNNEX with a rotating refresh token — if a lookup complains about an invalid grant, generate a fresh token in the portal and re-save it. Enter your Ion Reseller / Account ID in the Account Number field.

Email sending

Transactional email (proposals, approval/signed alerts, PIN resets) is sent through your tenant's own Resend account. A Manager sets the API key, from-name/address, reply-to, and an alerts recipient list (the internal people who get approval/signed notifications), and can send a test email. Email settings are per tenant.

White-label proposal host

Partners can serve customer proposals from their own domain — set under the console → Business (Proposal Domain). Enter just the host name; it must be set up in Cloudflare first. Leave blank to use the default Kuiper proposal domain.

👥People & security

Under the console → People, Managers add and manage user accounts: username, PIN, login role (Sales or Manager) and tenant, plus the permission groups each person belongs to. You can also bulk-import users from a CSV/Excel template (with a Partner ID column) — the system generates PINs and hands you a credentials file to distribute.

  • PINs must be at least 4 characters and are always hashed (PBKDF2, per-user salt) — never stored in plain text, never shown back.
  • Leave the PIN blank when editing to keep the existing one.
  • You can't delete your own account, and the Owners group can never be emptied — so no one can accidentally lock everyone out.
  • User lists never expose PIN material — even to Managers.

★What's new in build V70.21

Highlights since the V68.35 manual (covering the V69–V70 releases):

  • New Pipeline (deal-centric CRM) — the old Quote Tracker is now the Pipeline, with a deal Board (Lead → Qualified → Proposal → Negotiation → Closed won/lost), the Quotes tracker, Forecast (weighted MRR, churn risk, per owner) and Won / Lost. Quotes are auto-adopted as deals; renewals within 90 days spawn renewal deals.
  • New Contract Manager — a full contract register with Overview, Contract Builder, Usage Matrix and P&L Reports, customers, contract items, dated addenda, archive/void, legacy-data migration, and explicit assignment of signed quotes to customers.
  • New Permissions & access groups — Owners (protected) / Managers / Sales plus custom groups, with per-section scope (none/own/all) across Builder, Pipeline, Products, Renewals, Contracts, Reports, Financials, Admin and Settings, and capabilities (See costs, Send for signature, Manage customers, Reassign owners). See Permissions.
  • New The unified console — Settings and Admin merged into one console with a tenant scope bar; internal Managers administer partners and can act on another tenant from the same place.
  • New MSA Studio — a full-screen MSA editor with tables, colours, fonts, find/replace and drag-and-drop merge fields (MSA Studio).
  • New Product cloning — duplicate a catalogue product as a starting point (Products).
  • New Archive / void for both quotes and contracts, and a server-side destructive-write tripwire that refuses a save which would wipe existing products, templates, forms or the MSA body.
  • New MSA forced into quotes that require one, the margin waterfall enabled in partner sessions, and a unified DaaS partner/customer sell basis.
  • Changed The navigation labels: Products (Inventory), Pipeline (was Quote Tracker) and Contract Manager (was Contracts).
  • Unchanged Global keyboard shortcuts / the Ctrl+K command palette remain disabled (removed at user request); only MSA Studio has its own Esc / Ctrl+S. Draft autosave and the "Before sending" validation banner are still live.
Carried over from earlier builds

Multi-distributor price feeds (Ingram / TD SYNNEX / Westcoast), the per-tenant email suite, margin-% entry, the gross-to-net margin waterfall, the net-protected approval floor, the editable device table with per-column locks, Scope-of-Works auto-build, composite products & datasheets, multi-site quoting, special-bid pricing, and the proposal audit trail are all still here.