Business Scenario

In Saudi Arabia, a situation can arise when an employee resigns from Company A to join Company B. The process of transferring the Iqama between the companies can take several weeks. During this period, Company A is expected to pay the GOSI and Occupational Hazard contributions for the employee. Company B starts to pay the GOSI and Occupational Hazard contributions only when the Iqama transfer is completed.


System Behavior for Company A

The system prorates the GOSI-applicable earnings and stops the GOSI contribution completely from the moment the employee is terminated. However, the Occupational Hazard contribution continues but is prorated until the employee is withdrawn — that is, until the time when the employee’s Iqama is no longer under the company’s sponsorship. 


Proposed Solution

Some companies that are in the position of Company A don’t want the GOSI-applicable earnings to be prorated, but want to contribute for the whole amount. This can be achieved by making the following changes:

  • For wage types /370 and /374, change the processing class 10 specification from 9 to 0.
  • Create a personnel calculation rule to eliminate the prorate splits in /370 and /374 as follows:

           D SPLIT A?

01           ELIMI *   ADDWT *

02

  • In schema SA00 -> schema SAP9 -> schema SIAC, place the new personnel calculation rule after rule SA26.
  • Enhance the personnel calculation rule SA30 to return True for the Inactive Action (Action Type DL as shown below).

Rule SA30 Before You Make Your Change:

           D PPPAR A

*          D SASSE S

* EX         SCOND=F IF

* IN         SCOND=T IF

A          D OUTWPMASSN

A **       D PPPAR E

A ** *     D PPPAR C

A ** * *     SCOND=F IF

A ** * C     SCOND=T IF

A ** E       SCOND=T IF

A O1         SCOND=T IF

Rule SA30 After You Make Your Change:

           D PPPAR A

*          D SASSE S

* EX         SCOND=F IF

* IN         SCOND=T IF

A          D OUTWPMASSN

A **       D PPPAR E

A ** *     D PPPAR C

A ** * *     SCOND=F IF

A ** * C     SCOND=T IF

A ** E       SCOND=T IF

A DL         SCOND=T IF

A O1         SCOND=T IF

  • Run the payroll for Inactive employee and check /320,/321 and /323 in payroll result.
To report this post you need to login first.

1 Comment

You must be Logged on to comment or reply to a post.

Leave a Reply