VNMT Product Configurator — NetSuite Prototype Demo · sample data
Linear Pendant · iSLIM System
iSLIM-SW-100-PM
Iconic Suspended Architectural Slim LED Linear — Static White

1" aperture suspended architectural slim LED linear luminaire. 2700K–5000K CCT, 95+ CRI, eight optic lens choices, four output tiers up to 700 lm/ft, and smooth non-flicker dimming on a 24V DC system with the iDRX 4-in-1 dimmable driver.

25mm × 22mm profile Up to 115 Lm/W CRI 95+ (R9 95 / R13 99) IP54 dry/damp ELV · 0-10V · TRIAC · DALI 5-year / 50,000 hrs
CustomerNorthbank Fitout Pty Ltd
DocumentEstimate #EST1042
Configured byM. Modh
StatusIn progress
0 of 13 options selected

Configured SKU

Incomplete

    Derived specification

    Run length
    Load
    Delivered lumens
    Driver (iDRX)
    CCT / CRI
    Lens optic
    Finish
    Suspension / ceiling

    Pricing

    Illustrative
    Base rate
    Option adders
    Unit rate
    Amount

    Rates are placeholders for the demo. In the build these come from the NetSuite price plan on the base item plus the per-option adders held on each option value record.

    Transaction

    Estimate #EST1042

    Northbank Fitout Pty Ltd · Level 4 tenancy, 88 Collins St · Date 30/08/2026

    SubsidiaryICON Lighting AU
    Sales repM. Modh
    StatusOpen

    Items

    Item / configured SKU Description Qty Rate Amount
    Estimate total
    No configured lines yet
    Build a fixture on the Configurator tab and choose Add to Estimate.
    What this shows. Each configured fixture lands as one estimate line. The configured code is the item; the 13 chosen options are written to line-level custom columns so they flow through to the sales order, work order, item fulfilment and the customer-facing PDF without anyone re-keying them. Each line carries its full option set beneath the SKU.
    Administration

    Configuration Setup

    Nothing in the configurator is hard-coded. The 13 categories and 48 option values below are NetSuite custom records. Adding a new lens optic, a new CCT or a whole new product family is a data entry job for a product manager — no script change, no redeployment.

    Option categories

    13 records
    SeqCategoryCode segmentValuesBehaviour

    Option values

    48 records
    CategoryCodeLabelEngineering dataPromptPrice adder

    Validation rules

    RuleConditionEffect
    Custom RAL requires a numberFINISH = RALBlock until a RAL colour number is entered; it is appended to the SKU.
    Custom canopy requires a colourCANOPY = CPCCBlock until the custom canopy colour is entered.
    Continuous run requires a lengthLENGTH = CRBlock until run length (ft) is entered; drives wattage, driver and price.
    Rectangle / wall-ceiling need segmentsLENGTH = RR / WC / WCWBlock until each segment length is entered; total run is the sum.
    Custom run needs a descriptionLENGTH = XBlock, flag the line for engineering review, and price on application.
    Non-standard shape reviewLENGTH in RR / WC / WCW / XAdd a fabrication charge and mark the line for drawing approval.
    Driver sizingAlwaysTotal load = run ft × W/ft. Pick the smallest iDRX in the 30–300W ladder with 20% headroom.
    Slope ceiling suspensionCEILING = SLOPEWarn that a slope-ceiling adaptor is required with aircraft cable suspension.
    Why this matters commercially. The rules table is the part the public web configurator does not have. On iconlighting.com a customer can select “CR” or “RAL” and be handed a SKU with an unfilled blank in it. In NetSuite the same selection stops the line until the value is captured — so what reaches the sales order is always orderable.
    Solution design

    How this is built in NetSuite

    The public web configurator is a marketing tool: it produces a code string a customer emails in. This prototype puts the same matrix inside NetSuite so the configured fixture becomes a priced, orderable, manufacturable line without anyone re-typing it.

    Runtime flow

    1

    Launch from the transaction

    A Configure button on the estimate / sales order line opens the configurator Suitelet, passing the transaction, line and customer. A client script keeps the parent record in context.

    2

    Load the matrix

    The Suitelet reads the model and its option categories / values from custom records with a single N/query SuiteQL call, so the form always reflects current product data.

    3

    Select and validate

    Options are chosen in any order. Rules run live: parameterised options prompt for their value, incompatible pairs are blocked, and run length drives load, driver size and price.

    4

    Resolve the item

    On submit the SKU is looked up. If it exists the line uses it; if not, the script creates the item from the base template with the derived description, UOM, class and pricing — so the catalogue grows from real demand instead of a pre-built explosion of combinations.

    5

    Write the line

    Item, quantity, rate and the 13 option values are written back to the line, plus the derived load, lumens and driver. The configuration is stored as JSON on the line so it can be reopened and edited.

    6

    Downstream

    The option set flows to the sales order, work order / assembly build, purchase order and the customer PDF. Reporting can then slice sales by CCT, lens optic or finish — not just by item.

    Record model

    customrecord_vnmt_cfg_model
    Configurator Model
    One per configurable product family. Holds the base item, code separator, description template and the spec block.
    customrecord_vnmt_cfg_category
    Option Category
    The 13 steps. Sequence, whether it is fixed, required, and where its code sits in the SKU.
    customrecord_vnmt_cfg_value
    Option Value
    The 48 selectable options. Code, label, hint, engineering data (W/ft, lm/ft, run ft), prompt type and price adder.
    customrecord_vnmt_cfg_rule
    Configuration Rule
    Requires / excludes / warns, plus derived-field rules such as driver sizing.
    Transaction line columns
    Configured line fields
    One column per category, plus derived load, lumens, driver and the stored configuration JSON.

    Scripts

    ScriptTypePurpose
    vnmt_sl_configuratorSuiteletRenders the configurator, resolves the item, writes the line back.
    vnmt_cs_configuratorClient ScriptLive SKU assembly, rule evaluation, price roll-up in the browser.
    vnmt_ue_txn_configureUser EventAdds the Configure button and guards manual edits of configured lines.
    vnmt_lib_configLibraryMatrix load, code assembly, validation and derived-spec logic, shared by all three.

    Prototype vs. the public web configurator

    Capabilityiconlighting.comThis prototype
    Option matrix13 categories, 48 valuesSame 13 categories and 48 values, loaded from NetSuite records
    Selection orderStrictly sequential — later steps stay lockedAny order, with the outstanding steps always listed
    Parameterised optionsPlaceholder only, e.g. CR-__FTPrompts for the value and writes it into the SKU
    Engineering outputNoneRun length, load, delivered lumens and iDRX driver size
    PriceNoneBase rate per foot plus option adders, rolled to a line amount
    ResultA code string on the clipboardA priced estimate line with all 13 options stored against it
    Assumptions in this demo. Prices, the customer and the estimate are invented for the walkthrough — ICON publishes no pricing. Driver sizing uses the smallest iDRX in the published 30–300W range with 20% headroom; the real ladder and any run-length limits per output tier need confirming with engineering before build.