Skip to main content
After completing your offboarding process in your HRIS or employee management platform, there are a few steps to take in order to complete your offboarding in Nmbr:
  1. Update the effective_to date on the employee’s recurring items (Pay Rates, Earnings, Allowances, Benefits, Deductions, Reimbursements) to stop payment.
  2. Add severance to the employee’s pay stub, including any unpaid vacation time.
  3. Issue a Record of Employment (ROE).
  4. Archive the Work Assignment and/or Employee to remove them from future payrolls.
Nmbr does not keep track of termination and rehire information outside of Records of Employment (ROE). This is typically a task for your HRIS or employee management system.

Termination

Ending Recurring Items

In order to stop paying an employee, you will need to set an effective_to date on all active recurring items attached to the Work Assignment. This includes Pay Rates, Earnings, Allowances, Employee Benefits, Employer Benefits, Deductions, and Reimbursements. You can set this date in the future in order to align with the last day of the employee’s employment. End a Pay Rate
curl --request PUT \
     --url https://sandbox.nmbr.co/services/payroll/pay_rates/:pay_rate_id \
     --header 'Authorization: Bearer <access_token>' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '{
          "effective_to": "2025-03-01"
        }'
Repeat this for each active recurring item (Earnings, Allowances, Benefits, Deductions, Reimbursements) attached to the Work Assignment.
You can also use the terminate endpoint to set the effective_to date on all active recurring items in a single request. This sets the same effective_to date across all Pay Rates, Earnings, Allowances, Benefits, Reimbursements, and Deductions for the Work Assignment.
Using the Terminate Endpoint
curl --request POST \
     --url https://sandbox.nmbr.co/services/payroll/work_assignment/:work_assignment_id/terminate \
     --header 'Authorization: Bearer <access_token>' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '{
          "effective_date": "2025-03-01",
          "archived_at": "2025-03-02"
        }'
The optional archived_at parameter lets you archive the Work Assignment in the same request.

Adding Severance Pay

The Canada Labour Code outlines requirements for severance pay. In order to accommodate many different types of severance payments, Nmbr allows you to add these as regular earnings to your employee’s pay stub. Request
curl --request POST \
     --url https://sandbox.nmbr.co/services/payroll/earnings \
     --header 'Authorization: Bearer <access_token>' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '{
          "pay_stub_id": "01h3mfbb506cgb0yje5bmn9f6k",
          "earning_type": "severance",
          "amount": 1000
        }'

Issue a Record of Employment

A Record of Employment (ROE) provides information on employment history. It is the single most important document used by employees to apply for Employment Insurance (EI) benefits. Service Canada uses the information on the ROE to determine whether a person is eligible to receive EI benefits, what the benefit amount will be, for how long the benefits will be paid and to ensure that no one misuses EI funds or receives benefits in error. As an employer, you are required to issue an ROE each time one of your employees experiences an interruption of earnings. See the Record of Employment guide for more details.

Archiving

Once an employee’s final payroll has been processed, archive the Work Assignment and optionally the Employee record to remove them from active lists and future payrolls. Archive a Work Assignment Set the archived_at attribute on the Work Assignment to the day after the employee’s final pay period. This prevents the Work Assignment from generating pay stubs on future payrolls.
curl --request PUT \
     --url https://sandbox.nmbr.co/services/payroll/work_assignments/:work_assignment_id \
     --header 'Authorization: Bearer <access_token>' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '{
          "archived_at": "2025-03-02"
        }'
Archive an Employee Set the archived_at attribute on the Employee to remove them from the default employee list. You can still query the employee directly by ID.
curl --request PUT \
     --url https://sandbox.nmbr.co/services/payroll/employees/:employee_id \
     --header 'Authorization: Bearer <access_token>' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '{
          "archived_at": "2025-03-02"
        }'

Rehiring

When rehiring a previously terminated employee, the process is essentially the reverse of termination. There is no dedicated rehire endpoint — instead, you compose the rehire from individual API calls to unarchive, reactivate, or create new recurring items. The key steps are:
  1. Unarchive the Employee (if archived).
  2. Unarchive the Work Assignment to resume generating pay stubs.
  3. Reactivate or create new Pay Rates, Earnings, Allowances, Benefits, Deductions, and Reimbursements.

Step 1: Unarchive the Employee

If the Employee was archived at termination, clear the archived_at field to make them visible in employee lists again.
curl --request PUT \
     --url https://sandbox.nmbr.co/services/payroll/employees/:employee_id \
     --header 'Authorization: Bearer <access_token>' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '{
          "archived_at": null
        }'

Step 2: Unarchive the Work Assignment

Set archived_at to null on the Work Assignment. This triggers Nmbr to automatically generate draft pay stubs for all upcoming payroll periods on the associated Pay Schedule.
curl --request PUT \
     --url https://sandbox.nmbr.co/services/payroll/work_assignments/:work_assignment_id \
     --header 'Authorization: Bearer <access_token>' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '{
          "archived_at": null
        }'
Once the Work Assignment is unarchived, Nmbr will automatically create draft pay stubs for future payroll periods. However, these pay stubs will be empty until you reactivate or create recurring items (Pay Rates, Benefits, etc.) for the Work Assignment.

Step 3: Reactivate or Create Recurring Items

You have two approaches for restoring an employee’s pay configuration after a rehire. Choose the approach that best fits your data architecture and product requirements.

Option A: Reinstate Existing Items

Remove the effective_to date from the items that were ended at termination. This reactivates the original records so they apply to future payrolls.
curl --request PUT \
     --url https://sandbox.nmbr.co/services/payroll/pay_rates/:pay_rate_id \
     --header 'Authorization: Bearer <access_token>' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '{
          "effective_to": null
        }'
Repeat for each recurring item (Earnings, Allowances, Benefits, Deductions, Reimbursements) that should be reactivated.
Reinstating existing items removes the historical effective_to date, which means the item will appear as if it was never ended. This may not accurately reflect the employee’s actual employment history. If maintaining a clear timeline of each employment period is important to your integration, consider creating new items instead.

Option B: Create New Items

Create new recurring items with a fresh effective_from date set to the rehire date. This preserves a clear timeline where each employment period has its own set of items with distinct effective_from and effective_to ranges. Create a new Pay Rate
curl --request POST \
     --url https://sandbox.nmbr.co/services/payroll/pay_rates \
     --header 'Authorization: Bearer <access_token>' \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --data '{
          "work_assignment_id": "<work_assignment_id>",
          "rate_type": "salary",
          "rate": 75000,
          "effective_from": "2025-06-01"
        }'
This approach gives you a clean audit trail:
PeriodItemeffective_fromeffective_to
First employmentPay Rate (Salary)2024-01-012025-03-01
RehirePay Rate (Salary)2025-06-01null
Repeat for each type of recurring item the employee should have upon rehire — Earnings, Allowances, Employee Benefits, Employer Benefits, Deductions, and Reimbursements.
If the employee’s compensation or benefits have changed since their termination, Option B is the natural choice since you’ll be setting up the new terms from scratch.

Summary

StepActionEndpointKey Field
1Unarchive EmployeePUT /employees/:idarchived_at: null
2Unarchive Work AssignmentPUT /work_assignments/:idarchived_at: null
3aReinstate existing itemsPUT /pay_rates/:id (etc.)effective_to: null
3bCreate new itemsPOST /pay_rates (etc.)effective_from: <rehire_date>
Remember that an Employee may only have one active Work Assignment per Pay Schedule. If the employee is returning to the same Pay Schedule, you must unarchive the existing Work Assignment rather than creating a new one.