SPD workflow to update List items at year-end

I have a list of users, each user has some leaves allotted of different types(Say Paid, Sick, etc.).At year-end(31st of Dec) a workflow should run which will update all the leaves allotted to each user, Like: 1. Remaining paid leaves should be added to newly allotted leaves(Remaining were 3 and allotted is 10 then allotted leaves for the following year should be 13) 2. In any other leaves types, say sick leaves won’t be carried forwarded only 10 days of leaves will be allotted.

Now, how should I achieve this, which type of workflow should I create, Site or List, and what steps I need to create in the workflow