Skip to Content

Basic salary change in middle of the month

Mar 13 at 09:31 AM


avatar image

Hi Expert,

I have a new request for payroll as following:

Period Salary 01.03.2018-17.03.2018 95000 18.03.2018-31.03.2018 98000

Monthly salary calculation = 95000 + [(98000-95000)*14/30] = 96400

The proration is only happened on second period.

How to write PCR for this?

Thank you in advance.

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

1 Answer

Rémi Corriveau Mar 13 at 05:01 PM

In your Payroll Log (execute Payroll Simulation for that employee, with the "Display log" box checked), look at the processing in sub-schema XAL0, specially at pcr XPPF and XVAL.

As input to pcr XVAL, there should be 2 lines for the basic salary WT, and their valuation should be 95000*16/30 and 98000*14/30 respectively.

Here is an example of processing in a modified version of pcr XVAL, where the first decision is on Processing Class 10 (as it should), but if the return value is 1 (meaning the WT being processed has PrCl 10 = 1), an additional query is made on the WT being processed ...

Note that this particular processing may not be suitable for your scenario. Study your current processing, identify what, how and where to make your modifications, and test your changes, and then test them again through many scenarios (like retroactive mid-period salary change).

pcr-zval.png (9.2 kB)
Show 10 Share
10 |10000 characters needed characters left characters exceeded

Thank you for your reply.

But i still do not get how could I apply the monthly salary calculation in the PCR.

Current settings...

I'm new to payroll, appreciate more tips from you to get this done.

Thank you in advance.

xval.jpg (35.7 kB)
xppf.jpg (19.1 kB)

Since WT 1010 is being processed twice in pcr XVAL, it confirms that the Payroll Period is has a split.

In the employee's Payroll Log (you haven't mentioned for what Country you're executing Payroll), what happens when Function PARTT is called (or has that Function been deactivated) ?


I'm executing international payroll driver for Macau.

From 01.03.2018-17.03.2018, employee has transferred action, then effective 18.03.2018 there was action Change of pay.

Thank you.


In your pcr XVAL, for WTs with Pr.Cl. 10 = 3, you use WT /803 to factor the payment.

In our version of that pcr (ZVAL), for WTs with Pr.Cl.10 = 1 and where WT = 1031, we use /801 to factor the payment, and here is a look at the Input Table to pcr ZVAL:

In your Input Table to pcr XVAL, are there factors that reflect 16/30 and 14/30? Would you also get the appropriate factors if the split was in a 28 day month or a 31 day month?

If so, try using that other factor to prorate WT 1010.

pcr-zval.png (9.2 kB)
input-to-zval.png (30.3 kB)

Yes, it will be prorated based on calendar day.

My problem is how to set the proration setting for this 2 period for scenario below

period 01: 01.03.2018-17.03.2018, salary was 95000

period 02: 18.03.2018-31.03.2018 salary is increased to 98000

Current setting, the calculation will prorate based on the calendar day, and i got proration for period 01 is 52096.77 and period 02 is 44258.06. Basic salary for existing formula= 96354.83

But now we want to implement new calculation which is

period 01 = 95000 (take full amount for period 01)

Period 02 = (98000-95000)*14/30=1400 (proration only occurs for period 02)

Basic salary for new formula = 96400

Thank you in advance.


What are the inputs to pcr XVAL ?

What are the parameters for WT 1010 in table view V_T511 ?


Inputs for pcr XVAL.

input1.jpg (42.0 kB)
input2.jpg (89.9 kB)

I can't make out how WTs /801 are calculated (could it be on Working Days?), but WTs /803 are a match to 1000000*14/31 (01) and 1000000*17/31 (02).

Considering that WT 1010 for split 01 has Amount = 95000.00 and that WT /803 for split 01 has Rate = 548387.10, the processing of WT 1010 (split 01) in XVAL should have been 548387.10 x 95000.00 ÷ 1000000 = 52096.77


WT 1010 in table view V_T511

t511.jpg (40.0 kB)

PARTT for period 1

PARTT for period 2

Processing for /801 and /803

/801 for period 1 = 99.5*1000000/182.5 = 545205.48

/801 for period 2 = 83*1000000/182.5 = 454794.52

/803 for period 1 = 17*1000000/31 = 548387.10

/803 for period 2 = 14*1000000/31 = 451612.90

Thank you in advance.

patt01.jpg (21.4 kB)
patt02.jpg (22.7 kB)