Every payroll run ends with a decision that does not look hard until it is wrong: which reason code goes on the Record of Employment. A missed ROE filing deadline or a code that contradicts the employee's side of the story can stall an EI claim by weeks, and the explanation you give Service Canada will not fix the gap in the employee's bank account. This guide covers ROE reason codes explained Canada employers, bookkeepers, and payroll providers need, including when to use each code, how to avoid common errors, and what to do if you have already filed one with the wrong code.

If you are newer to payroll, start with our step-by-step guide to how to run payroll in Canada before you dig into the codes. The ROE is only one part of a payroll process that also includes remittances, tax tables, and year-end reconciliations.

What you will find here

  • Why the ROE reason code matters
  • ROE reason codes explained
  • Insurable hours and earnings
  • How to choose the right code
  • When to issue an ROE and how to submit it
  • How to avoid ROE error traps
  • Manual vs automated ROE filing
  • Municipal and seasonal employers
  • FAQ
  • What to do next

Why the ROE Reason Code Matters

The reason code is the single most important field on an ROE because it tells Service Canada why the employment relationship changed. That one letter drives whether the worker can receive regular EI benefits, how long the waiting period is, and whether you will be asked to support the claim with documents.

The term 'interruption of earnings' is the trigger for an ROE, and the reason code explains what kind of interruption it is. Service Canada does not know about your workplace from the inside. It relies on the code you enter to route the claim to the right review path. Code A generally means the employee is not at fault, so the claim moves normally. Code E tells Service Canada to look at whether the employee left without just cause, which can delay benefits. Code M can prompt questions about the dismissal if misconduct is alleged.

An incorrect code is not a small clerical error. It can lead to a false overpayment, a hearing, and an employment record that does not match what the employee tells Service Canada. The employee will feel the consequences in their bank account, and you will spend time answering requests instead of closing the payroll. Correcting an ROE takes time and does not always reset the clock cleanly.

Employers often treat the reason code as a formality because the employee is gone and the payroll file is nearly closed. That is exactly when mistakes happen. A dismissed employee is more likely to dispute the code, and a quit that smells like a constructive dismissal will draw attention. Use the code that matches the facts, not the code that is easiest to explain.

If you run payroll with spreadsheets and email threads, you have no clean place to see the events that led to the interruption. A Canadian payroll platform like Awditify for small business keeps the employment record, leave balances, and pay history in one file, so the ROE decision is grounded in data.

ROE Reason Codes Explained: The Codes You Need to Know

The official ROE reason code list is longer than most payroll teams need, but the codes below cover the situations you will see in a normal year. Always verify the current list before you file, because Service Canada updates descriptions from time to time. The table is a working reference, not a substitute for the official guide.

Code Meaning When to use it
A Shortage of work Layoff, end of a project, seasonal slowdown, employer closure
B Strike or lockout Employee is off work because of a labour dispute at the workplace
C Return to school Student leaves work to go back to school full time
D Illness or injury Employee cannot work because of sickness, accident, or quarantine
E Quit Employee voluntarily resigns, including a walkout that is not a group action
F Maternity Leave starts before, during, or after pregnancy-related leave
G Retirement Employee retires and stops working
H Work sharing Employee participates in a formal work sharing agreement
J Leaving to take another job Employee resigns with notice to move to a different employer
K Other Any reason not covered by another code, with an explanation
M Dismissal Employer terminates the employee, with or without cause
N Leave without pay Approved leave such as parental, compassionate care, or personal leave
P Parental Parental leave related to the birth or adoption of a child

Code A is the most common ROE code. It covers layoffs, project completions, seasonal slowdowns, and any other situation where the employer simply does not have enough work. If you issue several ROEs at once because a contract ended, code A is usually the right call.

Code E is for a voluntary quit. This includes a resignation with notice, an immediate resignation, and a retirement when the employee chooses to stop working. If the employee quits because they found another job, code J is the more specific choice, but code E is still acceptable when the new job is not the reason for the interruption.

Code M means dismissal. It includes termination for poor performance, restructuring, and termination for cause. If there is any question about whether the employee quit or was fired, review the emails and meeting notes before you file. The label on the final pay slip does not decide the code.

Code D covers illness, injury, or quarantine. If the employee is on sick leave and then a layoff happens while they are away, the main reason for the interruption is still the illness or injury, so code D is more accurate than A. The same logic applies if an employee is on maternity leave and the position is eliminated before she returns.

Code F and P both cover leave. F is maternity leave, P is parental leave. These codes are not interchangeable because the EI benefit windows are different. If an employee takes both at the same time, the payroll system needs to track the actual leave dates. Code N is for an approved leave without pay, such as compassionate care leave or a personal unpaid leave. Use this when the employee expects to return to work. If they do not return, you will need a second ROE with a new code.

Code K is a catch-all. Use it only when no other code fits, and attach a clear explanation. Vague descriptions on a code K ROE are a common source of Service Canada return letters. You are better off spending ten minutes finding the right code than explaining why code K should have been something else.

