Salary Hold Functionality
I had posted this documnent once before but I took it down thinking it was incorrect but after some clarity I have re-posted it. Please go through it and let me know if there are any suggestions or if there is a better way of holding salary 🙂
This is a small attempt at Indian Payroll PCR to hold the salary of an employee who is on notice period.
So my scenario goes as follows (this may change from organization to organization):
Whenever an employee puts his resignation, an action is run for the employee which demands the employee to serve notice period. The notice period is variable and can be revoked if and only if Full and Final/Separation action has been executed for the same employee.
During the tenure of the notice period served by the employee, his salary goes on hold. This does not mean you skip the employee from payroll i.e by locking the personnel number in PU03. The employee must be included in regular salary run and his results must be posted to FI but there should not be any Bank transfer, cash or cheque payment in his case.
In technical terms, wage type /559 (Bank transfer), /557 (Cash Payment) must not be created against the employee.
To achieve this, I modified PCR X060 (Storage of payment amount) by copying it to a custom PCR and included them in my Custom Payroll Schema.
In my custom PCR, under wage type /557 and /559 I checked the action type that puts the employee on notice period and passed amount as 0 to /559 and /557. The former amount held by /559 or /557 is passed to wage type /565 (Carry over). /565 is like an intermediate wage type that holds the amount till separation action is run for the personnel.
After modifying this PCR, place the PCR in place of X060 in your custom payroll schema.
Copied PCR X060 (Storage of payment amount) to Y060 (Storage of payment amount) and made the following changes to it (refer screenshot below):
Placed PCR Y060 in the schema (refer screenshot below):
Pre-separation action run w.e.f. from 01.08.2013
For this employee, I have maintained payment method as ‘T’ (bank Transfer) in IT0009 (Bank Details) hence wage type /559 should ideally get generated for him if I don’t hold his salary.
The results table after running payroll does reflect /559 but has transferred the amount to /565
After the employee has completed his tenure of notice period, I ran the separation action which stimulates /559 wage type. The wage type then holds the current month’s salary along with carry over wage type from the previous month.
Note: The amount will be transferred only after performing separation action. Until and unless it is not executed, system still continues to consider the employee to be on notice period and populates /565 wage type till it finds separation action type.
Screenshot showing employee being separated w.e.f 15.09.2013 and the RT after separating the employee:
Here we see that /566 wage type gets added to /559 wage type. This pays out the amount that the employee was eligible during his notice pay and the amount that he is eligible after his separation.
You also need to run payroll posting and verify the result.
If you create a symbolic account and assign the symbolic account to /565 and a GL then I dont think there should be an issue while posting.
I think SAP automatically puts the amount in /559 (i.e. /559 is not created) into /565 if there is no valid Bank Account record (IT0009) for the Period. Another way to do it is with an IF condition with PCR where function P0009 (Read Bank Detail IT) is NOT accessed if the Pre-Separation Action is found. Cheers