Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

KB - Error message when you save a transaction or when you accrue attendance in Microsoft Dynamics GP: “You cannot accrue transactions for a date that isn’t within an accrual period”


View products that this article applies to.

Symptoms

When you save a transaction or when you accrue attendance, you receive one of the below error messages:  
You cannot enter transactions for a date that isn’t within an accrual period.

You cannot accrue attendance for a date that isn't within an accrual period.
When you receive this error message, you cannot complete the current attendance transaction or the current attendance accrual.

↑ Back to the top


Cause

This problem occurs if one or more of the following conditions are true in the Accrual Period Setup window in Microsoft Dynamics GP: 
  • Dates are missing from an accrual year.
  • Overlapping dates exist in an accrual year.
  • The accrual year is not completely set up.
  • Not enough years are set up.
  • The transaction is for a date that has not been set up.
  • An employee has a Next Accrual date for an accrual period that is not set up.
  • Accrual codes still active in HR for inactive employees.
  • Accrual Schedule is blank on active employee from import (required field)

↑ Back to the top


Resolution

To resolve this problem, follow these steps:
  1.  Select Microsoft Dynamics GP, point to Tools, point to Setup, point to Human Resources, point to Attendance, and then click Accrual Periods.
  2. Verify the following three years of accrual periods or pay periods are set up:
  • The previous year
  • The current year
  • The upcoming year

    3. ​​​​​​Make sure that no dates are missing from an accrual setup. To do this, click each accrual period and make sure that all the dates are included for the whole year, through December 31 (not 30). For example, if you use a semimonthly setup, you should also revew the weekly and biweekly setups as well. The system reads from the top down, so be sure to set all those up for the period setups down to the one you are using. Make sure that in each setup, no dates are skipped or overlap in between periods and each year.

    Additionally, make sure that no gaps exist between periods or years. 

    4. Make sure that no dates exist that are included multiple times in any accrual period or in any pay period.

    5. Make sure that all accrual periods or pay periods have setup information entered, even if you do not use the periods. For example, if all accrual periods or pay periods are completed on a bimonthly schedule, you still have to set up information for weekly accrual periods or for the pay periods.

    6. If the errors are on transactions, make sure that the date in the Attendance transaction entry box is correct on the Attendance Transaction Entry window. Additionally, make sure that these dates fall in the accrual period or in the pay period that you want.

    7. If the error is on accruals, make sure that the date in the Accrue attendance through box is correct on the Accrue Attendance window. 

    ​​​​​​​8. If the error is on accruals, run this script in SQL Server Management Studio against the company database to see if any employees have a Next Accrual Date that is greater than the last day of the year that you have set up periods for in the Accrual Periods or before the first date that you have Accrual Periods set up for: (For any records found, change the Next Accrual Date to a valid date in the Employee Attendance Maintenance window.)
select * from TATM1030 where NEXTACCRUALDATE_I > 'YYYY-MM-DD' and INACTIVE = 0 and TIMETYPE_I = 4

--Fill in the YYYY-MM-DD placeholder with the last day of the year that you have accrual periods set up for to see if any 
employees have a Next Accrual Date dated in the future. 
 
select * from TATM1030 where NEXTACCRUALDATE_I < 'YYYY-MM-DD' and INACTIVE = 0 and TIMETYPE_I = 4

--Fill in the YYYY-MM-DD placeholder with the first day of the year that you have accrual periods set up for to see if any 
employees have a Next Accrual Date dated in the past. 


 

↑ Back to the top


Keywords: kbentirenet, kberrmsg, kbmbspartner, kbexpertisebeginner, kbtshoot, kbmbsmigrate, kbprb, kbexpertiseinter, kb

↑ Back to the top

Article Info
Article ID : 937821
Revision : 5
Created on : 11/16/2018
Published on : 11/16/2018
Exists online : False
Views : 185