Error message when you try to assign a newly created pay schedule in Human Resource Self Service Suite for Business Portal in Microsoft Dynamics GP: "The pay schedule has dates that overlap with last year's active pay schedule"

Symptoms
When you try to assign a newly created pay schedule in Human Resource Self Service Suite (HRMSSS) for Business Portal (BP) in Microsoft Dynamics GP or change an existing pay schedule, you receive one of the following error messages:


The pay schedule has dates that overlap with last year's active pay schedule. Can't save two active pay schedules that share dates.

or

The pay periods assigned to this pay schedule do not match the pay frequency. Recalculate the pay schedule pay periods.
Cause
The problem with the first message above occurs because the start date of period 1 in the new pay schedule overlaps with the date in the last period in the prior pay schedule. However, the HRMSSS module requires that a pay schedule must be 365 days long, and it does not allow dates to be skipped or overlapped between two schedules.


The problem with the second message above is that the pay schedule is 364 days long and the system requires it to be 365 days long before any changes to it will be allowed, or a new pay schedule adjacent to it can be created.

Resolution

Example:

Let's say that your 2016 Pay Schedule runs from December 23, 2016 to December 22, 2017. In this example, you would like to create a new pay schedule named '2017' that starts on December 22nd, 2017, but you can't because it has already been used by the prior pay schedule. 

Pay Schedule: Starting Date -Ending Date

2016: is currently set up for dates 12/23/2016 - 12/22/2017

2017: you want dates 12/22/2017 - 12/21/2018; You want to start this new schedule on 12/22/2017, but can't because this date has already been used by the past pay schedule. 

Note: The system requires the 'name' of the period to coincide with the 'year' stamp on the 'starting date' in that pay schedule.

Use one of the following methods to get around this issue:

  • If you are using BP 4.0 with Microsoft Dynamics GP 10.0, used Method 1 or Method 2 below.
  • If you are using BP 5.0 or BP 5.1 with Microsoft Dynamics GP 2010 or BP 6.0/6.1 with Microsoft Dynamics GP 2013, and have 27 periods (biweekly) or 53 periods (weekly), use Method 1 or Method 2 below.
  • If you are using BP 5.0 or BP 5.1 with Microsoft Dynamics GP 2010 or BP 6.0/6.1 with Microsoft Dynamics GP 2013, and have 26 periods (biweekly) or 52 periods (weekly) because you clicked the option for "Use Only Full Pay Periods", use Method 1 or Method 3 below. Your 2016 Pay schedule may already end on 12/21/2017, but it won't let you create a new schedule for 2016 that starts on 12/22/2017, even though this date has NOT been used in the prior pay schedule. 


Method 1: Un-assign the past Pay Schedule so the system doesn't look at it.


If you are done using the past pay schedule, and all those timecards are approved through to completion, then you can simply un-assign that Pay Schedule from all the employees and the system will no longer consider it. Then you will be able to create the new Pay Schedule starting on whatever date you wish. This is the quickest and easiest method to get around this issue, if you are able to wait until the prior schedule is no longer used and all timecards using that Pay Schedule have been approved/completed.

1. Log into BP as the Administrator.

2. Click on the Administration tab.

3. Click on Timecard Setup.

4. Select the proper Pay Schedule and click on the Assign button.

5. Use the Restrict By drop-down list to select Department and click Unmark All. Then restrict by Employee and select Unmark all. (Check By Location and Position as well, although these are less often used.) Save.

6. Now you can click Add and create a new pay schedule starting on whatever date you wish.



Note Do not 'delete' the prior pay schedule from Business Portal. The pay schedule must exist so that historical data can be viewed. However, if the past pay schedule gets deleted from the Pay Schedule window, you can simply create it again, but don't assign it to any employees. It just needs to exist to display past timecard history.

Method 2: Modify the dates in the Pay Schedule if you have 27 or 53 Periods using Microsoft SQL scripts

Note Before you follow the instructions in this article, make sure that you have a complete backup copy of the database that you can restore if a problem occurs.


Additional Notes:
  • We recommend that you make a backup. Note the start dates and the end dates for all pay schedules so you can edit the SQL scripts accordingly.
  • We recommend that you approve all timecards in the pay schedule that is to be changed. Therefore, do not follow these steps until the end of the pay schedule.

