PTO Accrual Tracker

mr shifty

New Member
Joined
Mar 21, 2019
Messages
8
I am trying to calculate PTO for my company of 600+ employees. I have used a few of the formulas posted here over the years, but can't seem to get it work per our policy

Example:
If an employee has a hire date of 6/3/18, from 12/16/18 through today would equal 6 pay periods at the <1 year rate equaling 22.158 hours (6*3.693). The issue is when the employee would get to their 1 year anniversary which would be the 12th pay period (6/2/19). At 12 pay periods, the employee will have 44.316 (12*3.693) hours and then on the 13th pay period start accruing at the 4.309 rate. Is there a formula to show this? Most formulas I have used change the total balance from 44.316 to 51.696 (12*4.308).

Accrued biweekly starting 12/16/18:
0-1 years = 3.693 PTO hours/biweekly
1-5 years = 4.308 PTO hours/biweekly
5+ years = 5.539 PTO hours/biweekly

So far I have the following:
C1 start of the pay period 12/16/2018
D1 Today
E1 =INT((D1-C1)/14)
A3 Name
B3 Hire Date
C3 show the accrued balance

Thanks!
 

Excel Facts

Round to nearest half hour?
Use =MROUND(A2,"0:30") to round to nearest half hour. Use =CEILING(A2,"0:30") to round to next half hour.
I've been a payroll professional for a total of about 13 years. I have questions.

Does your company limit the number of hours an employee can roll over into a new fiscal or calendar year? This would need to a variable in the calculation.

Are you not calculating the rate of PTO based on the number of hours a person works up to a maximum of 80 hours biweekly? Most of the company policies I've seen prorated the PTO accrual based on the percentage of actual hours worked up to a maximum of 100% or 40 hours per week. Each pay period should be a stand-alone calculation, not a combined calculation for a number of pay periods. First year calculation for each period: 3.693 * (number of hours worked / number of hours in period) or 3.639 * (79 / 80) = 3.6468. This would then get added to all other accrual from previous periods and used PTO would be subtracted.

Should the rate of accrual be based on the date at which the pay period started? Meaning, are you going to calculate the accrual differently if the first half of the pay period is in the first year and second half of the pay period is in the second year? You would then need to calculate the number of potential work hours there was in each accrual year.

Jeff
 
Upvote 0
I've been a payroll professional for a total of about 13 years. I have questions.

Does your company limit the number of hours an employee can roll over into a new fiscal or calendar year? This would need to a variable in the calculation.

Are you not calculating the rate of PTO based on the number of hours a person works up to a maximum of 80 hours biweekly? Most of the company policies I've seen prorated the PTO accrual based on the percentage of actual hours worked up to a maximum of 100% or 40 hours per week. Each pay period should be a stand-alone calculation, not a combined calculation for a number of pay periods. First year calculation for each period: 3.693 * (number of hours worked / number of hours in period) or 3.639 * (79 / 80) = 3.6468. This would then get added to all other accrual from previous periods and used PTO would be subtracted.

Should the rate of accrual be based on the date at which the pay period started? Meaning, are you going to calculate the accrual differently if the first half of the pay period is in the first year and second half of the pay period is in the second year? You would then need to calculate the number of potential work hours there was in each accrual year.

Jeff

Roll over is not capped, there is however a cap on how many hours you can have banked (1.5 accrual for the year). Once the cap is hit, you stop accruing until PTO is used.

We do not calculate based on hours work, its a flat rate for all.

New rate would be calculated on the next pay cycle using the example you provided.
 
Upvote 0
I'm working on a table and formula. When you say biweekly, you mean every two weeks?

So, if a person doesn't work at all for a period, nor takes any PTO they still accrue PTO?

Is 1.5 Accrual for the year based on this table?

Excel 2013/2016
ABCD
1YearsBiweekly AccrualAnnual PTOMax PTO
203.69396.018144.027
314.308112.008168.012
455.539144.014216.021
5995.539144.014216.021
PTO
Cell Formulas
RangeFormula
C2=B2*26
 
