Skip to content

Bonus qualification dashboard

Route: /dashboard/bsc-bonus
Audience: Managers scanning a team; employees still see their own row in self scope

The Bonus qualification page answers: Who is bonus-ready this month, and which gate is blocking whom?

It complements the other BSC dashboards:

PageRouteQuestionTime lens
Balanced Scorecard/dashboard/bscWhat happened this month?Single month
Target Score Report/dashboard/bsc-targetWhat do I need to reach the next remark?Forward / planning
Bonus qualification/dashboard/bsc-bonusWho is bonus-ready, and which gate failed?Single month
Monthly performance/dashboard/bsc-performanceHow did scores move through the cycle?Full cycle (12 mo)
Performance comparison/dashboard/bsc-comparisonHow do segments compare in the cycle?Full cycle (aggregated)

Gate definitions and payout rules: User-month calculation § Bonus qualification.


Controls

  • Month picker — Same calendar month and available-months source as Balanced Scorecard.
  • Scope filters — Cluster, department, site (when the access pool spans multiple sites), employee, BSC Eligible / Bonus Eligible, and Bonus Qualified / Not Qualified (when those labels are present).
  • Filter persistence — Shares month + scope session/URL state with Balanced Scorecard and Target Score Report (Month lens). Switching among those pages keeps your filters.
  • Sync — Level-5 users can sync / finalize from the float panel (same month-report controls as Balanced Scorecard). Draft vs final labels apply to synced data.

Page sections (top to bottom)

Qualification summary

One panel above the matrix:

  • Qualification rate% and count of qualified employees in the current filtered scope, plus a stacked bar (qualified vs not qualified).
  • Tiles — In scope · Qualified · Not qualified.

Counts respect the same scope filters as the table (not a separate query).

Team matrix

One row per employee in scope. Column order:

ColumnMeaning
EmployeeName + employee ID; opens Balanced Scorecard for that person when you can filter employees
QualificationQualified / Not qualified (hover = full gate breakdown)
TenureSBS labels — Newbie / Advance / Intermediate / Tenured — as of last day of the selected month (same buckets as SBS entries)
BSC GoalGoal-band minimum threshold for level + years-employed tier, plus current remark badge
Total BSCWeighted total for the month
Per-KPM scoresOne column per KPM from scorecard metrics config (includes discretionary additional-points boosts when applied)
Gate columnsPass / Fail / — for: Bonus eligible · Goal band · No attendance issues · No incidents · Red flags · Timely weekly submission

Sticky columns: Employee and Qualification stay fixed on the left while you scroll horizontally. The header row stays fixed while you scroll vertically. The page shell is sized so only the matrix scrolls, not the whole dashboard body.

Hover: Gate cells and Qualification show the same breakdown detail as Balanced Scorecard export / Scope panel.


Sorting

Click any column header to sort (indicator: ↕ inactive · ↑ ascending · ↓ descending).

Column typeFirst click
Total BSC, KPM scores, BSC GoalHighest first
Qualification, gate columnsFail / Not qualified first
Employee, TenureA→Z / lower tenure first

Default sort: Total BSC high → low, then employee name A→Z as tie-breaker.

Export uses the current sort order.


Data sources

No dedicated bonus API. The page reuses:

SourceProvides
GET /v1/dashboard/bsc/month-snapshotEmployees, totals, eligibility, qualification + breakdown
GET /v1/scorecard/configurations?year=&month=KPM columns, total-score goals (Goal threshold / remark)

Client-side only:

  • SBS tenure from hire_date as of month-end
  • Goal threshold and remark from total-score goals + years_employed / level
  • Per-KPM totals via the same weighted helpers as Balanced Scorecard

When BigQuery is enabled, aggregate/manager views read pre-aggregated user-month rows (same as Balanced Scorecard aggregate). Self view still uses live Mongo for that employee’s other BSC surfaces; this matrix follows the month-snapshot path for whoever is in scope. See BigQuery dashboard § Read path.


Export

Export downloads an Excel workbook matching the matrix: Employee ID, Name, Bonus Qualification, Tenure, Goal threshold, Remark, Total BSC, each KPM, then each gate (Pass / Fail / blank).