Vacation & Sick Accruals with Dynamics GP PTO Manager

In my last post, I talked about the standard vacation and sick accrual functionality, within Dynamics GP Payroll. To review, Dynamics GP Payroll accruals include:

  • Two buckets for accrual—vacation or sick
  • Two methods for accrual—set amount per pay period or annual amount based on hours worked
  • Manually set levels for accrual and manually change levels

PTO Manager expands this capability to include accrual levels based on seniority and additional functionality, such as carryover maximums and waiting periods. PTO Manager is an additional purchase, so if you are unsure of your licensing, contact your partner or

PTO Manager has four key setup windows accessed from HR & Payroll.

PTO Options Window
Age | Setup | Payroll | PTO Manager

In this window, select whether the accrual levels should be based on adjusted hire date or hire date. If you adjust the hire date for leaves/rehires, you might opt to select Adjusted Hire Date here. There also is an option to activate a separate year-end close for the PTO Manager module (separate from standard payroll). You might mark this if you do not want carryover to be automatically calculated at year-end (or on the anniversary date). You can then run the year-end manually.

PTO Setup Window

You can define different PTO profiles, identified by a PTO code to be applied to employees. All of the settings specified at this level also can be specified at the individual employee level. This window outlines the key differences from the standard GP Payroll functionality for accruals.

  • Just like Dynamics GP Payroll, you can accrue two different buckets of time:  Vacation and Sick.
  • For each type of time, you can apply up to two schedules for accruals. These schedules, which we will discuss next, allow the accrual amount to vary by different factors, including seniority.
    • You might apply a second schedule to give an employee a “bonus” accrual amount or for employees allowed to “buy up” to the next accrual level. In these cases, the second schedule would account for the bonus or additional accrual amount. The accrued amounts calculated for both schedules are added together to determine the employee’s accrual amount.

You also can specify:

  • Waiting Period
    • This is the period in which accruals occur but the employee cannot use the accrued amount. It can be a one-time waiting period, or you can choose to have a recurring waiting period every year.
  • Carryover Maximum
    • This is the amount an employee can carry over from year to year. It can be based on a calendar year (by default) or the employee’s anniversary date.
  • Anytime Maximum
    • This is the maximum available amount an employee can have at any time during the year; this may or may not be the same as the carryover maximum. You can set up a schedule to allow employees different anytime maximums based on years worked.

Accrual Schedule Setup

This window defines the schedules assigned to vacation and sick time. You can specify the levels of the schedule, meaning how an employee moves up in the accrual schedule, using the “Range Based On” field:

  • Years Worked – Accrual levels are determined by the number of years an employee has worked for the company.
  • Hours Worked/Pay Period – Accrual levels are determined by the number of hours an employee has worked in a pay period.
  • Hours Worked/Year – Accrual levels are determined by the number of hours an employee has worked in a year.
  • Hours Worked Life To Date – Accrual levels are determined by the number of hours an employee has worked since they were hired by the company.

The maximum amount an employee accrues at each level is determined by the “Maximum Hours Based On” field:

  • Pay Per Period/Variable – The maximum hours an employee can accrue is set by pay period and can be different for each level in the schedule.
  • Pay Per Period/Fixed – The maximum hours an employee can accrue is set by pay period and is the same for all levels in the schedule.
  • Per Year/Variable – The maximum hours an employee can accrue is set by year and can be different for each level in the schedule.
  • Per Year/Fixed – The maximum hours an employee can accrue is set by year and can be different for each level in the schedule.

In the grid, you can enter the detailed levels for the schedule:

  • Range From/To – The range of years or hours (depending on the selection in the “Range Based On” field) that applies to the level
  • Calculation Factor – The factor applied to the hours worked to calculate the accrued hours (if the employee works 40 hours and the calculation factor is .08, they would accrue 3.2 hours for the pay period), which applies up to the maximum specified for the level; if the employee should always accrue the maximum for the level, you would set the factor to 9.99999.
  • Maximum Hours – The maximum hours an employee can accrue for the pay period or year (based on the selection for Maximum Hours Based On) for this level

Maximum Schedule Setup

When setting up PTO codes, we discussed the concept of an anytime maximum—how much available time an employee can have at any point during the year. This can be a fixed amount, or if you select variable, you can apply a schedule like the one above. These schedules are based on years worked and allow you to vary the anytime maximum based on the employee’s seniority.

Once you have the setup completed, you can apply the settings to individual employees. This step is necessary if you wish to use PTO Manager to accrue vacation and sick time.

Employee PTO Maintenance
Cards | Payroll | PTO

As you can tell, many of these settings can default from the PTO code setup. Additional fields available at the employee level include “Life To Date Hours Worked” and “Accrued Hours.”