Last edited:
Upvote 0
I'm working on a table and formula. When you say biweekly, you mean every two weeks?

So, if a person doesn't work at all for a period, nor takes any PTO they still accrue PTO?

Is 1.5 Accrual for the year based on this table?
Excel 2013/2016
ABCD
1YearsBiweekly AccrualAnnual PTOMax PTO
203.69396.018144.027
314.308112.008168.012
455.539144.014216.021
5995.539144.014216.021

<colgroup><col style="width: 25pxpx"><col><col><col><col></colgroup><thead>
</thead><tbody>
</tbody>
PTO

Worksheet Formulas
CellFormula
C2=B2*26

<thead>
</thead><tbody>
</tbody>

<tbody>
</tbody>
Yes, biweekly = every 2 weeks.

Yes

Yes
 
Upvote 0
Ok, this will probably need some tweaking. But this is a good start.

You said you wanted to split the pay period PTO if the period crossed over a year break. The formulas in G2:AG7 are doing just that.

Red is a test if the pay period date is older than today
Blue is a test to see if the period has crossed over an Accrual years (ie, over 1 year, over 5 years).
Green is calculating the percent of days that fall into the lower Accrual years and the percent of days that fall into the upper Accrual years and multiply the period accrual hours for each
Purple is returning the Accrual hours if the period doesn't cross over an Accrual year break

=IF(I$2<=NOW(),IF(VLOOKUP(YEARFRAC($B4,I$2),PTOAccrual_tbl,1,TRUE)>VLOOKUP(YEARFRAC($B4,I$2-14),PTOAccrual_tbl,1,TRUE),VLOOKUP(YEARFRAC($B4,I$2-14),PTOAccrual_tbl,2,TRUE)*((EDATE($B4,INT(YEARFRAC($B4,I$2))*12)-(I$2-14))/14)+VLOOKUP(YEARFRAC($B4,I$2),PTOAccrual_tbl,2,TRUE)*((I$2-EDATE($B4,INT(YEARFRAC($B4,I$2))*12))/14),VLOOKUP(YEARFRAC($B4,I$2),PTOAccrual_tbl,2,TRUE)),0)

Cell I4 shows a calculation where the period crosses over an Accrual year break

Excel 2013/2016
ABCDEFGHIJKLMNOPQRSTUVWXYZAAABACADAEAFAG
1201912/31/2018PTO Accrual for Period EndingPTO Accrual for Period EndingPTO Accrual for Period EndingPTO Accrual for Period Ending
2Period Start:PriorPriorCurrent1/14/20191/28/20192/11/20192/25/20193/11/20193/25/20194/8/20194/22/20195/6/20195/20/20196/3/20196/17/20197/1/20197/15/20197/29/20198/12/20198/26/20199/9/20199/23/201910/7/201910/21/201911/4/201911/18/201912/2/201912/16/201912/30/20191/13/2020
3NameHire DateAccrued YearsPTO BalancePTO TakenPTO Balance123456789101112131415161718192021222324252627
4Bob White2/1/20180.920.008.0012.133.6933.6934.1324.3084.3080.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.000
5Jan Smith5/1/20171.67168.0020.00168.014.3084.3084.3084.3084.3080.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.000
6George Jones9/12/198929.30220.0020.00216.025.5395.5395.5395.5395.5390.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.000
7Janis Joplin12/14/20144.0540.0020.0041.544.3084.3084.3084.3084.3080.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.0000.000

<colgroup><col style="width: 25pxpx"><col><col><col><col><col><col><col><col><col><col><col><col><col><col><col><col><col><col><col><col><col><col><col><col><col><col><col><col><col><col><col><col><col></colgroup><thead>
</thead><tbody>
</tbody>
PTO Calc