The goal of the steps below are to rename the last period (Period 27 or Period 53) to be Period 0, so the system will move that period to the beginning of the schedule. Then we'll change the year stamp on that period, so the extra day is added to the beginning of the schedule in the prior year, and removed from the end of the schedule to free up that date. So basically, this is sliding the schedule to be one day sooner (or 12/22/2016- 12/21/2017). We need to do this because the system still requires the schedule to be 365 days long. 

Step 1
Run the appropriate script to change the Period ID value from the biweekly or weekly value to 0 as follows. This will move that last period to the beginning of the pay schedule:
BIWEEKLY:update HRM_PayPeriod set PayPeriodID ='0' where PayPeriodID ='27' and yearid='2016' and frequencyid ='2'WEEKLY:update HRM_PayPeriod set PayPeriodID ='0' where PayPeriodID ='53' and yearid='2016' and frequencyid ='1'


Note Update the yearid in the script above to be the name of the old Pay Schedule. These example scripts only cover weekly and biweekly, but can also be edited appropriately if your schedule is a different frequency such as monthly or semi-monthly. Please open a support case to get those values to insert into the script.

Step 2
Run the appropriate script below to change the Period Name value to match:

BIWEEKLY:update HRM_PayPeriod set Name = 'Period 0' where Name = 'Period 27' and Yearid = '2016' and frequencyid = '2'WEEKLY:update HRM_PayPeriod set Name = 'Period 0' where Name = 'Period 53' and Yearid = '2016' and frequencyid = '1'




Step 3
Now you will need to change the start and end date on the Period 0 to be the prior year, so it adds the extra day to the beginning of the Pay schedule. Run both scripts to change the beginning date first for Period 0 and then the ending date for Period 0:
BIWEEKLY:update HRM_PayPeriod set BeginDate ='2016-12-22' where payperiodid ='0' and yearid='2016' and frequencyid ='2'update HRM_PayPeriod set EndDate ='2016-12-22' where payperiodid ='0' and yearid='2016' and frequencyid ='2'WEEKLY:update HRM_PayPeriod set BeginDate ='2016-12-22' where payperiodid ='0' and yearid='2016' and frequencyid ='1'update HRM_PayPeriod set EndDate ='2016-12-22' where payperiodid ='0' and yearid='2016' and frequencyid ='1'
Note The date in the last period was 12/22/2017-12/22/2017, and you have now changed it to be 12/22/2016-12/22/2016 which adds the extra day to the beginning of the schedule by changing only the year-stamp on it. Period 26 or 52 ends on 12/21/2017.



Step 4
Run the following script to update the HRM_PaySchedule table to match the new start date of period 0 in the HRM_PayPeriod table:
BIWEEKLY:update HRM_payschedule set BeginDate='2016-12-22' where yearid='2016' and frequencyid ='2'WEEKLY:update HRM_payschedule set BeginDate='2016-12-22' where yearid='2016' and frequencyid ='1'
Note To verify that the BeginDate value in the HRM_PaySchedule table matches the BeginDate value of period 0 in the HRM_PayPeriod table, run the following script:
BIWEEKLY:Select BeginDate, * from HRM_PayPeriod where yearid ='2016' and frequencyid = 2 and PayPeriodID = 0Select BeginDate, * from HRM_PaySchedule where yearid ='2016' and frequencyid = 2WEEKLY:Select BeginDate, * from HRM_PayPeriod where yearid ='2016' and frequencyid = 1 and PayPeriodID = 0Select BeginDate, * from HRM_PaySchedule where yearid ='2016' and frequencyid = 1 

Step 5
Now you can create a new pay schedule for 2017 with the start date of "12/22/2017." In BP, click on the Administration Tab and click on Timecard Setup. Click the Add button in the Pay Schedules section. Type in the frequency and Begin Date of 12/22/2017 and click Calculate Pay Periods. Save.


Note
The new pay schedule will also create an extra Period 27 or Period 53 for the extra day (since 365 is not equally divisible by 7). However, do not recommend to modify the extra period at this point in time. Otherwise, the pay schedule will overlap with the prior current pay schedule again, so you should wait until the end of the year to modify it.


Step 6
Select the Pay Schedule and click on the Assign button to assign the new schedule to departments, locations, specific employees or positions.





Method 3: Modify the dates in the Pay Schedule if you have 26 or 52 Periods using Microsoft SQL scripts



Note Before you follow the instructions in this article, make sure that you have a complete backup copy of the database that you can restore if a problem occurs.