If you want to see how to record these codes before you file, the Awditify Help Center has a step-by-step walkthrough for payroll ROEs. The walkthrough shows where the code appears in the form and how to review the employee history next to it.

Insurable Hours and Earnings: The Numbers Behind the Code

The reason code explains why the employee stopped working, but the insurable hours and earnings on the ROE decide how much money they can collect. These two numbers come from your payroll records, not from a guess. Insurable earnings include most employment income, while insurable hours are the hours the employee worked or received insurable earnings for, up to the maximum.

Every province has different rules for statutory holiday pay, vacation pay, and overtime, but the ROE reports federal insurable earnings. Some payments, like certain severance amounts, can change insurable earnings. The rules are detailed, and getting them wrong can overstate or understate the claim. This is where a payroll system that calculates insurable earnings from the same pay data you use for remittances makes a difference.

If an employee works in more than one province during the ROE period, the payroll system must track the location because insurable earnings rules can depend on the province where the hours were worked. This is not a common situation for a small bookkeeping client, but it shows why a code that looks right can be undermined by numbers that were calculated incorrectly.

How to Choose the Right Code: A Decision Checklist

Choosing the right code is about answering one question: who ended the employment relationship and why. The answer should come from documents, not from a quick guess at the end of a pay run.

Run through the following questions in order:

  • Did the employer end the employment? Use M.
  • Did the employee resign? Use E.
  • If the employee resigned because they already have another job, use J.
  • Is the employee on a protected leave? Use F, P, D, or N depending on the reason.
  • Is the reason a shortage of work? Use A.
  • Is the employee returning to school full time? Use C.
  • Is the employee part of a formal work sharing program? Use H.
  • Does no other code fit? Use K and add a detailed explanation.

Take a 12-person construction company in Ontario that finishes a contract before the snow clears. The owner lays off three carpenters. Code A is right because the shortage of work is the reason. But if one of those carpenters had already given notice and then offered to stay for the layoff, using A would be wrong. That employee quit, and code E reflects that.

The constructive dismissal trap is harder to spot. A constructive dismissal happens when an employer changes a fundamental term of the job and the employee quits because of it. From the employer's view, the employee resigned. From Service Canada's view, the employer forced the end. If there is a plausible claim of constructive dismissal, code E may not survive a review. Document the facts and, where possible, get a written resignation that explains the employee's reason.

Employment standards rules in your province can affect when a termination is valid, but the ROE reason code is governed by federal EI rules. Ontario, Quebec, and BC may have different notice and severance requirements, but they do not change the code on the federal form. Keep provincial and federal requirements separate so one does not contaminate the other. The ROE is a federal document and must be completed consistently across the country.

When to Issue an ROE and How to Submit It

The deadline for an ROE is not tied to your pay cycle. You must issue the form within five calendar days of the first day of an interruption of earnings, or within five days after you become aware of the interruption. That calendar, not your pay schedule, sets the clock.

An interruption of earnings generally means an employee has had seven or more consecutive days without insurable earnings. A temporary layoff counts, a sick leave that goes beyond the waiting period counts, and a quit or dismissal counts immediately. If an employee has a scheduled week off that is not paid, that alone may not create an interruption if the employment relationship continues.

Most employers file electronically using Web ROE or directly from payroll software. If you file a paper ROE, you need to keep a copy and you need to send the form to Service Canada, not to CRA. Electronic filing gives you a transmission date and a record, which helps if an employee later says they never received anything. A paper ROE can still be signed and mailed, but it puts you at risk of missing the deadline in a busy quarter.

A good payroll tool should calculate insurable earnings and insurable hours from approved pay runs, and it should flag an employee who has had an interruption of earnings so nobody has to remember the five-day deadline. Awditify's payroll module does this by tracking every pay period and leave entry, then generating the ROE with the data already in the system. If you use a third-party payroll service, ask them for a copy of the exact records they used to prepare the ROE. You are still responsible for the content even if they press the button.

Do not confuse the ROE with your CRA remittances. You still need to remit CPP, EI, and income tax on your regular schedule, and those amounts should line up with the insurable earnings on the ROE. A mismatch between the remittance amounts and the ROE figures is a red flag for both CRA and Service Canada.

How to Avoid ROE Error Traps

Most ROE errors are not dramatic. They are small mismatches between what the payroll register shows and what the employee remembers. Here are the traps we see most often.

  • Treating a dismissal as a quit, or vice versa.
  • Reporting insurable earnings without deducting the correct insurable earnings adjustments.
  • Forgetting to include paid statutory holidays in insurable hours.
  • Missing the five-day deadline because the payroll run is not until Friday.
  • Using code K without an explanation.
  • Cutting off the employee's leave history so the ROE shows the wrong start date.

If you calculate insurable hours by hand from paper timesheets, you will occasionally miss a paid holiday or double count a sick day. A single error like that can change the employee's insurable hours by enough to delay their EI claim. An automated payroll system pulls the hours from approved timesheets and leave balances, so the ROE matches what you actually paid. The difference is not about efficiency, it is about accuracy.