Hopefully, this blog post will help identify some of the key differences in PTO Manager from standard Dynamics GP Payroll accruals, including:

  • Schedules for accrual levels, based on years or hours worked
  • Ability to apply a secondary schedule for bonus or buy-up vacation/sick time
  • Automatic tracking of waiting periods
  • Controls for carryover and anytime maximums

If you have questions about PTO Manager, or if it is a good fit for your accrual needs, contact us at

10 thoughts on “Vacation & Sick Accruals with Dynamics GP PTO Manager

  1. avatarKarl

    I have a question related to the Accrual Schedule Setup:Range Based On setting.

    Suppose you want to calculate an accrual (eg, Vacation) based on “Hours Worked/Pay Period”, but you want the accrual to be greater for employees with more years of service.
    For instance:
    Employees with 0 to 4 yrs of service:
    0 to 19.99 hrs worked earn 0.024
    20 to 40 hrs worked earn 0.034

    Employees with over 4 yrs of service:
    0 to 19.99 hrs worked earn 0.054
    20 to 40 hrs worked earn 0.064

    There doesn’t seem to be a suitable option. The Range Based On “Years Worked” selection appears to work independent of the other options.
    If you setup separate tables, obvious problems arise – manually keeping track of when an employee is due to have their assigned accrual schedule changed.

    1. avatarChristina Phillips

      Unfortunately, you are right that the schedule uses one basis. So if you wanted something based on both the years worked, and the hours worked per pay period (if I understand your example correctly), then I don’t think PTO Manager would work for that purpose. Because, in your example, your range would need to be both based on the years worked and the hours worked. You might look at the Professional PTO module from, although I am not an expert in it…it might address your need.

      Christina Phillips, MCT
      Supervising Consultant | BKD, LLP
      1201 Walnut Street, Suite 1700
      Kansas City, MO 64106-2246
      (816) 221-6300 x 21514

      GP Blog: Dynamics GP Insights
      Twitter: @GPinsights
      YouTube: Experience BKD
      LinkedIn: Microsoft Dynamics GP Group

      For immediate assistance, contact our support center 877-bkd-sprt or

  2. avatarPatricia

    we are having a problem with the accruals for just a handful of employees.
    And only on the Vacation accrual. The sick time accrual works correctly.

    Several employees who are set up to accrue time based on hours worked with the adjusted hire date are not calculating properly for some strange reason. Their sick time calculates at the correct rate for the pay period, but the vacation calculation shows at zero.

    We have checked all of the set up files for the accruals as well as compared the affected employee’s records to records of employees that are working correctly but can find no differences.

    Kind of at a loss as to what to check next.

    1. avatarChristina Phillips

      Hi Patricia–

      It is a little bit difficult to troubleshoot over the blog like this, so I might point you to the Microsoft Dynamics Communities online forum ( as a resource for this if you are not currently working with a partner/consultant. A few things that sometimes trip people up include:

      -Employees pay codes (Cards>>Payroll>>Pay Code) are marked to accrue vacation -Employee marked to accrue vacation (Cards>>Payroll>>Employee>>Vac/Sick button) -Confirm that schedule has right ranges (Setup>>Payroll>>PTO Manager>>Accrual Schedules) and employee qualifies for range -On schedule, also check that the Calculation Factor (if trying to accrue a set amount per pay period) is set to 9.99999

      Take care,

      1. avatarPatricia

        Thanks, Christina. The problem was in the accrual schedules. We had them set up based on years of service as 1-5, 6-10, etc. not realizing we needed set it up as 1 – 5.9999, 6 – 10.99999, etc.

        Was an easy fix once we found that “needle in the haystack” . 🙂

  3. avatarMatt

    Do you know how the system determines when the anniverary date has been passed? For example if the accrual is based on the years worked, what date does the system use to tell when the anniverary date has arrived and the employee as moved into the next tier of the accrual schedule?

    Does it use the check date, pay period end date, business date inside GP, system date, etc? The documentation on PTO Manager just says “current date” which is too vague to say for sure.

    Thank you very much!


  4. avatarKevin

    We’ve been testing PTO successfully for a few months now, and recently expanded our test. Today I noticed though that our past few Hire-Date employee anniversaries rolled the Pending Vaca to Available Vaca properly, but didn’t begin accruing again after. Also, for one employee whose anniv was 11/6/13, their Pending Vaca is still being held as Pending. I checked to see if any of the Pending accrual was in an unposted batch, which has in the past prevented Pending time from expiring, but all batches have been posted. Because of past success I feel confident that settings are accurate in general, and that no settings, including Pay Code settings, have been changed for these employees.

    Is there any known bug that has produced a similar experience for others?

    Thank You

Leave a Reply

Your email address will not be published. Required fields are marked *