SAP PY-ID:Off-Cycle Payroll in the beginning of Tax year

Previously, as I’ve been explaining in January Period, in SAP Payroll Processing, there are so many things that should be aware of. Such as Retro-Active calculation cross the year, it may lead to the incorrect tax (PPh21) calculation (see related posting) . Another issue that has been raised is having Off-cycle pay run before Regular Pay Run take in place, also happen in the beginning of the tax year (January Period). FYI, This off-cycle pay run is close relating to the THR/Bonus payment.

By referring to the issue, the end result will be a small amount of Tax deduction (pph21) in off-cycle pay result while then the rest would be brought forward into the next Regular Pay Run, in the same period, to recalculate the actual Tax deduction. The affect is that the employee salary in the next regular pay run could be less and/or becoming negative cause by the tax deduction.

It is not a kind of SAP bugs, but more to the SAP logic in calculating the income tax when there’s a case that having Off-cycle pay run before regular pay run in beginning of tax year.

But in the overall income tax calculation in a year SAP is quite smart to calculate it to avoid the case of overpaid and/or underpaid of tax.

The related symptom just like the issue as above is about there’s a kind of personal transfer in/out among the personal area (tax office group) and then having also the off-cycle pay run before the regular pay run take in place. (see OSS Note: 864077)

The SAP Logic behind the screen are:

  • THR/Bonus wages treated as an Irregular Net Income and also There is no previous Net Income found (the CRT table is totally in initial balance)
SAP customers are quite often categorized this THR/Bonus wage type as an Irregular Net Income, not as a Regular Net Income. So in SAP pay processing, therefore, it will be calculated as Irregular Tax Income. /4Pn system wage type would be set as 0 in the existing off-cycle pay result but then will be generated in the next Regular Pay Run.
/4P1 : Previous regular net wage type
/4P2 : Previous irregular net wage type
/4P3 : Previous regular tax wage type
/4P4 : Previous irregular tax wage type

Since it is not a SAP bug then below are the steps that has to be done by the Company:

1.) Socialize the case to the employee.About less tax deduction in off-cycle pay run (THR/Bonus) and more higher tax deduction in the next regular pay run.

SAP customers (read: the company side) must be aware of this issue since it is related to the employee remunerations package on the related period. It must be well socialize to related employee, to avoid such a complaint in the next.

2.) Change the payroll running orders, prioritize first the regular pay run then following by the Off-cycle Pay run. But this would be very tough for the payroll team, since they have had their own pay processing schedule on January Period, including the yearly reporting (tax, jamsostek and so on). The tricky option is that to make earlier the pay cut-off for running regular pay run at first, even though the transactions are not closed yet (overtime, variable allowance and so on). And then running the off-cycle one, this is in order to distribute the tax amount in between.

The remuneration that has not been paid to the employee in January period could be calculated as an adjustment in February Period.


