The calendar year change wizard is a way of bulk updating calendar years for users. It can be accessed via the System Setup at global level, or the System tab of a template.
Entitlement pots—select the pots that are affected by the calendar year change calculation.
Round entitlement adjustments—rounding policy for these calculations.
Force overridden users to use new calendar—if a user on this template has their calendar year set at user level, they will be updated to this (they will inherit if setting a fixed calendar year, or have it set at user level if it's a variable calendar year).
I do not want Edays to make changes to entitlements or carry over—see Calculating entitlement section below.
Fixed calendar years
Calendar year is a fixed date for all users on the template, e.g. 1st Jan.
Variable calendar years
The calendar year is different for each user on the template. The two supported methods for setting this up are Employment Start Date and Birth Date.
When applied, users who already exist will receive the variable calendar year at user level, pulled through from the respective field.
- Note that the template will appear to display a fixed calendar year, e.g. 1/1. However, if you check user level, you will see the change has gone through.
- New users will not receive the variable calendar year upon creation. It should be thought of as a trigger to set the calendar year at that moment in time, as opposed to a property which is inherited.
Do not calculate entitlement
Entitlement accruals and their effective dates do not change.
- Their effective year will be the year they fall into under the new holiday year. E.g. if today is 1st April 2020 and an import is done for this year (1st Jan 2020), and the year is changed to a 1st April start, this will fall into last year.
Carry over requests do not change.
- Note this will often lead to them being ignored, e.g. a 31st Dec -> 1st Jan carryover record would not be observed on an April year start because it does not cross over the year border.
The calendar year shifts backwards or forwards depending on today’s date. (For full details, see appendix).
- E.g.1 if today is 3rd Jan and the year changes 1st Jan -> 1st Apr, the year shifts backwards such that 1st Apr last year becomes the start of this calendar year
- E.g.2 if today is 3rd May and the year changes 1st Jan -> 1st Apr, the year shifts forwards such that 1st Apr this year becomes the start of the year
- When making a year change, you will be able to tell whether the change is backwards or forwards by reading the text beneath “Year change description”
Let d = number of days that the calendar moves backwards. E.g. from 1st Apr to 1st Jan, this is 90 days (in a non-leap year).
- Leap years can make this value confusing – you must count the number of days in the overlap period. (Last year remains fixed).
Let e = their entitlement in current year. It must be prorated to reduce entitlement for the overlap, so an adjustment is created. The deduction in the current year period would be, assuming the initial This year period contains 365 days:
- E.g. 20 days per year deducts 20 * 90 / 365 = 4.93 days
Entitlement adjustment effective dates move to the new holiday year start, in the same period, assuming the previous effective date was the holiday year start of that period.
Carry over / transfer records are created for bookings that moved period.
- E.g. if there are 4 days of holiday booked in the overlap period of 1st Jan – 31st Mar in the above example, 4 days are transferred into the current year period from last year.
Let d = number of days that the calendar moves forwards. (Count the days in the gap if there is a leap year).
The gap is assumed to be part of the "extended current year". This means we need to extrapolate the current year entitlement to fill it. We add an adjustment of the current year prorated to fill the gap.
- E.g. 20 days per year would add an adjustment of 20 * 90 / 365 = 4.93 days
If there are any records within the gap, carry over records from this year into last year supply the entitlement to fill it.
- E.g. if there are 4 days of holiday booked in the gap period of 1st Jan—31st Mar, 4 days are transferred into the last year period from this year.
Complex mathematical reasoning, which can ignore: these three dates don't start on Jan 1st, they're continuous and it's just about the order they are relative to each other. So, the only two cases are:
- (today < new year < old year) -> move backwards so that today still in current year
- (old year < new year < today) -> move forwards so that today still in current year
Writing up the cyclic permutations, the backwards case can be split into
- (old year < today < new year) - works fine
- (today < new year < old year) - works fine
- (new year < old year < today)
and similarly for the forwards case:
- (old year < new year < today) - effective date seems to have over-accounted for leap year, giving a day later effective date. This means that for the first day of the new year, the entitlement will be incorrect...
- (new year < today < old year)
- (today < old year < new year) - works fine