Loading product dataset…
Control Room
Live operational status across the portfolio · every alert is one click from its fix
All connectors live
{{ k.label }}
{{ k.value }}
{{ k.trend }}vs last wk
IDC-4000{{ prod.lifecycle }}
Integrated Drive Controller
{{ twinRingPct }}
EBOM
All
Elec
Mech
⚠
Next issue ⇢
{{ rv.done }} / {{ rv.total }} verified
Next unverified ⇢
Reset
j / k movev verifyn next unverifiedi next issueprogress saved locally
| Part / description | Type | Rev | Qty | NetSuite |
|---|---|---|---|---|
{{ b.checkGlyph }}{{ b.caret }}{{ b.pn }} |
{{ b.type }} | {{ b.rev }} | {{ b.qty }} | {{ b.nsLabel }} |
{{ twinHead.pn }}{{ twinHead.name }}{{ twinHead.type }}{{ twinHead.life }}{{ twinHead.nsLabel }}
3D model
Documents{{ twinDocCount }}
NetSuite
Detail
{{ d.kind }}{{ d.name }}
{{ twinDoc.kind }}
{{ twinDoc.name }}
Download to open in native app
Download to open in native app
◍
No documents linked to {{ twinHead.pn }}
+ Attach a drawing, datasheet or test report
{{ twinHead.pn }}{{ twinHead.life }}
{{ twinHead.name }}
{{ d.k }}
{{ d.v }}
Product Portfolio
Built-to-stock products · {{ pfCount }} active
{{ s.label }}
{{ s.value }}
{{ s.sub }}
All products
Has exceptions
Not released
Needs sync
Portfolio/{{ prod.pn }}
{{ prod.pn }}{{ prod.lifecycle }}
{{ prod.name }}
{{ prod.family }} · Owner {{ prod.owner }} · ERP {{ prod.nsItem }}
Revision
Readiness · {{ prod.readyLabel }}
{{ prod.ready }}
{{ prod.rPass }} passed
{{ prod.rFail }} blocking
Lifecycle baselines
{{ g.glyph }}{{ g.gate }}· {{ g.baseline }}{{ g.date }}
{{ gateStrip.ccNote }}
Overview
EBOM
Documents
3D model
NetSuite
Change orders
Release
▦
{{ lite.title }}
{{ lite.msg }}
Product definition
{{ f.k }}
{{ f.v }}
Revision history
Rev {{ t.rev }}{{ t.state }}{{ t.date }}
{{ t.note }}
Governing changedrives Rev C
{{ eco.id }}{{ eco.state }}Rev {{ eco.from }} → {{ eco.to }}
{{ eco.title }}
{{ eco.appDone }}/{{ eco.appTotal }} approvals
Release readiness{{ prod.ready }}%
{{ c.glyph }}
{{ c.gate }}
{{ c.label }}
{{ c.note }}
Open exceptions{{ excCount }}
{{ x.title }}
{{ x.detail }}
Unified EBOM
All
Mechanical
Electrical
Hardware
⚠ Issues only
Δ vs Rev B
Expand all
Collapse
CSV ↓
Review twin ⇄
{{ bomCount }} shown · {{ bomIssueCount }} issues
{{ revBanner.text }}
{{ revBanner.actLabel }}
| Find | Part / description | Type | Source | Rev | Qty | Ref des | Lifecycle | NetSuite | Unit $ | Ext $ | Vendor | Lead | Docs |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ b.find }} |
{{ b.caret }}
{{ b.pn }}
{{ b.name }}
{{ b.diffLabel }}
|
{{ b.type }} | {{ b.src }} | {{ b.rev }} | {{ b.qty }} | {{ b.ref }} | {{ b.life }} | {{ b.nsLabel }} | {{ b.unit }} | {{ b.ext }} | {{ b.vendor }}{{ b.avlMore }} | {{ b.lead }} | {{ b.docCount }} |
| Rolled-up material cost | {{ bomTotal }} | ||||||||||||
Selected part
{{ selDetail.pn }}{{ selDetail.life }}
{{ selDetail.name }}
Source
{{ selDetail.source }}
Qty
{{ selDetail.qty }}
Unit cost
{{ selDetail.cost }}
Lead time
{{ selDetail.lead }}
Vendor
{{ selDetail.vendor }}
NetSuite
{{ selDetail.nsLabel }}
PLM ⇄ NetSuite reconciliation
Rev C EBOM vs ERP item master · last sync {{ recon.lastSync }}
{{ t.label }}
{{ t.value }}
| Item | Qty | Unit cost | Vendor | Lead | Rev | Reconcile | Action |
|---|---|---|---|---|---|---|---|
{{ c.pn }}{{ c.name }} {{ c.nsItem }} |
{{ c.qty.v }}NS {{ c.qty.ns }} | {{ c.cost.v }}NS {{ c.cost.ns }} | {{ c.vendor.v }}NS {{ c.vendor.ns }} | {{ c.lead.v }}NS {{ c.lead.ns }} | {{ c.rev.v }}NS {{ c.rev.ns }} | {{ c.nsLabel }} | {{ c.action.label }} |
No change orders for this product yet.
Start with + New ECO, or convert an accepted ECR.
Start with + New ECO, or convert an accepted ECR.
{{ ecoD.id }}{{ ecoD.state }}{{ ecoD.clsLabel }}{{ ecoD.priority }} priorityRev {{ ecoD.from }} → {{ ecoD.to }}
{{ ecoD.title }}
Owner {{ ecoD.owner }}Created {{ ecoD.created }}Target {{ ecoD.due }}Cost impact {{ ecoD.cost }}Origin {{ ecoD.ecrId }} →
Classification
{{ f.glyph }} {{ f.label }}
{{ ecoD.cls.label }}
{{ ecoD.cls.reasons }}
{{ ecoD.cls.cost }}
est $/unit — no BOM line deltas yet
{{ ecoD.cls.depth }} · {{ ecoD.cls.note }}
Reason for change
{{ ecoD.reason }}
Line changes
Impact assessment — linked scope
{{ ecoD.imp.summary }}
{{ ecoD.imp.lockNote }}
Suggested documents — auto-derived from part → document links · confirm or exclude so scope stays deliberate
{{ sg.id }}
{{ sg.tag }}
+ Add to scope
Exclude
| Item | Rev | Owner | Est h | Due | Status | Evidence | ||
|---|---|---|---|---|---|---|---|---|
| {{ i.doneGlyph }} | {{ i.kindLabel }}{{ i.id }}evidence invalidated → re-test |
{{ i.from }} → | {{ i.waiveLabel }} ✕ |
The ECO cannot reach implementation-complete / ECN until every linked item is at its target rev or explicitly waived
Approval workflow{{ ecoD.appDone }} of {{ ecoD.appTotal }} approved
{{ a.icon }}
{{ a.status }}
{{ a.date }}
{{ a.role }}
{{ a.name }}
Roles for this changedefaults from Company settings · overrides apply to this ECO only
VETTER · default · inherited from ECR
IMPLEMENTER · default
{{ g.gate }}
System notes{{ ecoD.sysCount }} entries · append-only
No change requests for this product yet.
Raise one with + New ECR — it enters vetting as New.
Raise one with + New ECR — it enters vetting as New.
{{ ecrD.id }}{{ ecrD.state }}{{ ecrD.subtype }}vet due {{ ecrD.vetDue }}
{{ ecrD.title }}
Requester {{ ecrD.requester }}Raised {{ ecrD.created }}Product {{ ecrD.product }}
Entry criteria
{{ c.glyph }} {{ c.label }}
at least one impact type must apply to enter change control
Request
{{ ecrD.desc }}
Information loop
Vetter asked: {{ ecrD.infoRequest }}
{{ ecrD.infoBy }} replied: {{ ecrD.infoResponse }}
Vetting decision
{{ ecrD.decision }}
by {{ ecrD.decidedBy }} · {{ ecrD.decided }}
Converted to
{{ ecrD.ecoId }} →
{{ ecrD.ecoState }}
bidirectional link — the ECO carries this ECR as its origin
VETTER · default pool
acting: {{ ecrD.vetterWho }} · Admin reassigns per request
DECISION PATH
New → Under Review → (Awaiting Info ⇄) → Converted to ECO / Rejected. Decisions use canned reasons + free text, recorded on the request.
{{ ecrD.lockNote }}
{{ ecrD.lockNote }}
{{ ecnD.id }}Releasedclosure {{ ecnD.closure }} / 4
{{ ecnD.title }}
ECO {{ ecnD.ecoId }} →
Origin {{ ecnD.ecrId }} →
Product {{ ecnD.product }}
Released {{ ecnD.released }}
Effectivity
{{ ecnD.commsLabel }}
{{ ecnD.trainingLabel }}
{{ ecnD.lockNote }}
Outcome — what actually changed
Effectiveness evidence
Lessons learned — feeds the design backlog
Affected items — from the ECO impact scope
{{ g.gate }}{{ g.pass }} / {{ g.total }} clear
{{ c.glyph }}
{{ c.gate }}
{{ c.label }}
{{ c.note }}
{{ prod.ready }}%
{{ rel.title }}
{{ rel.sub }}
Blocking issues
{{ b.label }}
{{ b.note }}
✓No blocking issues — ready to release
Product baseline {{ baseline.rel }} will capture
EBOM CIs (frozen){{ baseline.items }}
Controlled documents{{ baseline.docs }}
Non-CIs excluded{{ baseline.nonCi }}
Governing ECO{{ baseline.eco }}
3D + drawing packagelinked
Release baselines are revisions of the Product baseline (declared at DRR) — SOP-018 §6.2
Configuration audit · {{ audit.form }}{{ audit.result }}
Baseline audited{{ audit.baseline }}
FCA — functional{{ audit.fca }}
PCA — physical{{ audit.pca }}
Audited by{{ audit.by }}
Recorded{{ audit.when }}
Waivers on record
{{ w.audit }}
{{ w.label }}
{{ w.note }}
CI Register
FORM-049 · {{ ciReg.count }} configuration items · {{ ciReg.nonCount }} non-CI
All
CIs ({{ ciReg.count }})
Non-CI ({{ ciReg.nonCount }})
Formal configuration items change only through an ECO once their governing baseline is set. Non-CIs — tooling, jigs, working files, catalog/COTS parts, vendor reference — stay out of change control and iterate freely.
| ID | Name | Kind | Rev | Class | CI | Change control |
|---|---|---|---|---|---|---|
| {{ r.id }} | {{ r.name }} | {{ r.kind }} | {{ r.rev }} | {{ r.cls }} | {{ r.ciLabel }} | {{ r.note }} |
Exception Management
Cross-product data-integrity queue · {{ excTotal }} open
Clear filter
{{ c.count }}
{{ c.label }}
Integration & Mapping
System connectors and cross-system identifier mapping · admin only
{{ c.name }}{{ c.status }}
{{ c.role }}
{{ c.count }}Synced {{ c.sync }}Sync now
Roles & RACI
Accountability for the PLM process — assignments here drive who can approve ECOs, apply reconciliation fixes and release baselines
SYSTEM ROLES — PERMISSION-BASED, WHOLE PLM
{{ rr.role }}YOU
{{ rr.seat }}
{{ p.initials }}{{ p.name }}
Unassigned — {{ rr.demo }}
WORKFLOW ROLES — PER CHANGE, ASSIGNED ON THE WORKFLOW PAGE
{{ rr.role }}YOU
{{ rr.seat }}
{{ p.initials }}{{ p.name }}
No default pool — {{ rr.demo }}
R Responsible — does the work
A Accountable — final owner
C Consulted
I Informed
Assigned roles are enforced in-app · unassigned roles stay open until named
Company settings
Global role & permission configuration — system roles, workflow defaults, fallback policies and the RACI matrix. Per-change assignments live on each change order.
{{ set.adminNote }}
{{ set.sync.head }} — {{ set.sync.text }} · Customized — this browser has local overrides.
People directory
Everyone assignable to a role. SSO enforces @etcorp.ca at sign-in.
System roles — permission-based, apply to the whole PLM
{{ sr.label }}
{{ sr.desc }}
Workflow defaults — pre-fill each new change; override per change on its workflow page
DEFAULT APPROVER CHAIN
{{ g.gate }}
unassigned → “{{ g.demo }}”
ROLE POOLS
{{ pl.label }}
{{ pl.hint }}
Fallback policies — what happens when no one is assigned
{{ pol.label }} · {{ pol.hint }}
{{ pol.stateLabel }}
Change classification — Major/Minor derives from form·fit·function·certification flags + this cost threshold (CM workshop decision #5)
BOM-cost-impact threshold · an ECO at/above this per-unit impact is forced Major (full CCB chain) even with all flags clear; below it the Minor path — Lead Engineer sign-off — stays available
$
/unit
{{ set.thresholdNote }}
Activity Log
Full audit trail — field-level system notes + workflow events · {{ actTotal }} entries
{{ f.label }}
System notes are captured automatically on every data change (old → new value, actor, timestamp, source) and persist in this browser — append-only, no delete path. Production enforces capture at the data layer; see issue #25.
RFQ Packages
Frozen supplier packages assembled from released baselines — design, manufacturing and commercial layers · no internal costs ever leave PLM
{{ rp.baseNote }}
▣
No RFQ packages yet
Assemble a supplier package from a released baseline — pick the BOM scope, then the documents for the design, manufacturing and commercial layers. The package pins to the baseline id, so suppliers only ever see a frozen configuration.
{{ rpD.id }}{{ rpD.status }}⚓ {{ rpD.pin }}Created {{ rpD.created }} · Published {{ rpD.published }}
{{ rpD.name }}
Supplier {{ rpD.supplier }}Quote due {{ rpD.due }}Volumes {{ rpD.volumes }}
Completeness check{{ rpD.checkSummary }}
{{ c.glyph }}
{{ c.gate }}
{{ c.label }}
{{ c.note }}
Supplier RFQ Portal
PHASE 2 · CONCEPTPlanned extension — outside the MVP workflow. Shown here to reserve the information architecture.
{{ s.n }}
{{ s.title }}
{{ s.desc }}