Pilotage: role centers and risk signals
What the screen shows day to day: role centers by trade, factbox, action center, the twelve risk signals and their thresholds, the affair report, and the copilot that reads the same structured refusal as the engine.
This page describes the pilotage screens a user meets every day once rules and packs are in place: a home page that reshapes itself by role, the contextual summary of a record, the priority list that pushes toward action, risk indicators with their supporting documents, the affair report that aggregates quote-purchasing-production, and the copilot that explains a refusal in the user's own language.
Role centers
A home page per role
The home page can switch from a generic dashboard to a role center (Business Central pattern): seven roles — buyer, workshop lead, accountant, commercial, HR, quality, direction — each with their own KPI tiles and queues (purchase requests to process, receptions to control, invoices to send…). The toggle is remembered per browser (avia-role-center in local storage); switching role redraws the tiles without leaving the page.

Role center, Buyer role: purchase requests, POs to send, receptions, invoices, at-risk suppliers.

The toggle and the role switch both redraw the tiles in place, without leaving the page.

Accountant role: the tiles change (overdue invoices, periods to close); the action center stays the same panel.

Workshop Lead role: production queues (MOs, workstations, NC) instead of purchasing or finance tiles.
The contextual summary (factbox)
The panel that follows the selection
A factbox is a side panel that follows the current record without a full navigation: the same Document Flow panel described on the overview page appears as a preview on the invoice, supplier and purchase-order lists when a row is selected, and a supplier or item record carries its own summary (identity, classification, activity) plus the risk banner when signals cross their threshold — visible below on the supplier record.

Résumé factbox (right) and risk banner (top): the same signal read two ways on the same record.

Checking a row opens the factbox; checking a second row also surfaces the bulk action bar (archive, delete).

The same factbox on an MO: quantity, operations, and — once completed — its traceability lot and quantity.
Action center
The list that pushes toward action
Next to the role tiles, the action center (visible on the right of the capture above) ranks what needs a decision now — items requiring attention first, then the rest of the queue — instead of a flat KPI list. It reads as an approximate sample, not yet an API aggregate (the portal says so explicitly, roleCenter.approximateHint), and each row links straight to the record.

The same action center on the classic dashboard (role center off): requires attention, AI detections, suggested tasks.
Risk signals
Twelve indicators, configurable thresholds
A dedicated engine (internal/risk) computes twelve indicators — supplier reliability, item lead time, workstation availability and breakdowns, carrier delays — each over a default 90-day window, configurable. Thresholds are not constants: the seuil_risque rule type parametrizes them per indicator (attention, critique, fenetre_jours, echantillon_min), at tenant, supplier, item or workstation scope. Without a configured rule, built-in defaults apply.
| Indicator | Entity | Means |
|---|---|---|
supplier.otd | Supplier | on-time receipts / total receipts |
supplier.retard_moyen_j | Supplier | average delay of late receipts, in days |
supplier.taux_nc | Supplier | nonconformities / receipts |
supplier.note | Supplier | latest evaluation score and its age |
article.delai_reel_vs_annonce | Item | gap between actual and announced lead time |
workstation.couverture_qualif | Workstation | share of assigned operators qualified at the required level |
employee.qualif_poste | Employee × workstation | assigned, required level, certification current? |
workstation.pannes_90j | Workstation | number of breakdowns in the window |
workstation.mtbf_h | Workstation | mean time between failures, in hours |
workstation.disponibilite | Workstation | average workstation availability over the window |
carrier.retard | Carrier | share of late deliveries |
article.taux_nc | Item | nonconformities / completed manufacturing orders |
Each signal returns { code, valeur, unite, fenetre_j, n_echantillon, preuve[] } — the proof is 3 to 5 supporting documents, never a bare score. On the flow-designer, the same engine evaluates a whole flow at once and ranks the most likely problems, critical first — the capture below shows three critical signals surfaced on a flow named after the risk it demonstrates.

Simulation on the flow “SEED-FLOW-Risque critique”: estimated cost and lead time, then the probable problems, critical first.
Affair report
Figures, milestones, documents, risks
The affair report aggregates one affair’s numbers in one screen: budget, quoted (from the quote), committed (purchase orders), actual, projected cost and real margin; its milestones; a document count (quotes, purchase orders, manufacturing orders, delivery notes) with the same document-flow chain described on the overview page; and the risk engine’s probable problems for that affair specifically (GET /api/v1/risks/affair/{id}).

Affair report: figures, milestones, documents and document flow, probable risks — one screen per affair.
This is exactly the screen the Contrôle de gestion pack sets up for: the AFFAIRE dimension required on invoices feeds the “engaged / actual” figures shown here — see the management-control example.
The copilot
The same refusal, explained
The copilot rail (visible on the right edge of every capture on this page) reads the same structured refusal ({ code, params, message }) that a rule produces, to explain it in plain language and guide the user toward the fix — changing the received quantity, choosing another period, requesting an approval. The prompt restricts it to only the context provided: the copilot explains, it does not compute its own numbers.
On the flow-designer and on an affair page, the same alert list the risk engine computes is injected into the copilot’s context — the same JSON the panel shows, nothing recalculated on the AI side. Ask it “why is this node red” and it reads the indicator, the threshold crossed, and the supporting documents already returned by the engine.
GET /api/v1/ai/explain-refusal
{
"code": "habilitation_requise",
"params": { "operateur": "Amine T.", "poste": "Sertissage 3", "niveau_requis": 2 },
"message": "Operator Amine T. is not qualified at the required level (level 2) for workstation Crimping 3."
}← Back to Business Rules and Control
See also : Type catalog · Packs by trade · Deployment · Examples by sector · Copilot · Status profiles







