Widget composition
Which widgets an account actually carries, as distinct from who may view or edit each widget kind. Not every Class A account carries all 22 widgets: a default set is chosen once by the account role, and anything beyond it exists because somebody added it on that account.
Read-only register
Composition is decided in the Strategic Account Management application, on the account working area in edit wall mode. This register records what that application does; nothing on this screen changes it.
- Mastered in
- Strategic Account Management (Platform 6)
A change to composition is made on the account working area in edit wall mode in that application, not here. Whether composition should move into this administration application is answered by the recorded position below.
Recorded position
Recorded position — Anca Sandu, 11 September 2026. Widget composition is not administrable in this application. The widget library is fixed in code, because every widget is a built screen and none can be created from a settings page. The default set an account starts with is also fixed at build time: it applies only when an account is created, would change rarely, and is keyed on the integrator distinction that Dynamics cannot yet supply (SA-01 to SA-03). Which widgets one account carries stays with the account manager on the account working area in the Strategic Account Management application. This is a proposal from the delivery side, not a client ruling. If it is wrong, raise a change request against this screen.
- Widget kinds
- 22
- Integrator site starts with
- 16
- Other Class A starts with
- 11
- Bespoke instances
- 7
- Accounts with bespoke
- 2
- Customer visible bespoke
- 1
The widget library — 22 kinds
Every widget kind the Strategic Account Management application knows about. All 22 are marked portal capable in the source; whether a kind is allowed to reach a customer at all is the customer exposure ceiling, on its own screen.
Source Strategic Account Management, src/domain/widgets.ts. Labels, kind keys, how each widget opens and both flags are transcribed verbatim.| Widget | Kind key | How it opens | Data mastered in Strategic Account Management | Can ever reach the customer portal |
|---|---|---|---|---|
| Safety first | safetyFirst | External link | No | Yes |
| Sales dashboard | salesDashboard | Power BI | No | Yes |
| Market share | marketShare | Power BI | No | Yes |
| Top 10 spend | topTenSpend | Power BI | No | Yes |
| Quality & delivery | qualityDelivery | In app | Yes | Yes |
| Action log | actionLog | In app | Yes | Yes |
| Recycling | recyclingLog | In app | Yes | Yes |
| Supplier activity | supplierActivity | In app | Yes | Yes |
| Cost savings | costSavings | Read across from CRM | No | Yes |
| Reconditioning | reconditioning | External link | No | Yes |
| Activity log | activityLog | In app | Yes | Yes |
| Master order index | masterOrderIndex | In app | Yes | Yes |
| Approval drawings | approvalDrawings | In app | Yes | Yes |
| Innovation Hub projects | ihubProjects | Read across from EPMS | No | Yes |
| Supplier scorecard | supplierScorecard | In app | Yes | Yes |
| On-time delivery | otd | Read across from Power BI | No | Yes |
| Seco time on site | secoTimeOnSite | Read across from CRM | No | Yes |
| Custom report | customReport | Power BI | No | Yes |
| Pay per part | cppModel | In app | Yes | Yes |
| Consignment | consignment | In app | Yes | Yes |
| Obsolescence | obsolescence | In app | Yes | Yes |
| Tooling & cut times | toolingCutTimes | In app | Yes | Yes |
Default composition by account role
An integrator site starts with 16 widgets, and a non-integrator site with 11.
On every Class A account (11)
The set every Class A account is seeded with, whatever its role.
- Safety first
- Sales dashboard
- Market share
- Top 10 spend
- Quality & delivery
- Action log
- Innovation Hub projects
- Cost savings
- Activity log
- Approval drawings
- Reconditioning
Integrator sites only, in addition (5)
Added on top of the common set when the account is an integrator site.
- Recycling
- Supplier activity
- Supplier scorecard
- Seco time on site
- Master order index
Never part of a default set (6)
Present on an account only because somebody added it there.
- Custom report
- Pay per part
- Tooling & cut times
- Consignment
- Obsolescence
- On-time delivery
Bespoke instances — 7 across 2 accounts
Widgets that exist only because somebody added them to one account.
Source Strategic Account Management, src/mocks/seed/widget-instances.ts. Accounts, widgets, titles and customer visibility are transcribed verbatim from that seed.| Account | Widget | Title | Customer visible |
|---|---|---|---|
| GKN Aerospace Filton | Custom report | Drilling spend — last 12 months | Yes |
| GKN Aerospace Filton | Custom report | Turning spend — last 12 months | No |
| GKN Aerospace Filton | Obsolescence | Obsolescence | No |
| GKN Aerospace Filton | Consignment | Consignment | No |
| GKN Aerospace Filton | On-time delivery | On-time delivery | No |
| EWIE — RR Derby | Pay per part | Pay per part | No |
| EWIE — RR Derby | Tooling & cut times | Tooling & cut times | No |
Rules recorded
- Only Class A accounts receive a default widget set. Accounts of other types start with none.
- The account role picks the default set once, at seeding. It is never a runtime filter: an account's stored widgets always win. Changing an account's role later does not re-compose its wall.
- Users can add a widget of one kind only: custom report. It is scoped to the account it was added on. Custom reports are also the only kind a user can delete rather than hide.
- View and edit rights resolve per widget kind per account, never per instance. An account carrying two custom reports cannot give one of them a different right from the other.
Open questions raised here
Three open questions, raised by this register, unattributed and undated — they are ours, not client rulings. They also appear on the Open questions screen. A fourth, SA-05, is answered by the recorded position above.
- Unanswered
SA-06Widget composition
A custom report is recorded as a Power BI embed, but the prototype only links out to the report. Embed or link in the build?
Owner: Not attributed — raised here, undated
- Unanswered
SA-07Widget composition
Rights resolve per widget kind, not per widget instance. Is that acceptable for accounts carrying several custom reports?
Owner: Not attributed — raised here, undated
- Unanswered
SA-08Widget composition
The Strategic Account Management seed rewrites external link widgets to open in app when it creates instances, contradicting the widget library. Which is correct?
Owner: Not attributed — raised here, undated