Personnel Actions

8 min read

This guide covers the personnel action system in TalinoHR, including the 15 action types, approval workflow, auto-apply logic, clearance process, and integration with payroll and performance.

Overview

Personnel actions formalize and track all employment changes in your organization. Navigate to HRIS → Personnel Actions (/personnel-actions) to manage them.

Every personnel action records:

  • The employee affected
  • The type of action
  • Effective date
  • Required fields based on action type
  • Justification/reason
  • Supporting documents
  • Approval history

The 15 Action Types

TalinoHR supports 15 personnel action types, grouped by category:

Career Progression

Action TypeDescriptionRequired Fields
PROMOTIONMove to a higher positionNew Position (required), New Salary, New Department, New Reporting To (optional)
DEMOTIONMove to a lower positionNew Position (required), New Salary, New Department (optional)
MERIT_INCREASESalary increase based on performanceNew Salary (required)
SALARY_ADJUSTMENTSalary change (increase or decrease)New Salary (required)
REGULARIZATIONConvert from probationary to regularNone (auto-updates status)

Transfers

Action TypeDescriptionRequired Fields
DEPARTMENT_TRANSFERMove to a different departmentNew Department (required), New Position, New Reporting To (optional)
LATERAL_TRANSFERMove to equivalent position in another departmentNew Department (required), New Position (required), New Reporting To (optional)

Disciplinary

Action TypeDescriptionRequired Fields
WRITTEN_WARNINGFormal written warningNTE Issued Date, Hearing Date (optional)
PREVENTIVE_SUSPENSIONTemporary suspension pending investigationNTE Issued Date, Hearing Date (optional); max 30 days per Labor Code
DISCIPLINARY_SUSPENSIONSuspension as penaltyNTE Issued Date, Hearing Date (optional)

Separation

Action TypeDescriptionRequired Fields
RESIGNATIONVoluntary separationLast Working Day (required)
TERMINATION_JUST_CAUSEDismissal for employee fault (Art. 297)NTE Issued Date (required), Last Working Day (required), Hearing Date (optional)
TERMINATION_AUTHORIZED_CAUSEDismissal for business reasons (Art. 298-299)Last Working Day (required); requires 30-day advance notice
RETIREMENTEnd of employment due to retirementLast Working Day (required)

Other

Action TypeDescriptionRequired Fields
STATUS_CHANGEChange employment statusNew Employment Status (required)

Field Rules

Each action type has specific field visibility rules defined in lib/personnel-actions/field-rules.ts. Fields can be:

  • Required - Must be provided before submission
  • Optional - Can be provided but not mandatory
  • Hidden - Not applicable and not shown in the form

This ensures that users only see and fill in fields relevant to the action type. For example, MERIT_INCREASE only shows the New Salary field, while DEPARTMENT_TRANSFER shows New Department (required) and optionally New Position and New Reporting To.

Action Statuses

Personnel actions follow a 6-status lifecycle:

DRAFT -> PENDING -> [Approval Steps] -> APPROVED -> EFFECTIVE
                                      -> REJECTED
                                      -> CANCELLED
StatusDescription
DRAFTCreated but not yet submitted for approval
PENDINGSubmitted and waiting for approval
APPROVEDAll approval steps completed successfully
REJECTEDRejected at any approval step
CANCELLEDWithdrawn by the creator
EFFECTIVEApplied to the employee record on the effective date

Multi-Level Approval

Approval Chain Configuration

Approval chains are configured per action type in ComplianceSetting with keys formatted as approval-chain:<ACTION_TYPE> (e.g., approval-chain:PROMOTION).

Each chain defines a sequence of approval steps, where each step specifies:

  • The role required to approve (e.g., HR_ADMIN, PAYROLL_ADMIN)
  • The step order

Approval Process

  1. When a personnel action moves from DRAFT to PENDING, ApprovalStep records are created based on the configured chain
  2. Each step must be approved in order
  3. The current pending step is highlighted for the responsible approver
  4. Approvers can approve or reject at their step
  5. If any step is rejected, the entire action is rejected with the reason recorded

SUPER_ADMIN Override

SUPER_ADMIN users can approve at any step regardless of the chain configuration. This provides an administrative override for urgent situations.

API Routes

  • Submit for approval: Change status from DRAFT to PENDING
  • Approve step: POST /api/personnel-actions/[id]/approve-step
  • Reject step: POST /api/personnel-actions/[id]/reject-step

Auto-Apply on Effective Date

When a personnel action reaches APPROVED status and the effective date arrives, the system automatically applies the changes to the employee record.

What Gets Updated

The lib/personnel-actions/apply.ts module handles auto-apply in a database transaction:

Action TypeEmployee Fields Updated
PROMOTIONpositionId, departmentId, reportingToId, basicSalary
DEMOTIONpositionId, departmentId, reportingToId, basicSalary
MERIT_INCREASEbasicSalary
SALARY_ADJUSTMENTbasicSalary
REGULARIZATIONemploymentStatus -> REGULAR, regularizationDate
DEPARTMENT_TRANSFERdepartmentId, positionId, reportingToId
LATERAL_TRANSFERdepartmentId, positionId, reportingToId
RESIGNATIONemploymentStatus -> RESIGNED, separationDate, isActive -> false
TERMINATION_JUST_CAUSEemploymentStatus -> TERMINATED, separationDate, isActive -> false
TERMINATION_AUTHORIZED_CAUSEemploymentStatus -> TERMINATED, separationDate, isActive -> false
RETIREMENTemploymentStatus -> RETIRED, separationDate, isActive -> false
STATUS_CHANGEemploymentStatus

Payroll Integration

Payroll Adjustments

Salary-changing actions automatically create PayrollAdjustment records when applied:

  • MERIT_INCREASE - Creates an adjustment for the salary differential
  • PROMOTION - Creates an adjustment if salary changed
  • SALARY_ADJUSTMENT - Creates an adjustment for the difference
  • DEMOTION - Creates an adjustment if salary changed

These adjustments are consumed during payroll computation (Step 8.5 of the engine) and added to the otherEarnings component.

Retro Pay

If a salary-changing action has an effective date in the past (retroactive), the system computes a retro differential using lib/payroll/retro.ts:

  1. Count work days between the effective date and the current date
  2. Compute the daily rate difference (new salary - old salary)
  3. Create a payroll adjustment for the retro amount

Philippine Labor Compliance

The lib/personnel-actions/compliance.ts module enforces PH labor law requirements:

Twin Notice Rule (Termination for Just Cause)

For TERMINATION_JUST_CAUSE actions, the twin notice procedure requires:

  1. First Notice (NTE) - Written notice to the employee specifying the grounds
  2. Hearing/Conference - Opportunity for the employee to explain
  3. Second Notice (Decision) - Written notice of the decision

The NTE issued date field tracks the first notice. A minimum of 5 days must pass between the NTE and the termination.

Preventive Suspension Limit

PREVENTIVE_SUSPENSION actions are limited to 30 days maximum per the Labor Code. The system validates this limit.

Authorized Cause Notice Period

TERMINATION_AUTHORIZED_CAUSE requires 30 days advance notice to the employee and DOLE. The last working day must be at least 30 days from the action creation date.

Regularization Deadline

REGULARIZATION actions are tracked against the 180-day probationary period (Art. 296). The probation tracker alerts HR 30 days before the deadline.

Clearance Process

When a separation action (RESIGNATION, TERMINATION, RETIREMENT) is approved, clearance items are automatically created.

Clearance Categories

Five clearance categories are generated:

  1. IT/Equipment - Return of company devices, access card, keys
  2. Finance - Settlement of cash advances, petty cash
  3. HR - Return of company ID, handbook, uniform
  4. Department - Turnover of files, projects, responsibilities
  5. Admin - General administrative clearance

Clearance Workflow

Each clearance item must be signed off by the responsible department. The clearance status is tracked on the employee's personnel action record.

Final pay should only be released after all clearance items are completed.

Document Attachments

Personnel actions support file attachments via Cloudflare R2 storage:

  • Resignation letters
  • NTE documents
  • Medical certificates
  • Supporting evidence
  • Administrative hearing minutes

Upload attachments through the personnel action detail page.

Email Notifications

The system sends email notifications at key points:

  1. Action Created - Notifies the next approver
  2. Step Approved - Notifies the next approver or the action creator if fully approved
  3. Step Rejected - Notifies the action creator
  4. Action Effective - Notifies the employee

Emails are sent via Mailjet and are best-effort (failures do not block the action).

Performance Integration

Disciplinary Actions

When a DISCIPLINARY_SUSPENSION action is applied, the system automatically creates a 90-day Performance Improvement Plan (PIP) for the employee. This ensures follow-up tracking after the disciplinary period.

Regularization

When a REGULARIZATION action is applied, it automatically links to the employee's latest completed performance review via the linkedReviewId field. This creates a documented connection between the performance evaluation and the regularization decision.

Reports

Navigate to Reports → Personnel Reports (/reports/personnel) for:

Turnover Report

  • Monthly breakdown of separations
  • Department-level grouping
  • Turnover rate calculation (separations / average headcount)
  • Year-over-year comparison
  • Export as CSV

Promotion Report

  • List of promotions within a year
  • Before and after position and salary
  • Department breakdown
  • Export as CSV

Action Templates

Frequently used action configurations can be saved as templates in ComplianceSetting with the key action-templates. Templates pre-fill common fields to speed up personnel action creation.

Dashboard Widgets

The personnel actions dashboard displays three KPI cards:

  1. Actions This Month - Total personnel actions created in the current month
  2. Pending Approvals - Number of actions waiting for approval
  3. Regularizations Due - Probationary employees approaching the 180-day deadline