Before you file, check the last pay stub, the leave balance, and any termination notice. If you have a payroll register, compare the current ROE with the previous one for the same employee and ask yourself why the code changed. A supervisor's memory is not a reliable source.

After you file, keep a copy of the ROE and record the transmission date. If Service Canada asks for clarification, respond in writing and keep a log. A simple missed deadline can look worse if you are also slow to answer follow-ups.

If you already filed a wrong code, you can ask Service Canada to amend the ROE, but the correction will only matter if the claim has not already been processed. In some cases, the employee can provide an explanation and Service Canada will adjust the claim without a formal amendment. Do not wait for the employee to find the error, because a later correction may create an overpayment that has to be recovered.

Manual vs Automated ROE Filing: A Practical Comparison

If you run payroll for more than a handful of employees, the choice between manual and automated ROE filing is not about typing speed. It is about whether your records can survive a Service Canada inquiry.

Step Manual workflow Automated payroll workflow
Track insurable hours Pull from paper timesheets or a spreadsheet Calculated from approved pay runs and leave
Choose reason code Relies on the operator's memory of the departure Shows employment history, leave dates, and termination notes
File ROE Print, sign, mail or fax Generate from payroll data and transmit electronically
Keep audit trail Store paper copies in a binder Log transmission date, user, and version in the system
Handle corrections Phone Service Canada and hope the note is found Send a new version with the change documented

Manual workflows are workable for a two-person office, but they start to fail when you have seasonal staff, part-time workers, or municipal employees who cycle through appointments. The moment you have several ROEs in one week, the chance of mixing up codes goes up. An automated system does not magically choose the right code, but it gives you the facts you need to choose it and it records the decision for later. If you want to understand the full payroll workflow, Awditify's payroll learning hub covers ROEs, accruals, and year-end filings in more detail.

ROE Reason Codes for Municipal and Seasonal Employers

Municipalities and seasonal employers face a special challenge because they issue ROEs in batches. A recreation department that closes for the winter, a public works crew that lays off for the season, and a tax office that brings in temporary staff for a levy run all need code A on the record, but the employment dates and leave histories are different for every person.

Consider a small municipality preparing for a property tax billing run in April. It hires four temporary clerks and lays them off when the run ends. Each clerk gets an ROE with code A. If one clerk was hired only for a specific project and another was brought in to fill a sick leave, the reason codes could still be different depending on when the interruption started. The payroll system needs to track each assignment separately.

Municipal finance teams can keep municipal payroll and property tax workflows in the same platform, which simplifies year-end reporting and reduces the chance that a temporary hire falls through the cracks. The same clean payroll data helps with accrual accounting and the information you provide to your auditors under PSAB requirements.

FAQ

What are the ROE reason codes in Canada?

ROE reason codes are single letters that explain why an employee stopped working. Common codes include A for shortage of work, E for quit, M for dismissal, and F or P for maternity or parental leave. Each code tells Service Canada which EI rules apply to the claim, so choosing the right one affects eligibility and waiting periods. The full list is on Service Canada's website and should be checked before every unusual filing.

When do I need to issue an ROE?

You need an ROE when an employee experiences an interruption of earnings lasting seven or more calendar days. This includes layoffs, resignations, dismissals, illness or injury leave, and maternity or parental leave. The form must be issued within five calendar days after the first day of the interruption or after you become aware of it. If you run payroll through Awditify, you can generate the ROE from the same records you use to remit CPP, EI, and income tax.

What is the difference between code E and code M?

Code E means the employee quit voluntarily, while code M means the employer ended the employment. This distinction matters because Service Canada treats quits differently from dismissals and may impose a waiting period or disqualification on a quit. If there is any dispute about who ended the job, keep written evidence such as a resignation email or a termination letter. Entering the wrong code can trigger a review and delay the employee's benefits.

What happens if I enter the wrong ROE reason code?

An incorrect reason code can stop the EI claim while Service Canada investigates the discrepancy. You may be asked to provide supporting documents, and the employee will have to explain their version of events. You can request an amendment to the ROE, but the correction only works if Service Canada has not already processed the claim. It is faster to get the code right on the first filing, which is why payroll software with built-in ROE tracking is worth using.

Can I automate ROE filing in Canada?

Yes, you can automate the routine parts of ROE filing with payroll software that tracks insurable earnings, hours, and leave. Awditify lets you review the ROE fields before transmission and keeps an audit trail of the filing. Automation does not remove the need to choose the correct reason code, but it gives you a reliable source of the numbers and dates. The HR decision still belongs to the employer.

What to Do Next

Choose your code early, file within five days, and keep the evidence that backs your decision. An ROE with the right code will clear the EI claim faster, protect the employee, and keep your payroll records from becoming a battleground during an audit. If you still manage ROEs manually, now is the time to see what a Canadian payroll platform can do.

Awditify for small business tracks insurable earnings, hours, and leave in the same place you run CPP, EI, and income tax.

When you need to go deeper, compare the Canadian Payroll Guide: CPP, EI, and Income Tax for Small Businesses (2026).

You can also book a demo to see the ROE workflow live. The next payroll run is a good place to start.