Additional Notes:
  • We recommend that you make a backup. Note the start dates and the end dates for all pay schedules so you can edit the SQL scripts accordingly.
  • We recommend that you approve all timecards in the pay schedule that is to be changed. Therefore, do not follow these steps until the end of the pay schedule.


In this example, the existing 2016 Pay Schedule goes from 12/23/2016 - 12/21/2017 (and has 26 or 52 pay periods). You want to make a change to the existing pay schedule, or create a new schedule that starts on 12/22/2017, but are still getting an error, even though this date is not being used by the existing pay schedule. The system won't let you create the new pay schedule because the prior schedule is not 365 days long.  


The goal of the steps below are to add an extra day to the existing schedule to make it 365 days long, so you then will be able to create the new pay schedule. 

Step 1
Review the current dates in Period 1 and the last Period (Period 26 or Period 52) in the existing Pay Schedule:
BIWEEKLY: Select * from HRM_PayPeriod where yearid='2016' and frequencyid ='2'WEEKLY: Select * from HRM_PayPeriod where yearid='2016' and frequencyid ='1'


Note Update the yearid in the script above to be the name of the existing Pay Schedule. These example scripts only cover weekly and biweekly, but can also be edited appropriately if your schedule is a different frequency such as monthly or semi-monthly. Please open a support case to get those values to insert into the script.

Step 2

Back up the starting date in Period 1 by one day, to add an extra day to the beginning of the Pay Schedule to make it 365 days long.

BIWEEKLY:update HRM_PayPeriod set BeginDate ='2016-12-22' where payperiodid ='1' and yearid='2016' and frequencyid ='2'WEEKLY:update HRM_PayPeriod set BeginDate ='2016-12-22' where payperiodid ='1' and yearid='2016' and frequencyid ='1'
Note If adding the starting date overlaps with the prior 2012 pay schedule, you may first need to un-assign that old schedule from all the employees, so the system doesn't care about it and doesn't see another overlapping issue.



Note This will make the pay schedule go from 12/22/2016-12/21/2017 which adds the extra day to the beginning of the schedule to make it 365 days long. 


Step 3
Run the following script to update the HRM_PaySchedule table to match the new start date of period 1 in the HRM_PayPeriod table:
BIWEEKLY:update HRM_payschedule set BeginDate='2016-12-22' where yearid='2016' and frequencyid ='2'WEEKLY:update HRM_payschedule set BeginDate='2016-12-22' where yearid='2016' and frequencyid ='1'
Note To verify that the BeginDate value in the HRM_PaySchedule table matches the BeginDate value of period 0 in the HRM_PayPeriod table, run the following script:
BIWEEKLY:Select BeginDate, * from HRM_PayPeriod where yearid ='2016' and frequencyid = 2 and PayPeriodID = 0Select BeginDate, * from HRM_PaySchedule where yearid ='2016' and frequencyid = 2WEEKLY:Select BeginDate, * from HRM_PayPeriod where yearid ='2016' and frequencyid = 1 and PayPeriodID = 0Select BeginDate, * from HRM_PaySchedule where yearid ='2016' and frequencyid = 1

Step 4
Now you can create a new pay schedule for 2017 with the start date of "12/22/2017." In BP, click on the Administration Tab and click on Timecard Setup. Click the Add button in the Pay Schedules section. Type in the frequency and Begin Date of 12/22/2017 and click Calculate Pay Periods. Save.


Note
The new pay schedule will also create an extra Period 27 or Period 53 for the extra day (since 365 is not equally divisible by 7) or if you use "Use Only Full Pay Periods", it will create 26 or 52 pay periods again. However, do not recommend to modify the extra period at this point in time. Otherwise, the pay schedule will overlap with the prior current pay schedule again, so you should wait until the end of the year to modify it.


Step 5
Select the Pay Schedule and click on the Assign button to assign the new schedule to departments, locations, specific employees or positions.


BP HRM HRMSSS
Properties

Article ID: 978268 - Last Review: 09/16/2016 20:57:00 - Revision: 11.0

Microsoft Dynamics GP 2013, Microsoft Dynamics GP 2010, Business Portal 5.1, Business Portal 5.0, Microsoft Dynamics GP 10.0, Business Portal for Microsoft Dynamics GP 10.0, Microsoft Dynamics GP 9.0, Business Portal 3.0

  • kberrmsg kbexpertiseadvanced kbsurveynew kbexpertisebeginner kbtshoot kbmbsmigrate kbprb kbexpertiseinter KB978268
Feedback