How Can We Help?
Options are the questions a product can ask during configuration (“Glass Type”,
“Grid Type”, “Hardware”); choices are the answers a user can pick (“Clear”, “Low-E”,
“Tinted”). For each choice you define its identity, its pricing, its cost, and
how the resulting part is processed in production. Options are attached to series and
referenced by rules; the choices drive pricing and the bill of materials.
What, where, who, when, why
| What | The create/edit screen for configuration options and their choices: each choice carries identity, pricing (flat or matrix), cost, and a production Process routing (None / External / Internal). |
| Where | Administration → OJ Setup → Product Setup → Options. |
| Who | Product setup staff, jointly with pricing (choices carry price/cost) and production (choices carry process routings). |
| When | Early in product setup — after series exist, before the rules that reference the options. New choices get added whenever a supplier offers a new glass package, grid pattern, or hardware finish. |
| Why it matters | Every quote line’s answers come from these choices: price added (or marked up) per answer, cost for margin checks, and — when the choice produces a part — the Process/Line/Station routing that lands it on the right production line. A choice with no price is a silent give-away. |
Layout
Left: Search box, a type filter (“All Types” or one option type), and the options
list. Right: the option detail — ID (read-only) and Description, the
Option Details panel (Type, a grouping used for filtering and by rules; and
Forced — when ticked, an answer is required wherever the option applies), the master
action row (New / Edit / Save / Cancel / Delete), and the Option Choices panel
with the choices of the selected option and the choice form.
The choice form
| Panel | Fields |
|---|---|
| Header | Option ID and Answer ID (read-only), Stock Code (inventory link). |
| Identity | Abbreviation (max 5 characters as you type), Description. |
| Format & Pricing | Format (unit of measure for pricing), Matrix Pricing checkbox + Matrix combo, Price, Price Group, Min Price. |
| Cost | Cost, Paint Labour Cost, Cost UOM, Thickness. |
| Processing | Process: None (no routing), External (subcontracted — enables Supplier), or Internal (produced in-house — enables Prod Line, and Station filtered by the chosen line). |
Worked example — a “Glass Type” option with two choices
Every double-glazed product should answer one question — which glass — and
the answer must both price and route. One option, two choices:
| Where | Value | Why |
|---|---|---|
| Option header | Description “Glass Type”, Type = Glass, Forced ticked |
The Type groups it in the filter and gives rules something stable to match on; Forced means the item cannot be saved without an answer. |
| Choice “Clear” | Abbreviation CLR, Format = Per Each, Price 0.00, Process = None |
Clear is the baseline: no upcharge and no extra routing — the sealed unit the rules already pick is clear. |
| Choice “Low-E Argon” | Abbreviation LEA, Format = Per Each, Price 48.00, Cost 31.50, Thickness 0.75, Process = Internal, Prod Line = Glass, Station = SU Assembly |
The upcharge funds the upgrade; the cost keeps margin reports honest; and because the Low-E unit is assembled in-house, the Internal routing stamps the part with line + station so it shows on the station’s pick list at the right moment. |
Attach the option to a series, and rules can now branch on the answer (add the Low-E
sealed-unit part, swap the grid tape) while order entry simply shows a two-item dropdown.
If Low-E pricing ever varies by dealer group, tick Matrix Pricing on the choice and
point it at a matrix (Matrix pricing tables) instead of the
flat Price.
Workflows
- Create an option: New (+) in the master row → type the
Description, pick a Type, tick Forced if needed →
Save. - Add a choice: select the option → New (+) under the choices table → fill
the form (focus starts at Stock Code) → Save. The Answer ID is assigned within
that option. - Copy a choice: select a choice → Copy — it is duplicated immediately
under the same option (no confirmation); edit the copy afterwards. - Edit / Delete: select the option or choice → Edit…Save, or
Delete with a confirmation.
Cautions
- Description is required on both options and choices.
- Deleting an option is not blocked even if it has choices or is used by rules —
check usage before deleting. - Price/Cost numbers are not range-checked; invalid entries save as 0.
- Unticking Matrix Pricing saves the matrix as none — the flat Price is
used.
Tables behind this screen
| Table | Scope | Purpose | Where it surfaces |
|---|---|---|---|
option_definition |
tenant | Master list of design options |
Left table + detail form (Description, Type, Forced) |
option_answers |
tenant | Choices (answers) of each option |
Option Choices table + choice form |
type_option |
global | Dictionary of option types | Type combo and the master Type filter combo |
system_uom |
global | Dictionary of units of measure | Format combo on the choice |
matrix_header |
tenant | Pricing matrices | Matrix combo (when Matrix Pricing is ticked) |
group_pricing |
tenant | Pricing groups | Price Group combo |
group_costing |
tenant | Costing groups | Cost Group combo |
partner / partner_type |
tenant | Active partners flagged as suppliers |
Supplier combo (Process = External) |
production_line |
tenant | Production lines | Prod Line combo (Process = Internal) |
production_line_station |
tenant | Stations within a production line |
Station combo (cascades from Prod Line) |
Option types — type_option
All 7 rows of the global dictionary behind the Type combo. The
wildcard character marks the option’s role when rules substitute it into BOM part
codes.
| id | Description | Wildcard | Meaning |
|---|---|---|---|
| 1 | Answer | — | Answered by picking one of the Choices. The most common type. |
| 2 | Color | @ |
Choice option with color semantics;@ marks color parts in BOM/rules. |
| 3 | Quantity | — | Answer is a numeric quantity, typed directly — no Choices list. |
| 4 | Size | # |
Answer is a numeric size/length; # feeds size substitution in rules. |
| 5 | Depth | ^ |
Answer is a numeric depth. |
| 6 | Text | — | Answer is free text. |
| 7 | +/- Adjust | — | Answer is a numeric adjustment (add/subtract). |
Practical note: only types 1–2 use the Choices pane — for types 3–7 the
end user types a number or text at order time, so choices entered there never surface.
Type id 22 still appears in legacy code as “Color”, but no such row exists in the
dictionary — treat it as legacy/unused.
Formats — system_uom
The global units-of-measure dictionary behind the choice’s Format combo — the
pricing basis of the choice (stored on the answer):
| id | Format | id | Format |
|---|---|---|---|
| 1 | Unit | 8 | Vol/Liq |
| 2 | Length | 9 | Time |
| 3 | Area W×H | 10 | Angles |
| 4 | FaceIn | 11 | UI |
| 5 | FaceOut | 12 | Bar |
| 6 | Perimeter | 13 | FaceIn/Out |
| 7 | Weight |
Most choices use 1 (Unit) = priced each. The global table is authoritative —
tenant copies of system_uom exist but are empty.
The lookup combos
Price Group (group_pricing, tenant): named pricing groups carrying
rounding rules, a taxable flag, a price category, and price/cost markups. When a choice is
priced, its group’s markup applies (falling back to the choice’s own markup when the
group’s is 0). Groups are shared by parts, glass, grids, and options — not specific to this
screen.
Cost UOM (costing_uom_id): the unit the choice’s Cost is per — Unit (each),
Length, Area, FaceIn, FaceOut, Perimeter, Weight… (the same list as Format). Unit charges the cost once
per piece; the size units multiply it by the measured size. FaceIn / FaceOut / Perimeter are for paint: the
choice’s Cost and Paint Labour Cost are multiplied by the painted profile’s Face In / Face Out /
Perimeter — see How to set up paint cost on colour answers. (Until 2026-10-27
this field was labelled “Cost Group” and listed cost groups by mistake; the stored value was always a unit of
measure.)
Supplier (tenant partner): the combo lists active partners
whose partner type is flagged issupplier (typically Supplier, Shipping,
Referring, Contractor — maintained on the partner/customer screens, not here).
Prod Line / Station (production_line /
production_line_station, tenant): the Station combo reloads whenever the Prod
Line changes. Line and station are saved only when Process = Internal; the supplier
only when External; all three are cleared for None.