8 Responses to “SAP PY-ID:Off-Cycle Payroll in the beginning of Tax year”

  1. suguna Says:

    Dear Harry
    “By referring to the issue, the end result will be a small amount of Tax deduction (pph21) in off-cycle pay result while then the rest would be brought forward into the next Regular Pay Run, in the same period, to recalculate the actual Tax deduction. The affect is that the employee salary in the next regular pay run could be less and/or becoming negative cause by the tax deduction.”

    The above also happens in other situations such as this one below.

    We have run regular payroll in 20th May, and we follow that with an off-cycle (Bonus) in May 26th. The employee has a transfer action on 1st May.

    In this case, the tax is small in off-cycle pay result, while then the rest is eventually recovered in the following periods. In this case the employee is transferred for the 1st of the month. The Off-cycle is not in January, but in May.

    Have you come across this type of situation.
    Will SAP solve this issue, do you know.

  2. harrypoe Says:

    Hi Suguna,
    In what payroll country you’re dealing with?Me, for Indonesian Payroll (PY-ID).
    In PY-ID, because Indonesia is using annualized method in their income tax calculation (PPh21) then actually there’re some factors that SAP use to calculate the income tax.
    1. SAP will always calculate the total income along the year until the existing period then multiply it by its projection factor in the current payroll period. So globally the formulas will become as these:

    /416 = /414 + /415 or
    Annual Total Net = Annual Regular Net + Annual Irregular Net

    /414 = (/412 + prev /412 ytd) * /402 or
    Annual Regular Net = (Regular Net Income + previous Regular Net Income year to date) * Projection Factor

    /415 = /413 + prev /413 ytd or
    Annular Irregular Net = Irregular Net Income + previous Irregular Net Income year to date

    (**Note: prev /413 ytd is /413 from CRT table in previous period)

    Off-cycle payroll wage types is often defined as Irregular Net Income (that is cumulated into irregular taxable income) by SAP Customer. SAP will not calculate this irregular taxable income wage type with the projection factor in the their future tax calculation, only the regular taxable income does.
    So it explains why the total tax in off-cycle period is becoming very small when it is run in the beginning of year although it will be adjusted in the next payroll period. This is treated as my case as I’ve already explained at above.

    2. In PY-ID (indonesian Payroll), the income tax will be paid and reported to the Tax Office (KPP or Kantor Pelayanan Pajak) where the employee located or in other words, where the company code (NPWP:Nomor Pokok Wajib Pajak) is registered in their local tax office. How we define the tax office, it closely related as how we define our Enterprise Structure configuration, that are Company Code-Personnel Area – Personnel Sub Area (I’ll try to explain more about this enterprise structure config detail in separate treat later). So, in your case, I assume the transfer action is across the personnel area that lead to the difference Tax Office Grouping. Therefore SAP will try to calculate the total income from the beginning again means the total income from the previous period until the transfer date will not be calculate in the transfer period and later, since it belongs to the previous Tax Office reporting. That’s why when you run the off-cycle bonus soon after the transfer action, the total income tax will be small or very small, if I may say. It will be adjusted into the next payroll period off course.
    So from the above explanation, in PY-ID, whenever there’re such transfer action in the mid of year that may lead to the different Tax Office reporting. Then, in the year-end, SAP will produce The 1721 A1 (SPT pajak tahunan) as many as the tranfer action across tax office grouping has done. In Summary, the grouping in the year-end Tax Report are Tax Office Grouping, Employee Number (Pernr).

    Hope it can answer your issue, should there’re some other opinions and ideas are welcome.


  3. SAP PY-ID:Off-Cycle Payroll in the beginning of Tax Year (2) « Harry Poernomo Says:

    […] Tax (PPh21)Pencairan Saldo JHT JamsostekSAP HR IntroductionSAP HR Utility ReportSAP HR InfotypesSAP PY-ID:Off-Cycle Payroll in the beginning of Tax yearKiat-Kiat Mengunjungi Pameran […]

  4. Aguk Raharjo Says:

    Pak Harry, mo tanya nich….
    Di client saya ini (kebetulan saya hanya support) ada kasus yang aneh dengan projection factor. Jika ada employee yang dimutasi (mutasi antar cost center/personnel area/kantor pajak) di bulan yang dijalankan offcycle, maka akan terjadi kesalahan projection factor-nya (wage type /402). Contoh realnya seperti ini. Employee A dimutasikan pada tanggal 1 Desember 2007. Sementara pada tangga 11 Desember dijalankan offcycle payment untuk THR akhir tahun/Natal. Nah, pada offcycle logs-nya, yang seharusnya annualizingnya 1 dan projectionnya 1, yang keluar diprojectionnya justru 1.3333333. Ini mengapa dan bagaimana mengatasinya? FYI, schemanya masih menggunakan schema standard. Di logsnya sudah keluar sejak dari ORT (last result tablenya)
    Makasih sebelumnya….

  5. Iis Says:

    Dear Harry,
    I would like to ask some questions around off-cycle payroll for Indonesia (PY-ID). I noticed there’re only two offcycle category delivered by SAP for Indonesia, Regular Bonus and Monthly Payroll. I would like to know whether you have any idea/experience whether we can actually pay employee last paycheck on termination case using offcycle payroll for PY-ID? What offcycle reason/category should we use if we want to pay employee last paycheck without waiting for the next regular payroll run? Or probably you have experience on how we should handle this using SAP PY-ID?

    I’ve tried to setup offcycle reason “On Demand” to see whether it will work for Indonesia. But I received error message that On-Demand payrolls are not supported through the Payroll Driver. They must be run through Off-Cycle Workbench, which SAP doesn’t deliver for Indonesia. So I wonder whether actually there’s a way for PY-ID to pay employee last paycheck through the offcycle process.

    Thank you very much and really appreciate your response.

  6. Narendra.S Says:

    Dear Harry,
    I want to ask one question, If we run Offcycle run( Irregular wage type) is it necessary to get only Irregular Tax, I am asking this because In one of client systems we are getting regular tax for offcycle run , because previous months regular amount.
    Please Clarify my doubt
    Thanks in Advance

  7. harrypoe Says:

    Hi Narendra,
    In what SAP country you are dealing with?
    In SAP PY-ID (Indonesia), it always depend on how we configure the wage type whether it is regular or irregular. But commonly, when we are dealing with off-cycle payroll then we will use irregular wage type for the purpose.
    This will answer your question then. Since the regular wage type can be used also in off-cycle payroll. Depends on how your company policy definining.
    But ok, lets assume all wage type used in our off-cycle payroll are all irregular income (ex. Bonus, THR and so on). By default if in this off-cycle both regular and irregular income will be calculated especially for the Indonesian Tax calculation purposes. I mean it is always considering about the cumulative regular and irregular income year to date into the existing calculation. Only the thing while we don’t have any regular income in off-cycle period then the total Regular Tax would become 0.

    Other than above, the case you mention, still might happen at circum condition. Let say, you are trying to run off-cycle payroll for termination employee.

    Hope this can give you a picture about off-cycle payroll processing. Waiting for our next discussion.

    Harry Poernomo

  8. Peter Says:

    Dear Harry,
    I have an issue with SAP payroll, i want to upload leagacy payroll to SAP, i maintain SAP in two business unit ( company A & B)

    There is an employee at Jan-Feb he is in Company A, but the other moth he is already transferred to Company B. So in the end of this year i have to print out 2 SPT. When i try it the previous paid tax wont counted in the 2nd SPT.

    The previous paid tax only appear when i run payroll for March.

    need your help.

    Thx before.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: