Open navigation

Federal Personal Leave (PL), Bereavement Leave (BL), and Leave for Victims of Family Violence (LVFV)

These updated partially paid Federal Leaves apply to employees who fall under the Canada Labour Code Part III:

Federal Personal Leave (PL)

Federal Personal Leave (PL) requires that employers provide up to 5 days per calendar year of personal leave. Employees no longer need to work three months to be entitled to leave; however, if employees have three months of continuous service, the first three days of leave will be paid

Federal Bereavement Leave (BL)

Federal Bereavement Leave (BL) requires that employers shall grant up to 5 days of absence upon the death of a member of their immediate family. For employees who have completed three months of continuous service, the first three days of leave will be paid

Federal Leave for Victims of Family Violence (LVFV)

Employees who are themselves, or are the parent of (a) child(ren) who are, a victim of family violence, are entitled to a leave of up to 10 days in a calendar year (to seek medical attention or other services).  5 of the 10 days are to be paid.

Creating a leave entitlement benefit for PL, BL, or LVFV will require two components:

  1. A Benefit Code where the leave day entitlement will be accrued for each year.

  2. An Earning Code that will reduce the entitlement and pay for only the first three leave days taken in the year.

    Note: For consistency throughout this article, Personal Leave will be used as the example.  Setup process of Bereavement Leave will be extremely similar & Leave For Victims of Family Violence will be, again, along the same lines, but with some numbers altered in the formulas.

Table of Contents

1. Create a Benefit Code for PL entitlement

The benefit code for the PL entitlement will keep track of how many leave days an employee is entitled to take in the current year, and reset the entitlement at the start of each calendar year.

Let’s go through the steps to create the Benefit Code for the PL entitlement:

  1. Open Canadian Payroll > Employer Payroll Tables > Deduction/Benefit Codes

  2. Create a new Benefit Code for the PL entitlement.

The Deduction Data settings and an Entitlement Formula will be added to the Benefit Code in the following sections.

1.1. Deduction Data tab

The settings for the Deduction Data tab should be setup as follows:

TypeAccrued Sick Leave
Leave EntitlementEnabled
Accumulate InDays

Using these settings on the Deduction Data tab the benefit code will be used as a leave entitlement for the employee that will accrue entitlement in days.

1Accrued Sick Leave is selected for the Type to use the Benefit Code as a bank for accrued PL entitlement.
2The Leave Entitlement option is enabled to indicate this Benefit Code is an entitlement.
3The entitlement is set to accumulate in days. This will change the units that the entitlement is accrued and taken in.

1.2. PL Entitlement Formula

By using a formula in the Benefit Code to generate the accrued entitlement the number of accrued days can be limited to 10 per year, and the province of employment can be checked so that only employees who are employed in Ontario will have the entitlement.


The formula for the entitlement will need to be customized by changing the example code ( XXX) to match the real code for the PL Entitlement.




L6Leave accrued units for this code.

Say that again?

The formula can be read as: “If there is no accrued leave, then generate 5 days of accrued leave.”

For the LVFV entitlement code, the formula will be:


1.3. Formula tab

1The formula is entered in the Leave Units L0 field.
2The formula can be tested with dummy values using this button.

Tip: Test the formula!

Press Test on the Formula tab to see a summary of the variables used, and test out the formula before using the Deduction Code for payroll.

1.4. Save the PL entitlement Benefit Code

The benefit code setup is now finished and the code can be saved by pressing OK at the bottom of the Benefit/Deduction Code window.

The next component for the PL is to create an earning code to record when employees actually have taken a leave day, and pay them accordingly. This will be covered in the following sections.

2. Create an Earning Code for PL taken

An Earning Code for recording the PL taken by employees will be created now. This Earning Code will be responsible for reducing the entitlement days each time that a PL is taken, as well as ensuring that the first 2 days of taken are paid.

  1. Open Canadian Payroll > Employer Payroll Tables > Earning Codes.

  2. Create a new Earning Code for PL taken.

2.1. Earning Data tab

The settings for the Earning Data tab should be setup as below. These settings will make the Earning Code reduce the leave entitlement automatically whenever PL taken.

% of Basic100.00
Accumulate Work Units InHours
Earning TypeTakeLeave
Leave Entit.The Deduction/Benefit Code created previously.
Formula Based EarningEnabled
Reduce SalaryEnabled

Reduce Salary

When you choose the Reduce Salary option you will also need to check another option within the Processing tab of Payroll Parameters (Canadian Payroll > Installation & Maintenance > Payroll Parameters > Options > Processing).

There you will find an option called Reduce Salary by reducing units before calculating amount. Enabling this is important if you want to reduce a salary when processing a code that does not include dollars. For the Personal Emergency Leave only the first three days will be paid, which means that if this option is not selected the salary will not be reduced when a Personal Leave is being processed without pay.


  • 100% of basic is chosen so that when the first 2 days of PL are taken, the employee is paid at their normal rate.

  • Leave Taken Earning Type will automatically reduce the leave entitlement of the selected Deduction Benefit Code by the units entered on this code.

  • Formula Based Earnings are enabled because a formula is used to control when the taken leave should be paid.

  • Reduce Salary is enabled to correctly pay salary employees. Without this option enabled salaried employee would receive double pay for any PL days taken.

