Skip to main content

👤 Employee Off-boarding Flow

This section covers how to remove an employee from active payroll both temporarily and permanently. ⚠️ Warning: Terminated employees cannot be reactivated.

Choose the right endpoint

Important notes

W-2s for deactivated and terminated users

Deactivated and terminated users are still included in tax document generation when applicable. If an employee was paid through Rollfi during the tax year, Rollfi will still generate the employee’s W-2. This is true even if the employee is no longer active at the time W-2s are produced.

Record retention for compliance

Terminated-user records are retained for compliance, audit support, and historical payroll reporting for 3 years based on Rollfi retention policy.

🔹 deactivateUser

Purpose: Temporarily remove a user from active payroll workflows. When to use:
  • The user is on leave or temporarily inactive.
  • You may need to bring the user back later.
Expected outcome:
  • User is no longer treated as active.
  • User can be returned with activateUser.
  • A temporary email can be applied while the user is inactive, if required by your workflow.
  • Employee status becomes Deactivate.
Payroll behavior:
  • If finalPayCheckType is set to regular payroll cycle, an open unprocessed regular pay period exists, and exitDate falls inside that pay period, the employee can remain in that open period.
  • In that case, totals for the open pay period are prorated based on exitDate.
  • Employees will not be included in pay periods after their exitDate Required fields:
  • userId
  • exitDate
  • personalEmail
  • finalPayCheckType
FinalPayCheckType guidance:
  • Choose the value that reflects how payroll should handle the employee’s final check for this offboarding event.
  • Because deactivation is reversible, treat this as a temporary offboarding payroll instruction that can be superseded by later lifecycle actions.

🔹 terminateUser

Purpose: Permanently terminate a user. When to use:
  • The separation is final.
  • You do not plan to reactivate the user.
Expected outcome:
  • User is moved to a terminated state for reporting/history.
  • This should be treated as permanent off-boarding.
  • Rollfi will still issue a W-2 if the employee received pay through Rollfi.
  • Employee status becomes Terminate.
Payroll behavior:
  • If finalPayCheckType is set to regular payroll cycle, an open unprocessed regular pay period exists, and exitDate falls inside that pay period, the employee can remain in that open period.
  • In that case, totals for the open pay period are prorated based on exitDate.
  • If exitDate is outside unprocessed regular periods, the employee may be removed from unprocessed periods instead of being prorated.
  • Other unprocessed regular pay periods may be cleaned up so the employee is not paid beyond the intended final period.
Required fields:
  • finalPayCheckType
  • terminationChoice
  • exitDate
  • personalEmail
FinalPayCheckType guidance:
  • Treat this as the definitive final-pay handling choice for a permanent separation.
  • Use the value that matches your final payroll policy for the terminated employee.
Additional terminate validation:
  • User must currently be active. Terminate returns validation errors for inactive or non-active-status users.

🔹 activateUser

Purpose: Reactivate a previously deactivated user. ⚠️ Important:
  • This endpoint is only for deactivated users and is not required for regular onboarding of new employees.
Use this when:
  • A deactivated employee is returning and should be active again.
What to expect:
  • Employee status becomes Active.
  • The employee can be added back to payroll and other workflows.

🔹 Statuses and verification

getUsers: Returns users for the company across statuses (not only Active). Deactivate status: Retrieved with getDeactivatedUsers. Terminate status: Retrieved with getTerminatedUsers.