If you have ever laid someone off on a Monday and not filed the Record of Employment until the following Tuesday, you are not alone. You are however out of compliance. Service Canada gives you five calendar days. That is it.
The ROE is the single most consequential piece of paperwork in a Canadian offboarding. It decides whether the former employee gets EI, how much, and how quickly. It also decides whether Service Canada flags your next few ROEs for extra scrutiny. Small businesses tend to treat the ROE as a form to be filled out when someone has time; Service Canada treats it as a regulated filing with a hard deadline. That disconnect is where the trouble lives.
Below is a table that I like to reference when it comes time to file an ROE. Having the reason codes handy has saved me on more than one occasion. Picking the right one is the difference between a clean filing and a phone call from an adjudicator.
| Code | Use for | Traps |
|---|---|---|
| A00 | Shortage of work / end of contract / end of season | Use this for layoffs. Do not default to K when you mean A. |
| B00 | Strike or lockout | Only if there is an active labour dispute. Rare for SMBs. |
| D00 | Illness or injury | Use when the employee is off for medical reasons even if they haven't formally quit. |
| E00 | Voluntary resignation (quit) | Employee ineligible for regular EI. Do not use if they quit "with cause", see K00 with an explanation. |
| F00 | Maternity leave | Triggers EI maternity benefits. Keep F00 and P00 distinct. |
| G00 | Mandatory retirement | Rare now that mandatory retirement is largely gone; do not use for "ordinary" retirement at 65. |
| H00 | Work-sharing | Only if you have an active Work-Sharing agreement with Service Canada. |
| J00 | Apprentice training | For formal apprenticeship programs only, not generic on-the-job training. |
| K00 | Other (explanation required) | The most abused code. Anything that fits A, E, M, or N should NOT be coded K. |
| M00 | Dismissal for misconduct | Employee ineligible for EI. Has to meet the legal bar for "misconduct", not "we let them go." |
| N00 | Leave of absence | Unpaid leave not covered by D, F, P, or Z. |
| P00 | Parental leave | Triggers EI parental benefits. Separate from F00. |
| Z00 | Compassionate care or family caregiver | Triggers the EI special benefit. Commonly missed and coded K. |
Two things jump out to me here. K00 is a catch-all that Canadian employers reach for too often. If the situation fits another code, use that code. E00 (quit) and M00 (dismissed for misconduct) both disqualify the employee from regular EI, which is exactly why they are the two codes the adjudicator will scrutinize hardest.
That table looks tidy. The mistakes that follow are not.
Every ROE reason code, explained
The table above is the quick-reference. If you are the bookkeeper on day four with Block 16 staring at you, what you actually need is a decision framework for picking the right code in each real-world scenario. Here is the long version, one heading per code, with the situations where it fits, the situations that look similar but need a different code, and the specific thing an adjudicator checks.
A00, Shortage of work, end of contract, end of season
Use A00 when the separation is initiated by the employer for reasons that have nothing to do with the employee's conduct or performance. The classic case is a layoff, the business is slow, the role is eliminated, there is no work available. Also: a fixed-term contract that reached its end date, a seasonal role that ended with the season, a project that wrapped and was not renewed.
Does not fit A00: the employee was fired for cause (that is M00), the employee resigned (that is E00), the employee was let go because they could not do the job (that is usually M00 if there is documented performance management, or N00 / K00 if there is not, see below).
What the adjudicator checks: whether the separation was genuinely involuntary from the employee's perspective. "We offered them a different role but they did not accept" is a quit, not a shortage of work. A00 generally unlocks EI quickly, which is why it is also the code employers sometimes try to use when the real answer is less flattering.
B00, Strike or lockout
Only used when there is an active, declared labour dispute that has interrupted the employee's earnings. If your business does not have a collective agreement, you will probably never file a B00 in your lifetime. For the rare cases it applies, the employee's EI eligibility depends on whether they are participating in the dispute and follows a separate set of rules at Service Canada.
D00, Illness or injury
Use D00 when the employee's earnings are interrupted because of a medical reason, their own illness or injury, typically supported by a doctor's note or a short-term disability claim. D00 unlocks EI sickness benefits, which pay for up to 26 weeks.
Does not fit D00: a family member's illness (that is usually Z00 for compassionate care, or N00 for a general unpaid leave), stress leave without medical documentation (use N00 and let the employee and their doctor make the sickness-benefits case directly to Service Canada).
What the adjudicator checks: whether medical documentation exists. Employers do not need to submit the doctor's note, Service Canada will ask the employee directly, but coding D00 without any documentation on file creates an inconsistency that surfaces fast.
E00, Quit (voluntary resignation)
E00 is for a genuine voluntary resignation, the employee gave notice, worked it out (or did not), and left. It disqualifies the employee from regular EI in most cases, which is precisely why it is the code most scrutinized by adjudicators when the employer and the employee disagree about what happened.
Does not fit E00: the employee quit "with cause" because the employer created intolerable working conditions (harassment, unpaid wages, unsafe workplace). That is technically still a quit but the employee may still qualify for EI, code it E00 and let the employee make the "just cause" case, or code K00 with an explanation if the circumstances genuinely do not fit any other code. Also does not fit E00: constructive dismissal, where the employer unilaterally changed the job materially and the employee left in response. That is usually A00 or a legal matter.
What the adjudicator checks: whether there was a resignation letter, email, or documented conversation. An employee who "stopped showing up" is not necessarily an E00, that is often K00 with "abandoned position" as the explanation.
F00, Maternity leave
F00 is specifically for the birth parent taking EI maternity benefits (15 weeks, available starting 12 weeks before the expected date of birth). It is not the same as P00 (parental). A birth parent typically files both, F00 first for maternity, then a second ROE or a continuous claim for parental once maternity ends. Do not collapse them into a single P00.
G00, Mandatory retirement
G00 applies when an employee hits a contractually or statutorily mandatory retirement age. Mandatory retirement is largely gone in Canada since amendments to human rights legislation in the 2010s. A few roles still have it, commercial airline pilots (age 65), some federally regulated public safety roles. For an "ordinary" retirement where a 65-year-old chooses to stop working, use E00 (quit), not G00.
H00, Work-sharing
H00 is for the federal Work-Sharing program, a formal agreement between an employer, employees, and Service Canada where employees temporarily work reduced hours and collect EI for the missed time, as an alternative to layoffs. If you do not have an active Work-Sharing agreement, you cannot use H00.
J00, Apprentice training
J00 covers the weeks an apprentice is away from the workplace attending formal classroom training as part of a registered apprenticeship program. Generic on-the-job training or a company-paid course is not J00, that is N00 (leave of absence) if the employee is off, or no ROE at all if their earnings are not interrupted.
K00, Other (the code that requires an explanation)
K00 is the "none of the above" code, and the Block 18 comment field on the ROE is mandatory when you use it. It should be rare. The specific situations that legitimately fit K00:
- Position abandoned, employee stopped showing up, no formal resignation on record.
- Job action short of a strike or lockout where the earnings interruption does not fit B00.
- Unusual terminations where none of A00, E00, or M00 cleanly apply, for example, a mutual-separation agreement where neither side wants to characterize it as a quit or a dismissal.
The adjudicator's default position on K00 is skepticism. A thin or vague explanation ("we parted ways", "mutual decision") pushes the decision about the employee's EI onto the adjudicator, who does not know the context. If you can write a three-sentence explanation that clearly fits another code, use that other code.
M00, Dismissal for misconduct
M00 is the code for termination for cause, the employee was fired because of their own conduct, and the conduct meets the legal bar for "misconduct" under the Employment Insurance Act. M00 disqualifies the employee from regular EI, which is why the adjudicator will review it closely if the employee disputes the coding.
"Misconduct" is a narrow legal term. It means the employee acted willfully, or with a degree of recklessness that amounts to willfulness, in a way that breached a duty owed to the employer, and knew or ought to have known that the conduct could result in dismissal. It does NOT include:
- Poor performance (too slow, too many errors, missing sales targets)
- Personality conflicts with a manager or co-workers
- Incompetence or inability to do the job
- Genuine mistakes, even expensive ones
Those are legitimate reasons to let someone go, but they do not qualify as "misconduct" for EI purposes. If you code M00 for a performance-based dismissal and the employee disputes it, Service Canada will likely rule in the employee's favour, overturn the code, and grant benefits. Worse, your filing history gets a correction against it.
When M00 fits cleanly: theft, falsifying time records, harassment or violence in the workplace, repeated unauthorized absences after written warnings, wilful insubordination, sharing confidential data, showing up impaired after a documented policy against it.
When it does not: "They weren't a good fit." "We gave them chances and they didn't improve." "They were negative in meetings." Those are A00 (if the role is also ending) or E00 (if they resigned in lieu of termination) or K00 with a careful explanation.
Get M00 wrong and you face a dispute you will probably lose. Also, this is the code "M00 ROE code" searches land on, and the reason you are reading this section is that you want to make sure it fits before you file. Good instinct.
N00, Leave of absence
N00 is the catch-all for unpaid leaves that do not fit D00, F00, P00, or Z00. Situations that fit N00: a sabbatical, an unpaid personal leave, an educational leave that is not a registered apprenticeship, a leave to care for a non-immediate family member that does not meet the compassionate-care threshold. Generally an N00 ROE is filed because the leave is long enough to interrupt earnings for seven consecutive days (that is the EI threshold for issuing an ROE at all).
P00, Parental leave
P00 is for either parent taking EI parental benefits, up to 40 weeks (standard) or 69 weeks (extended). A birth parent typically has a sequence of F00 (maternity) → P00 (parental). An adoptive parent or a non-birth parent uses P00 directly. Keep F00 and P00 separate on the ROE, collapsing them creates a problem at Service Canada's end.
Z00, Compassionate care / family caregiver
Z00 covers the EI special benefits for employees caring for a gravely ill family member (up to 26 weeks), a critically ill child (up to 35 weeks), or a critically ill adult (up to 15 weeks). It is commonly miscoded as K00 or N00 because employers do not realize the special EI benefit exists. If your employee is taking time off because someone in their immediate family is seriously ill and has a medical certificate to that effect, Z00 is almost always the right code. The employee gets the right EI stream; you get a clean filing.
The three mistakes Service Canada sees most
Mistake 1, Missing the five-day window. Filing electronically (the only path Service Canada actively supports), the ROE is due within five calendar days after the end of the pay period in which the interruption of earnings occurred. For monthly payroll the deadline is the earlier of five days after the end of the month, or 15 days after the first day of the interruption, whichever lands first. The clock runs off the interruption of earnings, not when HR gets around to the paperwork. The penalty for a late ROE is not a fine in most cases. The penalty is that your former employee cannot start an EI claim, their rent is due on the first, and they now have a reason to call Service Canada with your name attached. Service Canada has a record of every employer's filing timeliness, and the pattern compounds.
Mistake 2, Picking K00 when the real code is something else. "Other" feels safe when the situation is ambiguous. It isn't. When an employer uses K00 with a vague explanation, "mutual separation," "restructuring," "we decided to part ways", the adjudicator has to decide whether the separation was voluntary or involuntary, and the employee's EI hangs on that decision. If the real code was A00 (shortage of work), the employee gets benefits faster. If the real code was M00 (misconduct), the employer is on the hook for defending that position. K00 moves the decision to an adjudicator who does not know your business. That almost never helps you.
Mistake 3, Getting Block 15C (insurable earnings) wrong. Insurable earnings include regular pay, overtime premium, vacation pay, statutory holiday pay, and most bonuses. They do NOT include severance, retiring allowances, non-cash taxable benefits, or tuition reimbursements. The common error is either direction: excluding overtime (which understates the employee's EI entitlement and generates a complaint) or including severance (which overstates earnings and triggers a Service Canada correction). Both require you to issue an amended ROE, which creates a record of the error, which affects your filing profile.
What this costs when it goes wrong
A late or incorrect ROE rarely carries a direct penalty for the employer. The cost is indirect and it compounds. A former employee who cannot start an EI claim because your ROE is outstanding will tell others, not in a lawsuit, but in the Glassdoor review and the reference conversation with your next candidate. Service Canada tracks employer filing patterns, and a business with a history of late or corrected ROEs gets reviewed more closely on every future filing, which means more audits, more back-and-forth, more HR time, and a slower experience for future departures.
And if the pattern is bad enough, say repeated K00 abuse, repeated insurable-earnings errors, the integrity services branch can open a broader review. That is when the invisible cost becomes a very visible one.
The fix is not "build a better checklist"
Checklists work when the checker has time and the rules are stable. For ROEs, the rules are specific, the deadline is short, the data inputs live in four different places (payroll for earnings, time tracking for hours, HR for the separation reason, the employee record for the SIN and address), and the person doing the filing is almost always doing three other things at the same time.
You solve this with a system that generates the ROE XML from the offboarding record, pulls the insurable earnings from the last 53 weeks of pay runs, pulls the insurable hours from time tracking, forces the reason code to be picked from the real list with short descriptions next to each option, and triggers a five-day countdown the moment the offboarding is recorded. That is what "built for Canadian compliance" actually means in this specific case.
Hang on to the reason codes in the meantime. And if you are staring at Block 16 at 4:30 pm on day five, trying to decide between A00 and K00 because you did not plan for this, that is the signal.
Related calculators
- Severance Pay Calculator, statutory notice and pay in lieu under every province's Employment Standards Act. The ROE is filed; severance is what you owe alongside it.
- Overtime Calculator, provincial OT rules. Block 15C insurable earnings include overtime premium; get the OT number right before the ROE goes out.
Related reading
- Compliance as monitoring, why the ROE problem above is the normal state for HR compliance, not the exception, and what changes when your operating model treats compliance as something the system watches continuously rather than something a human checks at the end.
