Buy and sell leaves

Finally, Microsoft released the feature that everyone is looking out for.

I have been hearing about this feature from long time and somehow it got extended. Now that, it is here…lets catchup.

What is about the feature:

Organisations allow their employees either to buy or sell leaves. With this feature, D365 HR allows you to:

  1. Define the policies that defines what is the maximum your employee can buy for
  2. Apply these policies in respective leave plans

It is an employee driven transaction and hence available only in ESS.

Enable preview feature

We need to enable this feature from feature management. This has a dependency on the preview feature:

  • Configure multiple leave types on a single leave plan

Note: Please remember once the above feature is turned on, it cannot be turned off.

Enable the above feature, system will allow you to enable Buy and Sell leave feature.

Setup Buy and sell leave policy

If the organisation wants the transactions to be approved either by manager or by HR/others, then workflow needs to be defined. This is optional. As limits and rates are already limited, then I do not see why this needs to be approved as long as it is my decision to trade.  This is just an opinion 🙂

Under Leave and absence parameters, you can see two values

  • Enable employees to buy
  • Enable employees to sell
Enable ‘Allow employees to buy’

Note: Am not able to enable the other feature “Allow the employees to sell leave”. As of now I can enable buy leave part only but not sell leave. I hope that will be released subsequently too (correct me if I missed anything here)

Go to Leave and absence, under setup, open the buy and sell leave policy form. System allows you to set the policies based on hours per week or based on fixed amount (maximum amount that employees can buy). TO show an example, I have taken fixed amount (by the way, the units I enabled in my demo environment is days but not hours).

Setting up buy and sell policies

If FTE is enabled, system will prorate the maximum amount based on the FTE defined at the employee’s position. Also, you can enable tier-based approach to increase the maximum value that employee can trade based on his/her months of service as shown above.

In the above example, employee can trade max 8 leaves if the employee has less than 5 years of service. Though maximum fixed amount is defined as 15.00 at the header level, seems the maximum amount defined at the line level overrides it. Rates can be defined or can be ignored if these are calculated in the payroll system. Anyways, employee cannot see the rate value in ESS.

Once the policy is defined, it needs to be assigned to the corresponding leave plan for which you want the employee to trade on.  If you want to enable this policy only on annual leave plan(s), you can assign it as shown below:

Assign buy and sell policy in leave plan

By tagging the policy at plan level, system will enable the employee to start trading (provided the employee is enrolled in the corresponding plan). If you dont map this rule, employee cannot submit the buy or sell request.

Employees trading the leaves from ESS

Open ESS and click on buy and sell leave option:

Access Buy and sell request from ESS

A new form opens up which will allow employee to buy leave:

Form showing available amount to buy

As you see from the screenshot which will by default tells you how much is available to buy (based on the maximum amount set in the policy + based on months of service). Anything more than that is not allowed.

In this example, am requesting to buy 5 leaves as of now:

Request the amount based on leave type

You will get a message that “Leave bought successfully”. Balance is now increased to 30. When you submit the request, system creates a transaction based on system date. This date cannot be altered (you can check if that can be altered through backend).

Leave bank transaction form

Now, if I come back to the same trade window, system will show how much left to buy:

Form showing left over balance that can purchased

If you are using this, don’t forget to integrate these transactions to your payroll system (or manually you can export and import into your payroll system).

Nice feature indeed. This is still a preview feature and I will explore more and will come back in case of any observations I come across. Please feel to let me know if you see a differnet behaviour in your hands-on.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Create a website or blog at

Up ↑