Skip to content
Skip to main content
Novel Systems home

CPQ Platform

Parametric quoting that can’t be wrong.

Enter a finished width and a finished drop. The engine derives every cut size, prices every line against the rate card, and grosses the total to the margin floor. There is no spreadsheet left to get out of date.

Live engine

Move a slider. Watch the cut list and the price move with it.

This is the production engine, not a mock-up. The reference configuration below — 96.00" × 120.00" motorised with a cassette — returns $642.10 CAD wholesale and $1,284.20 CAD retail every time.

Configuration

in
24"144"
in
24"180"

Glare control with retained outward view. The default commercial specification.

Rechargeable lithium-ion, 12 V DC · Somfy RTS 433.42 MHz

Priced per inch of finished width at $0.30/in.

Bracket pair, idler, chain retainer, and fixings bagged per unit.

Quantity
96.00" W120.00" DTube 94.75"
Drawn to scale · fabric 94.50" × 124.00" · hembar 95.00"

Cut list

These are the sizes the shop cuts. They are derived from the finished width and drop — never re-entered.

Derived cut sizes for the current configuration
ComponentDerivationCut size
Aluminum tubeW − 1.25"94.75"
Extruded hembarW − 1.00"95.00"
Fabric widthW − 1.50"94.50"
Fabric dropD + 4.00" wrap124.00"
Fabric consumption(fabric W × fabric D) ÷ 14481.375 ft²

Cost breakdown

Every line is rounded before it is summed, so what is printed reconciles to what is totalled.

Itemised cost breakdown
LineBasisUnitExtended
Solar Screen 3% — Charcoal81.375 ft² × $3.18/ft²$258.77$258.77
Aluminum tube94.75" × $0.60/in$56.85$56.85
Extruded hembar95.00" × $0.40/in$38.00$38.00
Aluminum surcharge$94.85 × 3.5%$3.32$3.32
Fabrication labour1 unit × $55.20$55.20$55.20
LI-ION RTS tubularSomfy RTS 433.42 MHz · 6 Nm$189.00$189.00
Fascia cassette96.00" × $0.30/in$28.80$28.80
Bracket & fixings set1 set per unit$12.16$12.16
Wholesale$642.10$642.10

Gross margin

50.0%

Locked at the 50.0% margin floor.

Wholesale · 1 unit

$642.10 CAD

Retail at the 50.0% floor

$1,284.20 CAD

Unit wholesale $642.10 CAD · unit retail $1,284.20 CAD · all figures CAD

Deduction logic

Three deductions and one allowance. Applied once, in one place.

Every roller in the range comes off the same four rules. They live in the engine as frozen constants, which means an estimator cannot apply them differently from a fabricator, and neither can apply them differently on a Friday.

Tube
W − 1.25"
Clears the bracket pair and the idler end plug.
94.75"
Hembar
W − 1.00"
Sits inside the fabric edge so it cannot catch the reveal.
95.00"
Fabric width
W − 1.50"
Keeps the panel clear of the bracket faces through the full roll.
94.50"
Wrap allowance
D + 4.00"
Retains wraps on the tube at full extension.
124.00"
Finished width 96.00"W − 1.25"W − 1.50"D + 4.00" = 124.00"W − 1.00"94.50" × 124.00" ÷ 144 = 81.375 ft²

Rate card

Seven rates. Published, versioned, and editable on Enterprise.

  • Fabric

    $3.18 / ft²

    Applied to (fabric width × fabric drop) ÷ 144.

    Rate varies by fabric; the default 3% solar screen carries the base rate.

  • Aluminum tube

    $0.60 / in

    Cut at finished width − 1.25".

    Extruded 38 mm tube, wall thickness selected by span.

  • Extruded hembar

    $0.40 / in

    Cut at finished width − 1.00".

    Sealed end caps included in the rate.

  • Fabrication labour

    $55.20 / unit

    Flat per finished unit, independent of size.

    Covers cut, weld, roll, and QC on the bench.

  • Aluminum surcharge

    3.5%

    Applied to the tube and hembar extended cost only.

    Tracks the LME cash settlement; reviewed monthly.

  • Fascia cassette

    $0.30 / in

    Priced on finished width, not tube length.

    Optional. Zero when the unit ships open-roll.

  • Bracket & fixings set

    $12.16

    One set per finished unit.

    Optional. Zero when the dealer supplies hardware.

Margin governance

The floor is 50.0%, and it is enforced three times.

  • At the line

    Each line item is rounded and grossed independently, so a discount on one component cannot quietly subsidise another.

  • At the quote

    The quote total is checked against the floor before it can be issued. A shortfall is stated in dollars, not as a vague warning.

  • At the approval

    Overrides route to a permissioned role and are written to an immutable audit trail with the requested and approved figures.

Tiered price books, dealer and retail views

A dealer sees wholesale. A retail salesperson sees retail. A project estimator sees both, plus the margin between them. The same quote record serves all three, so nobody is reconciling two documents.

  • Price books version on every rate change, with an effective date.
  • Dealer tiers carry their own multiplier applied after the margin floor.
  • Quotes render in CAD by default; USD price books are per-tenant configuration.
  • Historic quotes always reprice against the book that was live when issued.

Quote to work order, without a re-key

Acceptance generates the work order directly from the configuration. The cut list, the parts list, the required skill tags, and the install duration are already populated when dispatch opens it.

  1. 01

    Quote accepted

    Configuration frozen, price book version stamped.

  2. 02

    Work order generated

    Cut list and parts list carried across verbatim.

  3. 03

    Skills resolved

    Required certifications derived from the drive and mount type.

  4. 04

    Dispatch board

    Job enters the board with its time window and duration.

See what dispatch does with it

Objections

The six questions estimators ask first.

  • Our deductions are different from yours. Can we change them?
    Yes. The deductions, rates, and margin floor are tenant-level configuration on Professional and Enterprise. The values shown in this sandbox are our factory defaults for a 38 mm tube roller. Changing a deduction versions the price book and stamps the change with the user, timestamp, and prior value.
  • What stops an estimator from quoting below cost to win a job?
    The engine grosses every quote to the margin floor by default. An estimator can request a lower price, but the quote then routes to a role that holds the margin-override permission, and the override is written to the audit trail with the requested price, the approved price, and the resulting margin.
  • We quote in imperial but manufacture in metric. Does that break anything?
    No. Dimensions are stored in a single canonical unit and rendered per user preference. Cut lists print in the unit the shop works in, and the conversion happens once at render, not repeatedly through the math.
  • How do you handle a fabric that will not roll to the required width?
    The engine compares the derived fabric cut against the roll width for the selected fabric and raises a warning inline before the quote is issued. The warning names the roll limit and the required cut so the estimator can railroad, seam, or split the elevation deliberately.
  • Can we quote a project with three hundred openings without re-entering each one?
    Yes. Openings import from a take-off spreadsheet or an architectural schedule, and each row runs through the same engine that powers this sandbox. Quantities above five hundred units route to a project estimator rather than quoting straight through.
  • Does the quote carry into the work order, or is that a re-key?
    It carries. Accepting a quote generates the work order with the cut list, the parts list, the required skill tags, and the install duration already populated. Nothing about the configuration is typed a second time.

Bring us three real elevations.

We will run them through the engine on the call and put the cut list next to whatever your current process produced. Twenty minutes, no slides.