This guide walks through a suggested approach for off-boarding an employee's payroll, generally completing these payroll-related steps before terminating them in the system. The order and specifics below can be adapted to fit your situation.
Step 1: Confirm Final Pay Details
Before touching payroll, confirm the following common requirements with the manager or HR:
Before touching payroll, it can help to confirm the following with the manager and employee:
- Last day worked and total approved hours for the final pay period
- Confirm all timesheets are entered and approved through the last day worked
- Whether pay in lieu of notice is owed
- Any outstanding bonuses, commissions, or lump-sum amounts
- Any benefit deductions that still need to be taken, or future deductions that no longer apply
- Written consent on whether the employee wants their T4 issued electronically or as a paper copy
- Confirm the employee's mailing address where any paper forms will be sent
Having this confirmed up front avoids rework once the pay run is open.
Step 2: Enter One-Off Pay Details for Special Payments
Before opening (or during) the pay run, enter any termination-related payments separately from regular time. This keeps payroll reporting accurate and ensures the ROE generates correctly. Common examples:
- Severance pay
- Pay in lieu of notice
- Vacation pay paid out on termination (lump sum)
Where: Payroll Administration > Payroll Activities > Enter One-Off Pay DetailsTiming: enter one-off pay before opening the pay run. If the pay run has already been opened, select Add One-Off during the pay run instead — but entering it beforehand is the preferred process, so that in the event of a rollback the data is not lost.
Step 3: Process Final Pay
Once you know the final numbers, start the Pay Run and calculate the employee's last regular pay. How this works depends on the employee type:
- Hourly employees: if timesheet entries are used, approved hours flow through to the pay run automatically — no manual adjustment or proration is needed.
- Salaried employees: since salary isn't tied to timesheet hours, the final pay must be prorated to the last day worked. There are two ways to do this, depending on the situation.
Option 1: Manual Adjustment (No Proration)
Manually calculate and enter the employee's pay based on remaining hours. Use this when you prefer full control or the payout doesn't fit a standard scenario.
Adjusting system-prorated hours with a Partial Pay Adjustment
ZonePayroll sometimes calculates a full pay period's hours (e.g., 86.667 hours for a salaried employee) even when the employee should only be paid for part of the period. Rather than editing the salary setup itself, correct this with a Partial Pay Adjustment.
Example
- Pay period: July 16–28
- Annual salary: $75,000
- System-calculated hours: 86.667
- Actual hours to be paid: 24
How to adjust:
- During the pay run, the system calculates 86.667 hours under Normal Time.
- Add a new earnings line using the Partial Pay Adjustment pay code.
- Calculate the reduction: 86.667 − 24 = 62.667
- Enter 62.667 as the adjustment value (no negative sign needed).
- The system subtracts this automatically, leaving Normal Time at 24 hours.
Option 2: System Proration (Automated)
ZonePayroll can automatically prorate final pay using either:
- Working days (recommended by the National Payroll Institute), or
- Calendar days
This is the better option for salaried employees, since it calculates earnings proportionally based on the last day worked.
Setup requirement: for the system to prorate correctly, you must end-date the employee's pay component subtype (e.g., Base Salary) as of their last paid day.
- Go to Payroll Records > Employee List > Employee > Pay Components
- Edit the active pay component (e.g., Base Salary)
- Set the End Date to the employee's last paid day
- Save your changes
Once saved, running payroll will automatically calculate the correct prorated amount.
Example — working days proration
- Pay period: July 16–28
- Employee last day paid: July 19
- Annual salary: $75,000 → 2,080 hours/year (52 weeks × 40 hrs) → $36.06/hour
- Working days in period before last day: July 16, 17, 18 = 24 hours
- Prorated final pay: 24 hours × $36.06 = $865.44
Step 4: Complete the Pay Run, Issue the ROE, and Terminate the Employee
With final pay and one-off payments entered, finish the process in this order:
- Run payroll to pay the employee's final amounts.
- Issue the Record of Employment (ROE) for submission to Service Canada. See: How to Issue a Record of Employment (ROE) in ZonePayroll (KB article).
- Terminate the employee in the system — only after final pay and the ROE are complete.
⚠️ Do not mark the employee as inactive until after the taxation year in which their final T4 is issued has passed. Marking them inactive too early can prevent accurate T4 generation and reporting for that year.
Steps to terminate an employee:
- Search for the employee profile via Global Search, or Payroll Administration > Payroll Records > Employee List.
- Click Edit on the employee record.
- Go to the HR tab and scroll to Termination Info.
- Complete the following fields:
- Termination Date — last day worked or paid for
- Termination Type — e.g., Voluntary, Involuntary, Layoff
- Employment End Reason — e.g., Resignation, End of Contract
- Termination Notes — optional context or documentation
- Termination Details — e.g., Return Not Expected, Discharge, Quit
- Save your changes to update the employee's status.
What happens next:
- The employee is classified as Terminated in NetSuite/ZonePayroll.
- They're automatically excluded from future pay runs.
💡 Tip: Double-check that the Termination Date matches the final day paid — this keeps ROE accuracy and payroll cutoff aligned.
Related to: ROE | Salary Continuance | One-Off Entries CSV Process