SAP Knowledge Base Article - Public

2743930 - Duplicate Accruals In Time Accounts

Symptom

  • Duplicate accruals are posted in Time Accounts. 
  • What is the cause and resolution?

Image/data in this KBA is from SAP internal systems, sample data, or demo systems. Any resemblance to real data is purely coincidental.

Environment

SAP SuccessFactors Employee Central  - Time off

Reproducing the Issue

  1. Run Check Tool for time off (Admin Center -> Check Tool).
  2. The check 'TimeAccountWithDuplicateAccrualPeriodIds' retuns error.

CheckTool.jpg

  1. On clicking on the issue, you can find all the duplicate accruals in the instance.(Curently, the results show a maximum of 100 records).

Cause

  • A time Off calendar(Admin Tools -> Manage Time off Calendar) is executed twice or two or more time account change calendars are created and ran in parallel to process the same accrual.
  • The more automated and scheduled calendars are executed each day, the higher the risk of accrual duplicates, for example if you scheduled many additional calendar runs in addition to the ones created by automation.

Resolution

How To Analyze?

For inconsistencies listed via check tool(as shown above), you can check the time stamp of the the time account to find the last saved timestamp. To get more detailed information, you can set the visibility of the 'createdDate', 'createdBy' and 'changeCalendar' to Read Only in the object definition 'Time Account Detail fields'. These fields helps to check when these details were created and to check for duplicate calendar executions in the Manage Time Off Calendars UI.

How To Fix The Duplicates?

Export the duplicate accrual list from the check tool -> Use the Time Account external code in the file to find out the particular Time Account Type. If the 'Accruals Based On' field in the time account type is 'Standard', then follow the below steps:

  1. Navigate to Configure Object Definition -> Select 'Time Account Type' -> Set visibility of the field 'accrualRecalculationPostingMethod' to 'Editable' -> Save
  2. Open Manage Data -> Time Account Type -> Select the time account type-> Take Action -> Make Correction -> Set the value of the field 'accrualRecalculationPostingMethod' to 'No Recalculation posting' -> Save
  3. Afterwards, create the accrual calendar run (by choosing Manage Time Off Calendars in the Admin Center) for the mentioned day/accrual periods where duplicate is present -> activate the recalculation flag before running.
  4. After execution, there will be only one accrual posting for each accrual period based on the calculation in the corresponding hire, termination or accrual rule.
  5. Similarly perform the steps for all the other Time Accounts where duplicates are present. You can do a Time Account Type import to set the 'accrualRecalculationPostingMethod' to 'No Recalculation posting'.

If the 'Accruals Based On' field in the time account type is 'Recorded Times', then follow the below steps:

  1. Navigate to Configure Object Definition -> Select 'Time Account Type' -> Set visibility of the field 'accrualRecalculationPostingMethod' to 'Editable' -> Save
  2. Open Manage Data -> Time Account Type -> Select the time account type-> Take Action -> Make Correction -> Set the value of the field 'accrualRecalculationPostingMethod' to 'No Recalculation posting' -> Save.
  3. You need to follow any one of the 3 options below:
    • If there are only few duplicates, you may manually remove it from Manage data -> Time Account.
    • Navigate to Admin Tools -> Manage data -> Create new 'Time Management Recalculation Event'->Execute recalculation events for the affected users. Please make sure that the date is from the earliest date of the inconsistent accrual. Recalculation is only successful if all inconsistent accruals are corrected.

TMRE.png

        • This method will work only if you have recalculation activated in 'Time Management Configuration' object (Manage Data -> Time Management Configuration object).
        • After save, navigate to Admin tools -> Execution Manager Dashboard -> Filter 'Trigger Recalculation' and check if the job is successfully run.
    • Navigate to Admin Tools -> Manage Data -> select the affected 'Accrual Calculation Account Type Base' for the affected employees -> Make Correction -> set the status to "To Be Processed". You can then create and run a calendar from the MDF UI (Manage Data -> Create new -> Time Account Change calendar) or wait for the nightly job to run and correct the duplicates. Once the calendar is run, check if the accrual has been updated and the duplicates have been removed.
        • Important point to be noted here is that this needs to be done for all records. For example, the accruals are daily and there is an employee with 3 duplicate accruals on that time account. If you would just set the status to TO_BE_PROCESSED for one Accrual Calculation Account Type Base object, this one would be recalculated but in the end, recalculation would fail due to the other inconsistencies that are not recalculated yet.

TimeAccountChangeCalendar.png

NOTE: 

  • The check tool shows a result of maximum 100. Therefore, run the check tool again to see if there are any more duplicates.
  • After you confirm the duplicate accruals are removed, navigate again to Admin Center -> Manage Time off structures -> Time Account Type -> Set the field ‘Accrual Recalculation Posting Method' to ‘Classic’ -> Save.

Prevention

The engineering team developed an enhancement with the b2011 release to prevent the parallel processing of the time off calendars "TIM-12113". This should help to avoid the creation of duplicate accruals by the system.

Keywords

Time Account Duplicate accruals

Check Tool TimeAccountWithDuplicateAccrualPeriodIds posting Time account detail Time off changes cannot be saved: For the period ID There should be either one accrual booking or two accrual bookings and one recalculation booking Error while aplying leave TIM-11775 TIM-12113 TIM-11900 , KBA , LOD-SF-EC-TIM-TA , Time Accounts (TAT, TA, TAD) , How To

Product

SAP SuccessFactors Employee Central all versions ; SAP SuccessFactors HCM Core all versions