Date Calculation for Employee Vacation?

Question asked by geoffgerrits on Sep 19, 2017
Latest reply on Sep 19, 2017 by geoffgerrits

Our employee's vacation days renew on January 1 each year.  Our employees always ask "How many vacation days will I have on January 1 next year?".  I would like to create a Calculation Field to show this.  Let's call it "VacationNextYear".  I obviously also have a field for "HireDate".

Our vacation policy states the following:  If on January 1, you have been employed for 6 months, you will receive 7 days of vacation.  Also, if you have been employed for more than 1 year, you will also receive an additional day for each full year you have been employed.

I've lost track of EVERYTHING that I've tried so far, so I can not list them all.  In general, here is what I'm thinking about doing (with no success so far):

Calculation Field "VacationNextYear":

If (

Date(1;1;Get(CurrentDate)+1) - HireDate > 365 ;

Year(Get(CurrentDate)) - Year(HireDate) + 7;

If (

Month(HireDate) <=6 ; 7 ;

0

)

)

This seems straight forward, but I must me missing something simple.  Like I said, I've tried many variations of this with no luck.  I've tried calling out the long version of the HireDate (ex: Date(Month(Date of Hire);Day(Date of Hire);Year(Date of Hire)) ), but that didn't seem to work either.  In the above if statement, I always get results for Current Year - HireDate + 7.