Entering content frameProcess documentation Technical SI Calculation Process Locate the document in its SAP Library structure

Process Flow

The calculation process for social insurance contributions is outlined in the personnel calculation rules for German payroll. The technical process steps are as follows:

  1. Importing the work center/basic pay/social insurance data
  2. Importing and processing absences
  3. Determining if the March clause can be used
  4. Determining the SI days:
  5. Retrieving all relevant data
  6. Inflow principle or principle of origin for one-time payments and retroactive accounting
  7. Calculating SI contributions

1. Importing the work center/basic pay/social insurance data

The subschema DGD0 (Basic Data Germany) is called up from within the personnel calculation schema D000. In this subschema, the WPBP (Workplace Basic Pay) and P0013 functions are called up.

The function WPBP copies the employee’s work center and basic pay data into the internal table WPBP. The wage types from the Basic Pay infotype (0008), are copied into the internal table IT and can be retrieved for additional processing steps. In addition, the function WPBP determines whether there is more than one partial period that must be considered within a payroll period, and sets the corresponding splits.

The function P0013 copies the social insurance data from the Social Insurance infotype (0013) to the internal table SV. If you change the SI key or HI fund during a payroll period, it results in a SI split.

2. Importing and processing absences

The schema DT00 (Gross Pay) is called up within the personnel calculation schema D000.

Firstly, the function RAB (Read Absences) imports all of the employee’s absences from the Absences infotype (2001), and copies them to the internal table AB. If there are several absences within a payroll period, the individual absence records are stored with a split indicator.

Next, the function DNAB is called up. The function DNAB carries out absence evaluations specific to Germany. The Germany-specific data regarding the end of the continued pay period from the internal table P2001 is added to the data in the internal table AB. The entries in table AB are processed further using this information and the entries from the views Absence Distribution (V_T5D0C) and the view Absence Attributes (V_T5D0A):

Here, the view Absence Attributes (V_T5D0A) is read for each absence, together with the absence valuation class and processing class.

Here, the view Absence Attributes (V_T5D0A) is read for each absence in the table AB. The entries in this table determine whether a new SI partial period should be created for the absence type (that is, the respective combination of absence valuation rule and processing class).

An employee‘s personal work schedule is created with the function GENPS, and stored in the internal table PSP, for internal processing. This table (PSP) contains two national indictors that are filled by the function DNAB. The respective DEUEV indicator is copied to the NAT01 field for each calendar day of the personal work schedule.

The NAT01 field is used to calculate SI days. In a month without a reduction in the SI days, each day in a personal work schedule is marked with an X.

The X is removed for all days in a partial period with reduced SI days. As a result, only the employee’s SI days in the internal table PSP are marked with an X after using the function DNAB. The internal table PSP is displayed in the payroll log.

3. Determining if the March clause can be used

The schema DNET (Social Insurance Germany: SI, Tax, guaranteed net amount) is called up from within the personnel calculation schema D000. In the subschema DSVI (Social Insurance Germany: Initialization), the personnel calculation rule DV40 is checked (check March clause and import OSI), as to whether the March clause can be used.

4. Determining the SI days:

This is the next step in subschema DSVI. You do this in the personnel calculation rule DV50 ( Determine SI days). Use the operation DSVTG to count all personal work schedule days (internal table PSP), that are marked as SI day by the function DNAB.

5. Retrieving all relevant data

The next step in the subschema DSVI is to retrieve all relevant data to calculate social insurance. To do this, use function DSV with the parameters 1 XSV.

6. Inflow principle or principle of origin for one-time payments and retroactive accounting

In the subschema DSVB, one-time payments that result from retroactive accounting, are added to the secondary wage type one-time SI payments (/103) for the current period, by the personnel calculation rule DV10 (outflow wage types from previous month). Therefore, contributions for retroactive one-time payments are calculated using the inflow principle. One-time payments from the previous pay period are copied to a different wage type, and is indicated as such. This wage type is the second derived wage type of the secondary wage type One-time SI payments (/103), from the view "Valuation Bases" (V_512W_B). In the standard system, this is the secondary wage type Inflow /103 from previous month (/Z03).

In the next step, the personnel calculation rule DV20 (Inflow principle, or principle of origin) is processed. This queries whether contributions should be calculated for one-time payments that resulted from retroactive accounting, according to the inflow principle, or principle of origin. Normally, contributions for one-time payments are calculated according to the inflow principle, except for:

If an employee leaves, changes from SI-liable to SI-exempt, retires early, or changes the legal person status, the one-time payment from the last payroll period before the change is assigned to the insurance relationship.

In this case, contributions are calculated according to the principle of origin.

Entries in personnel calculation rule DV20 are made for the wage type One-time payments SI (/103):

No retroactive one-time payment calculations have been run. The operation FILLF A resets the amount field in the wage type /103 to its original value (the value that the retroactive payroll run had determined). Subsequently, the wage type is transferred to the output table OT.

A retroactive one-time payment was made in the payroll run. You must now decide whether to process this retroactive one-time payment according to the inflow or origin principle. Use the operation DSVWE to query whether the insurance relationship has changed:

Note

As a special case, the return value M represents the operation DSVWE.

This return value (M), tells you that, in addition to a change in insurance relationship, there is also a March clause. This is always the case if the one-time payment in a period with a March clause (for example, March) was made retroactively for a period with a March clause (for example, January). In this case, the amount determined in the retroactive payroll run for /103 must be transferred unaltered. This is the only way to recognize a March clause in the In-Period.

The operation FILLF A resets the amount field in the wage type /103 to its original value (the value that the retroactive payroll run had determined). Subsequently, the wage type is transferred to the output table OT.

7. Calculating SI contributions

The actual calculation of social insurance contributions takes place in the schema DNET, within the subschema DSVB (social insurance calculation) by the operation DSV BSV.

For each SI split, the assessment thresholds are created to the exact split and day. The SI gross amounts are created depending on the wage types in the internal table IT and their coding. Subsequently, contributions for the relevant SI gross amounts are calculated for each SI category (HI, PI, UI and NI).

 

Result

The social insurance contributions are calculated.

Leaving content frame