Consultant Guide to Understanding Singapore CPF Retro Calculations


CPF contributions are the major portion of Singapore payroll calculations. These contributions are subject to a number of legislative requirements and are quite complex in nature to understand and implement. SAP has provided solutions for various scenarios for CPF calculations and these are subject to configuration and consulting expertise.

In this blog, we will discuss on the process flow of CPF calculations and one repeated question that comes up in Singapore payroll client workshops. I have also incorporated the tip on how we can ensure the Payroll Control Center (PCC) works well for ad-hoc off cycle payments.

This is part I of a consultant guide on understanding how SAP Payroll Singapore works.

Process Flow for CPF contributions

Retro Calculations for CPF contributions

Basically, there are two cases in which the retro calculations would be triggered:

A) If there is a change in the ordinary wages (OW) of the previous month


B) If there is a change in the additional wages (AW) of the previous month.

A) If there is a change in the ordinary wages (OW) of the previous month

The following table describes how the calculations are conducted for CPF in case there is a change in the OW wages of the previous months (single or double retro)


An employee is paid OW of 5000 SGD in the month of January 2022 (01/2022) but in the month of February there is a change in OW going back to January – let us say, 5200 SGD. The below table shows the calculations made by the system during retro.

Role of PCR RC40 in the schema during retro payroll calculation for the period of 01/2022 in period 02/2022

Rule RC40 populates the technical wage type /T02 with the old value of OW for January 2022 while the /102 is now populated with 5200 – the difference in the old and new, i.e. /102 – /T02 is populated into /F02 which holds the value of 200 SGD therefore.

/T02 = 5000 [Old OW amount created in retro run for Jan in Feb 2022 from the result of the old payroll run in January 2022]

/102 = 5200 [New OW amount created in retro run for Jan in Feb 2022]

/F02 = 200 [Difference in the previous and new OW amounts]

Role of PCR RC10 in the schema during payroll calculation for the current period i.e. February (02/2022)

RC10 creates the /103 in the current period for the difference amount in the OW brought forward to current period. Thus, the value of /103 will be added with the value of /F02 from 01/2022. This also means that the retro changes have now triggered a AW calculation of CPF and not an OW calculation for CPF. This is the main difference in the way CPF retro calculations behave.

Similarly, we have the second scenario where the AW from a previous month is changed.

B) If there is a change in the additional wages (AW) of the previous month

In this case as well, the difference is brought forward from /F03 to /103 to calculate the CPF.

One question that I always encounter when we talk about the CPF calculations in payroll workshops is, how do we address the issue of contribution calculations for an employee who has been hired after the payroll cut off has passed. As we see here, the retro calculation will trigger a AW calculation instead of the correct normal OW calculation.

To overcome this issue – it is suggested to use an ad – hoc off cycle payroll run with off cycle reason as “B” if the payroll for the month of January is closed.

Running Off Cycle Payroll in Payroll Control Center (PCC) for Singapore

Issue with correction run in PCC

In Payroll Control Center, Manage Off-Cycle Payrolls Application, when trying to create an Ad-hoc Off-cycle for a new hired Employee with the Off-cycle reason Correction/Adjustment (payroll type is B), error message is displayed as “No retro date exists to recalculate the payments requested for adjustment.”.

Why this error comes up while using PCC but not at the backend

The reason this error is thrown in PCC is because, unlike the backend run, PCC will check for existing live payroll results for the month for which the correction is being done. As it finds none for a new hire employee, it throws an error.

How to overcome this issue

In order to circumvent this issue, a custom off cycle reason specific to Singapore has to be created. This custom reason is called “On Demand” and characterized by reason code “D”. This custom off-cycle reason, if unavailable, needs to be created in the views V_T52OCC and V_T52OCR following the principals that the payroll type should be left blank and Off-cycle reason type is “D”


This is a brief of how retro calculations for OW and AW impact CPF contribution calculations. A detailed blog on CPF excess/ shortfall and refunds will be written and published shortly.