FAQ & Troubleshooting
The questions people actually ask, and the quick fixes for the things that look broken but usually aren't. Grouped by theme — expand any question.
Access & visibility
The sidebar group needs the
kpi_matrix_manage permission and the module enabled. If you're an ordinary employee you won't have a sidebar entry — your KPIs live on your profile's KPIs tab. If you're a manager and it's still missing after being granted the key, an admin may need Settings → Left Menu → Restore to default to refresh the saved menu.Check the module is enabled (
module_kpi_matrix). The tab shows on your own profile without any permission; on someone else's profile you need the kpi_matrix permit and to be in scope.No. Only you (your own profile) and managers within whose scope you fall. The company leaderboard on the Overview is manager-only, and the detail scorecard checks ownership before opening — so no one can read a colleague's scores by guessing an ID.
kpi_matrix (Access) is a member-scoped view permit for seeing others' KPIs; kpi_matrix_manage (Manage) unlocks the whole manager workspace and all actions. See Permissions & Roles.Scores & data
The cycle hasn't been scored yet. A manager needs to click Calculate on the Open cycle, or the nightly job runs it after the period ends. Until then there's no composite to show.
There was no data to measure it in the period — e.g. no tickets assigned, so the ticket metrics have nothing to score. Blank metrics are excluded from the score (never counted as zero) and their weight is handed to the metrics that did compute. This is by design; it protects people from being penalised for work they weren't given.
Fewer than 60% of the template's metrics produced a value — usually a new hire or someone on extended leave. The composite is shown but flagged low confidence; don't rank or make pay decisions on it. See Data Sufficiency.
Open the employee's assignment detail (Team Matrix → View) and read the Category Breakdown: each metric shows its raw value, normalized score and weight. Every score also keeps a computation log of its inputs and formula, so any number can be traced back to source. Fix the underlying record, then Recalculate that one person.
Usually it means the weights or thresholds are too soft, or a strict category is disabled. Revisit the template: are the demanding metrics enabled and weighted? Remember Task Quality currently trends high (rework isn't tracked yet) and on-time metrics don't contribute (no completion timestamp) — so a template leaning on those will look generous.
They're bell-curve metrics — healthiest in the middle. Too much overtime signals burnout; never taking leave signals presenteeism. Both extremes score lower on purpose. See Scoring → bell-curve.
Cycles & calculation
Calculate only appears while a cycle is Open. Check the status badge — a cycle in Draft, Calculating, Review or Finalized won't show it. If you need to re-score after finalizing, recalculate a single assignment from its detail modal instead.
Delete is only available while a cycle is Draft or Open — once results exist that people may rely on, deletion is blocked. Archive it instead.
The job only touches cycles that are Open, have Auto-calculate switched on, and whose period end date has passed. If any of those isn't true it's skipped. Confirm the cron runner is active (
php erpat cron:list) and the flag is set, or just click Calculate manually.Manual entries must be saved before calculation. If you added it after, open that employee's detail and click Recalculate to fold it in.
No employees are assigned yet. Go to Team Matrix → Assign Employees for that cycle first, then calculate. The Progress bar is “scored ÷ assigned”, so with nobody assigned it can't move.
Salary recommendations
Recommendations only generate when salary auto-trigger is enabled and the employee is on a graded pay structure. Someone without a salary grade is flagged for manual review instead. Also, Meets / Needs Improvement / Unsatisfactory ratings propose a 0-step change — a valid recommendation, just not a raise.
These are safeguards: manual review = no salary grade to price against; at grade ceiling = the increase would exceed the grade's top step (it caps, or promotes if warranted). Both need an HR decision rather than a straight approve. See Salary → edge cases.
No. Approval creates a draft salary-history record that still goes through your normal payroll approval flow. The KPI Matrix never writes a live salary on its own.
Not by default. Weak ratings hold pay and flag a PIP; they never propose a decrease. Explicit demotion is a separate, off-by-default policy that requires extra approval.
Configuration
Edit the role's template: enable/disable metrics and adjust category weights (they must total 100%). New cycles using that template pick up the change; already-calculated cycles keep their historical scores.
The default template's Delete action is intentionally hidden so cycles always have a fallback scorecard. Edit it instead, or create and use a new one.
It can't be measured automatically, so if you enable it someone must type a value per employee each cycle (Manual Entries). Only enable manual metrics you're prepared to maintain.
No — Policy Adherence already rolls up Discipline (60%) and Leave Compliance (40%). Enabling all three at full weight double-counts conduct. Pick one approach.
????
Still stuck? Re-check the setup in Getting Started, the access
rules in Permissions & Roles, or the exact behaviour of a metric in
The 29 Metrics. The developer docs alongside these HTML files
(
docs/00–07*.md) go deeper still.