Worksheet Formulas
CellFormula
G2=FirstDate+14
H2=G2+14
I2=H2+14
C4=YEARFRAC(B4,FirstDate)
F4=MIN(D4+SUM(G4:AG4)-E4,VLOOKUP(MIN(YEARFRAC(B4,NOW()),YEARFRAC(B4,DATE(CurYear,12,31))),PTOAccrual_tbl,4,TRUE))
G4=IF(G$2<=NOW(),IF(VLOOKUP(YEARFRAC($B4,G$2),PTOAccrual_tbl,1,TRUE)>VLOOKUP(YEARFRAC($B4,G$2-14),PTOAccrual_tbl,1,TRUE),VLOOKUP(YEARFRAC($B4,G$2-14),PTOAccrual_tbl,2,TRUE)*((EDATE($B4,INT(YEARFRAC($B4,G$2))*12)-(G$2-14))/14)+VLOOKUP(YEARFRAC($B4,G$2),PTOAccrual_tbl,2,TRUE)*((G$2-EDATE($B4,INT(YEARFRAC($B4,G$2))*12))/14),VLOOKUP(YEARFRAC($B4,G$2),PTOAccrual_tbl,2,TRUE)),0)
H4=IF(H$2<=NOW(),IF(VLOOKUP(YEARFRAC($B4,H$2),PTOAccrual_tbl,1,TRUE)>VLOOKUP(YEARFRAC($B4,H$2-14),PTOAccrual_tbl,1,TRUE),VLOOKUP(YEARFRAC($B4,H$2-14),PTOAccrual_tbl,2,TRUE)*((EDATE($B4,INT(YEARFRAC($B4,H$2))*12)-(H$2-14))/14)+VLOOKUP(YEARFRAC($B4,H$2),PTOAccrual_tbl,2,TRUE)*((H$2-EDATE($B4,INT(YEARFRAC($B4,H$2))*12))/14),VLOOKUP(YEARFRAC($B4,H$2),PTOAccrual_tbl,2,TRUE)),0)
I4=IF(I$2<=NOW(),IF(VLOOKUP(YEARFRAC($B4,I$2),PTOAccrual_tbl,1,TRUE)>VLOOKUP(YEARFRAC($B4,I$2-14),PTOAccrual_tbl,1,TRUE),VLOOKUP(YEARFRAC($B4,I$2-14),PTOAccrual_tbl,2,TRUE)*((EDATE($B4,INT(YEARFRAC($B4,I$2))*12)-(I$2-14))/14)+VLOOKUP(YEARFRAC($B4,I$2),PTOAccrual_tbl,2,TRUE)*((I$2-EDATE($B4,INT(YEARFRAC($B4,I$2))*12))/14),VLOOKUP(YEARFRAC($B4,I$2),PTOAccrual_tbl,2,TRUE)),0)

<thead>
</thead><tbody>
</tbody>

<tbody>
</tbody>

Workbook Defined Names
NameRefers To
CurYear='PTO Calc'!$A$1
FirstDate='PTO Calc'!$C$1
PTOAccrual_tbl=PTO!$A$2:$D$5

<thead>
</thead><tbody>
</tbody>

<tbody>
</tbody>
 
Upvote 0
Do you have named ranges for CurYear, FirstDate, and PTOAccrual_tbl? CurYear should be the current year, as in 2019. FirstDate should be the date for the beginning of the first pay period. The PTOAccrual_tbl should look like the one in Post 5.

Please confirm.
 
Upvote 0
Do you have named ranges for CurYear, FirstDate, and PTOAccrual_tbl? CurYear should be the current year, as in 2019. FirstDate should be the date for the beginning of the first pay period. The PTOAccrual_tbl should look like the one in Post 5.

Please confirm.
Ahh I missed that, it works now. The formulas don't work past column M4 :(
 
Upvote 0

Forum statistics

Threads
1,214,593
Messages
6,120,434
Members
448,961
Latest member
nzskater

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top