How the money is worked out
Four calculations in PeopleNest get asked about more than all the others together. This page works each one through with real numbers, so that when a client disputes a figure you can show them exactly which field produced it.
Gross, net, salary, pay
Four words, and clients use them loosely. PeopleNest does not, and the difference matters on every payslip.
| Term | What it means |
|---|---|
| Gross salary | What the man is entitled to in a month, as agreed. The sum of every earning on his pay structure: basic plus all allowances. It does not change because he was absent. |
| Net salary | Gross salary less the deductions that would apply in a normal month. A planning figure, used when quoting a package. |
| Gross pay | What he actually earned this period, after attendance. Same as gross salary in a full month worked. Lower if he was absent unpaid, higher if he worked overtime or earned an allowance. |
| Net pay | Gross pay less every deduction actually applied this period. This is the figure that goes to the bank. |
The short version, worth saying to a client in these words:
Salary is the agreement. Pay is the month. Gross is before deductions, net is after. The bank transfer is net pay, and nothing else.
A fifth figure, cost to company, appears on some screens. It is gross salary plus what the company spends on him that never reaches his hand: the employer's share of contributions, company-paid benefits. It is always the largest of the five and it never equals anything he receives.
Where each one comes from
Gross salary comes from the man's pay structure. Gross pay is that, adjusted by the attendance sheet for the period. Net pay is gross pay after every Credit wage type has been taken off. Which wage types are Credit is on Value lists.
A contribution, step by step
This is the provident fund, the old age benefit, the social security contribution and the gratuity fund. All four use the same five steps, set up on Contribution Scheme. The payroll run does them in this order, every time, and the order is why two schemes with the same percentage can produce different money.
Step 1: find the base
The basis field decides which figure to start from. Basic salary, gross salary, the minimum wage amount typed on the scheme, or a fixed amount typed on the scheme. The four values are on Value lists.
Step 2: apply the ceiling
If a wage ceiling amount is set and the base is above it, the base becomes the ceiling.
It does not mean a ceiling of nothing. Leave the ceiling at zero and the contribution is worked out on the full base, however large. This catches people out: a scheme that was supposed to cap at 10,000 but has 0 in the field will happily calculate on a 400,000 salary.
Step 3: apply the floor
If a floor amount is set and the base is below it, the base becomes the floor. The same rule as the ceiling in reverse, and the same trap: zero means no floor.
Step 4: percentage, unless a fixed amount overrides it
Normally the rate is a percentage of the base. But if a fixed amount has been typed for the employee side or the employer side, and it is not zero, that amount is used instead and the percentage for that side is ignored entirely.
The two sides are independent. A scheme can take a fixed 1,000 from the employee and 8.5 percent from the employer.
Step 5: round
The rounding choice is applied last, to each side separately. The four options are on Value lists.
Worked, with numbers
A 500-person manufacturer in Lahore. Provident fund: 8.5 percent each side, on basic salary, ceiling 60,000, round to nearest.
| Ali, basic 42,000 | Bilal, basic 95,000 | |
|---|---|---|
| 1. Base | 42,000 | 95,000 |
| 2. Ceiling 60,000 | not reached, stays 42,000 | above it, becomes 60,000 |
| 3. Floor | none | none |
| 4. 8.5 percent | 3,570.00 | 5,100.00 |
| 5. Round to nearest | 3,570 | 5,100 |
Bilal earns more than twice what Ali earns and his contribution is less than one and a half times as large, because the ceiling cut his base. That is the ceiling doing its job, and it is the commonest "the system has calculated wrong" complaint that turns out to be correct.
Both men see two lines on the payslip. 3,570 as a Credit, deducted from Ali's net pay. 3,570 as the star direction, the company's matching share, printed but not deducted. See Value lists for why the direction matters three times over.
Before any of that happens
A scheme produces nothing at all unless both of these are true:
- The scheme is marked active.
- The rate line's effective dates cover the end of the period being run.
The payroll run tests a third thing, that the scheme document is complete, but the system marks that itself the moment you save, so it is never what is wrong. The two above are the ones a person can get wrong, and both fail silently: no error, no line on the payslip, no clue on the run. If a contribution has simply not appeared, check these two before anything else.
And one more thing outside the scheme: the man's policy profile has to reach it. An empty Contribution Schemes grid reaches every active scheme, a grid with lines reaches only those, and No Contribution Scheme Applies reaches none - and a correct scheme a profile does not reach pays nothing.
Where a provident fund balance comes from
Clients ask for a balance and expect a field on a screen. There is no balance field and no stored total: nothing in PeopleNest holds a running provident fund figure. It is added up when you ask for it, on the Provident Fund Ledger list.
Balance = opening balance + his own share + the company's share - whatever has been disbursed.
- Opening balance - everything the fund held before the date range. Two sources added together: the history loaded at go-live, and every contribution line posted by a payroll run dated before the range.
- His own share - the posted lines on the scheme's employee wage type.
- The company's share - the posted lines on the scheme's employer wage type.
- Disbursed - the posted lines on the scheme's withdrawal wage type.
The arithmetic is on the wage type codes named on the scheme, not on their names, so renaming a wage type cannot move a balance. Every code the scheme has ever carried counts, superseded lines included, so a fund that posted to one code for three years and to another since does not lose the first three years.
What he may actually take
The balance is what the fund holds for him. What he may be paid today is less than that whenever the scheme carries a disbursement policy, and it is worked out in three steps:
- Below the Minimum Service (Years)? Nothing at all, whatever the balance says.
- Below the Employer Vesting (Years)? The company's share does not count. His own share always counts.
- What has vested, less what he has already taken, multiplied by the Maximum Advance %. A cap of zero, or of 100, means no cap.
Withdrawable = his own share + the vested company share - already withdrawn, times the cap.
Worked: a man with 100,000 of his own and 100,000 of the company's, four years of service, on a policy of one year minimum service, three years vesting and a 50 percent cap. He has cleared both year tests, so the whole 200,000 has vested, and the cap lets him take 100,000. The same man at six months takes nothing, because he is inside the minimum service. A man who has somehow been paid more than the fund held reads as zero, never as a negative.
These are the figures Employee Additional Payment Or Deduction refuses a disbursement against, so what the ledger shows and what the screen allows are the same number by construction.
Three things to tell a client before go-live
- The figure is only as complete as the runs. A period that was never run contributes nothing to the balance, and nothing will warn you.
- An opening balance has to be brought in. A client switching from another system, or from a register, has years of accumulation that PeopleNest never ran. That history has to be loaded or every balance will be short by exactly the amount that predates go-live. It is attached to the scheme whose Scheme Type is
PF, so two live provident funds at once would both show it. - Profit is outside the system. If the fund earns a return, the trustees declare it and it is held wherever they hold it. PeopleNest can tell you what was contributed and what was paid out. It cannot tell you what the fund is worth.
Say this: the system knows every rupee that was ever deducted, every rupee the company ever matched and every rupee paid back out, period by period, and the Provident Fund Ledger shows you that for any man along with what the policy lets him take today. What it is not is the fund's accounts. If you want a statement showing contributions plus profit plus withdrawals, that is the trust's ledger, and the figures from here are one input into it.
The attendance allowance, and a part of it
With no slabs on the Calendar, the Attendance Allowance is all or nothing. No absent day and no leave day across the whole pay period pays the full amount; anything else pays nothing.
With slabs, each line is a set of ceilings - absences, leave days, lates, early outs, half days - a percentage, and optionally a wage type and an amount of its own.
Amount = the line's own Amount where it has one, otherwise the Attendance Allowance Amount, times that line's percentage, divided by 100.
Where two lines both fit the period, the line that pays the most money is taken - not the line with the higher percentage. While every line shared one amount those were the same sentence. They stop being the same the moment a line carries its own, and 50 percent of 4,000 is more than 100 percent of 1,500. Either way the order the lines were typed in cannot change the answer. A period that fits no line at all pays nothing, and a line that works out to nothing writes no line rather than a zero.
The money goes out through the winning line's own wage type where it names one, and otherwise through the calendar's Attendance Allowance Wage Type. One employee earns one line, so one allowance on the payslip.
Worked: an allowance of 2,000, and a line tolerating two lates at 75 percent. A man with two lates and nothing else against him is paid 1,500. A man with three lates fits no line and is paid nothing.
Worked, with a line carrying its own amount: a clean month at 100 percent of the calendar's 2,000, and a line tolerating two lates at 50 percent of its own 5,000. A man with two lates is paid 2,500 - more than the clean month pays - because the client wrote it that way, and because the comparison is made in money. If that is not what the client meant, the amounts are what to change, not the percentages.
A joiner or a leaver is excluded outright, never pro-rated, slabs or no slabs.
The two Perfect Attendance fields on the calendar belong to the unslabbed calendar alone. Once there is one slab line the grid is the only place conditions are written, perfect included: the clean period is a line with every count zero, carrying its own wage type and its own amount, and it is compared against the other lines in money like any of them. A calendar cannot carry both - the save is refused - because the two would pay a clean month twice.
The days payroll pays
Every payslip stands on one figure, and it is worked out on Payroll Attendance, not in the payroll run:
Salary Days = his days in the period − the deduction days
His days in the period are the whole period for an ordinary employee, the days from his joining date for a joiner, and the days up to his last working day for a leaver. That is what pro-rates a part month, and it is why a period with no Payroll Attendance sheet pays a joiner a full month.
The deduction days are built in a fixed order, and the order is the whole of it:
- Count what went wrong. Absences, sandwich days, and the days the time template's slabs make out of his lates, half days, early leavings and short hours.
- Offer that total to his leave balance. What the balance covers becomes a leave adjustment and costs him leave instead of money. What it cannot cover stays.
- Add the days taken without pay. Days of a leave type whose Paid Leave is unticked, added after the balance and never offered to it, because a day taken without pay was taken that way for want of an entitlement.
Worked: a 30 day period, two absences, a casual leave balance of five days, and three days of leave without pay. The two absences are absorbed, so they cost nothing and his balance falls to three. The three unpaid days are not absorbed. Deduction days are 3, and he is paid 27 days.
Change the balance to nothing and the same month costs him five days: the two absences can no longer be absorbed, and the three unpaid days never could be.
The leave encashment day rate
When a man cashes in leave, or leaves the company with leave in hand, PeopleNest has to decide what one day of leave is worth in money. Two fields on Leave Group decide it, and they are always read together.
One day is worth: the monthly figure, divided by the divisor.
The encashment rate basis chooses the monthly figure, basic or gross. The encashment divisor says how many days that monthly figure is treated as covering.
A man on basic 42,000 with 11 days of leave to encash:
| Divisor | One day | 11 days |
|---|---|---|
| 30 | 1,400 | 15,400 |
| 26 | 1,615.38 | 17,769.23 |
| 22 | 1,909.09 | 21,000 |
The same man, the same leave, the same system, and a difference of 5,600 rupees between the first row and the last. This is a policy decision, not a technical one, and it must be the client's decision in writing.
What each divisor is actually saying:
- 30 treats a month as thirty days including the weekly rest. Simplest, lowest rate, and defensible because the man is paid for his rest days too.
- 26 excludes one rest day a week. Normal where the week is six days.
- 22 excludes two rest days a week. The highest rate, and the one an employee's representative will argue for.
Set the basis to gross instead of basic and every figure above rises in proportion to how much of the package sits in allowances. On a structure that is half allowances, it roughly doubles.
If a figure looks wrong
- "The contribution is less than the percentage of his salary" - the ceiling cut the base. Check step 2 above.
- "The contribution did not appear at all" - the scheme is not ticked active, or the rate line's dates do not cover the period end, or the man's policy profile does not reach the scheme.
- "The employer share is being deducted from him" - the wage type direction is Credit when it should be the star value. See Value lists.
- "The balance is short" - the opening balance from before go-live was never loaded, or a period was never run.
- "Encashment paid too little" - the divisor is 30 when the client's policy is 26, or the basis is basic when the policy says gross.