1Hours is selected for work units to accumulate in.
2Earning type TakeLeave is selected.
3The PL entitlement Benefit Code is selected for the Leave Entitlement.
4Formula Based Earnings are enabled so that a formula can be entered in the Formulas tab.
5Reduce Salary is enabled to correctly pay salaried employees who take PL.

2.2. PL Taken Formula


The formula for the entitlement will need to be customized by changing the example codes (XXX and YYY) to match the real code for the PL entitlement Benefit Code (XXX) and the PL taken Earning Code (YYY).


Work Units U0=W1
Earnings E0=

@IF( V5<3| L8#XXX- L0#YYY<3,0, W1* C1)

Variables & Values

Service Months Since Seniority Date.
L8#XXXLeave remaining units for code XXX.
L0#YYYCurrent period leave units for code YYY.
W1time data entered units – hourly.
C1time data entered rate of pay - hourly.

Why L7 (Leave Taken Units) is not used:

  • The L7 variable is not used because its value is only updated once after each pay-run. L0 on the other hand is updated during each step during pay run processing. This difference means that if multiple PL days are taken in the same period, L0 will account for each one and only pay for the first 2.

  • L8 – L0 gives the days of leave remaining currently, and if it is less than 3 we know that more than 3 days of leave have been taken in total and don’t pay for the remaining leave taken.


  • The | mark in the above E0 Earnings formula, meaning "OR" in an @IF statement will only work in Avanti version 9.38 or higher.

  • If you are running in version 9.37, the E0 formula will be:

    @IF( V5<3,0,@IF( L8#XXX- L0#YYY<3,0, W1* C1))

Say that again?

The formula can be read as: “If 2 days or less of leave have been taken, pay the hours entered.”

This formula will limit the payments to only the first three days of leave. Starting on the third Personal Leave day there will be no payments only time.

For the LVFV Earning/Take Leave code, the formula will omit the requirement for 3 months of employment, and will pay the first 5 days, rather than 3:


@IF( L8#XXX- L0#YYY<5,0, W1* C1)

2.3. Code Formula tab

1Work Units are updated for each day of PL taken.
2Earnings are only updated based on the result of the formula.
3The code for the PL entitlement Benefit Code is updated in the formula.
4The code for the PL taken Earning Code is updated in the formula.

2.4. Save the PL taken Earning Code

The Earning Code setup is now finished and the code can be saved by pressing OK at the bottom of the Earning Code window.

3. Program Options

In order for this new process to calculate the leave entitlement units accurately you will have to add the following options to the Program Options.

Add new Program Options

Press Insert on the Program Options screen to add new Program Options.

  1. Open System Administration > System Parameters > Program Options.

  2. Add the MinLeaveTakenCodes option:

    Option IdPy.PayCal.MinLeaveTakenCodes
    DescriptionList of earning code where a minimum leave taken units will apply.

    Replace YYY with the code of the PL taken Earning Code
  3. Add the MinLeaveTakenUnits option:

    Option IdPy.PayCal. MinLeaveTakenUnits
    DescriptionList of Minimum leave taken units matching to Py.PayCal.MinLeaveTakenCodes.

    Any amount of hours lower than the total hours per day will be considered 1 day for the emergency leave code.

3.1. Max Leave Taken Options

The final option that will need to be added is for the maximum units of leave that will reduce the entitlement. The maximum units can be calculated using two different options:

  • The first option is to choose a maximum for each entry.

  • The second option is to choose a maximum for each day.


Both program options (per day/per entry) cannot be used at the same time.
  1. Add either MaxLeaveTakenUnitsPerEntry or MaxLeaveTakenUnitsPerDay option.

3.1.1. Per entry option

The per entry option takes a maximum of 1 day even if the total hours of leave for that day is over the regular hours per day for that pay group.

For example if an employee gets paid 10 hours of Personal Emergency Leave in a pay group where the per day hour is 8, this program option will make sure to deduct 1 day of Personal Emergency Leave not 1.25.

Option IdPy.PayCal.MaxLeaveTakenUnitsPerEntry
DescriptionList of the Maximum leave taken units for each ENTRY matching to Py.PayCal.MinLeaveTakenCodes.

3.1.2. Per day option

The per day option is for employees with split shifts. This option will calculate 1 unit of Personal Emergency Leave taken even if there is more than one entry within the same day.

For example if an employee works two shift of 4 hours in the same day and requires two 4 hours entry of Personal Emergency Leave, this option will let the system know to only deduct 1 day of PL.

Option IdPy.PayCal.MaxLeaveTakenUnitsPerDay
DescriptionList of the Maximum leave taken units for each DAY matching to Py.PayCal.MinLeaveTakenCodes.

4. Add the Earning and Deduction/Benefit Codes to the employee(s)

The formula’s included under the earning and the deduction/benefit codes will only return a value if the employee has a province of employment set to Ontario. Which means that these two codes could be added to a pay group by using the “Employment Defaults” option.


  • We advise you to try it in a test environment first and make sure that it returns the value you are expecting. Furthermore if your Avanti system has not been updated to the latest version this set up might not work.

  • In order for the PL accrual to be added in the YTD of selected employees, the codes will have to be activated on these employees and processed through payroll

If you have any questions or experience any difficulties please reach out to the Care Team.  Thank you. 

Did you find it helpful? Yes No

Send feedback
Sorry we couldn't be helpful. Help us improve this article with your feedback.