Salary Progression
The module's most strategic output: a transparent, auditable path from a performance rating to a salary-step change. It follows the standard merit-matrix / step-progression model — and it's advisory at every turn.
The model in one picture
Rating → step change
Each rating band maps to a default step change and, for sustained performance, a consecutive-rating bonus. All of it is configurable, but the shipped defaults are:
| Rating | Step change | Flag | Consecutive rule |
|---|---|---|---|
| Outstanding | +2 | merit-bonus eligible | 3× in a row → grade-promotion eligible |
| Exceeds | +1 | — | 3× in a row → one extra step |
| Meets | 0 | — | — |
| Needs Improvement | 0 | PIP triggered | 2× in a row → salary-freeze flag |
| Unsatisfactory | 0 | mandatory PIP | 2× in a row → demotion review |
How a step becomes a salary
ERPat salaries sit on a grade / step structure. A grade is a band with a minimum, a maximum, a number of steps, and a per-step increment. A step change moves the employee along that band:
new_step = current_step + step_change (floored at 1, capped at grade's total steps)
new_salary = grade.min_salary + (new_step − 1) × grade.step_increment
new_salary = min(new_salary, grade.max_salary) (never exceeds the band ceiling)The engine reads the employee's real current grade, step and salary, applies the change, prices the new step, and records the peso difference and percentage — all captured in the recommendation's computation log.
Rewarding sustained performance
One great cycle earns a step; three great cycles earn more. The engine looks back over an employee's recent finalized cycles and counts consecutive same-band ratings:
Three Outstandings in a row flags grade-promotion eligibility — the employee can move to the first step of the next grade rather than just climbing steps.
Three Exceeds in a row adds one bonus step on top of the normal +1.
Two weak cycles in a row flag a salary freeze — no step change even if the rating ticks up.
Two Unsatisfactory cycles flag a demotion review for HR to consider.
Worked example
Maria Santos, developer, Grade 3 Step 3 (₱37,500/mo; ₱3,750 per step), scores 4.62 Outstanding — her third Outstanding in a row.
1. Rating band : Outstanding (4.62 ∈ 4.50–5.00)
2. Step change : +2
3. Consecutive check : 3× Outstanding → grade-promotion eligible
4. +2 puts her at Step 5 (grade ceiling) → promote to Grade 4, Step 1
5. New salary : ₱45,000 (Grade 4 min)
Increase : +₱7,500 / mo (+20.00%)
Flags : merit_bonus_eligible, grade_promotionEdge cases & safeguards
at_grade_ceiling. If already at the highest grade, it caps and flags accordingly.The approval workflow
Generated
On calculation (with salary auto-trigger on), a recommendation is created per employee as Pending.
Reviewed
A manager opens Recommendations, reads the score, rating, step change and new salary, and decides.
Approved
Approved creates a draft salary-history record with a reason tied to the KPI cycle and rating — then it follows the normal payroll approval flow. An audit-log entry is written.
Rejected
Rejected records the decision and creates no salary record. Also audit-logged.
Why this matches industry practice
Mapping a performance rating to a defined increase is the classic merit-increase matrix — here expressed as salary steps so raises stay inside governed grade bands.
Increases are tied to measured performance and bounded by grade ceilings and an annual cap, so pay stays equitable and within budget.
Every change is a recommendation a manager approves, with a full audit trail — the defensibility HR needs for compensation decisions.
Consecutive-rating bonuses reward consistency, not a single lucky quarter — and consecutive weakness triggers PIPs early.