Try ERPNext Buy Support Partners Foundation

Income tax calculation seems to be incorrect


I have configured payroll period, tax slabs, salary components and salary structure. When I generate the payslips for different months. It seems to give different income tax numbers.

I am attaching 5 month payroll entries.

Not able to understand the issue. Please let me know if I have misconfigured something.

Would appreciate your input.


Sorry not able to attach multiple pictures. But you can see from the above picture and the one in this reply, the income tax is different. Ideally, I expect it to be the same for all 12 months (unless of course there is some change in earnings).

ERPNext calculates income tax deduction based on the projected annual salary payable to the employee which is why the income tax deduction per month varies. And, in the last month of the payroll period the system calculates the income tax deductible for the whole year and then adjusts last months deduction to the balance amount.

Thanks for the quick reply @akurungadam. I understand it does income tax deduction based on projected annual salary. My question when earnings are the same, the tax should be same for all the months (except the last month may be). Why does it vary between months? This would lead to lot of confusion among employees who won’t be able to understand how the tax is calculated and why every month the payout is different.

Based on the data I have given above, every month there should be a deduction of Rs. 3750. However, I see only April month deduction is Rs. 3750. After that it steadily decreases.

Without understanding how it calculates, the HR/finance won’t be able to answer employees queries. Your help would greatly help. Thank you!

For your reference, here are the income tax deductions for 5 months (earnings remain the same throughout).

April: Rs. 3750
May: Rs. 3258
Jun: Rs. 2917
Jul: Rs. 2500
Aug: Rs. 1979

I expect the income tax deduction to be Rs. 3750 for all the months. However, it is different. Would be grateful for your explanation.

@Reema_Mehta @akurungadam @rmehta - Can I please expect a response for this? This is a blocker for me to adopt ERPNext in my organization?

@tanzy I saw that you had problem in income tax calculation. Would be great to get your feedback in the situation I am facing.

@Michelle_Alva - Would be great to get your views too.



You are right that the amount of IT should be the same for all the 12 months if the gross amount is same. Would like to know if you did some changes after the month of April. Like did you put any declarations? Or any other change?


Thanks @Reema_Mehta. No I didn’t make any changes to the earnings/deductions. Its the same salary structure assignment, no declaration, no tax statements etc. I generated payroll entries for 5 months with the same details.

Please don’t @tag folks - this is a volunteer forum so no one is obligated to respond to meet your needs.

For urgent cases and dedicated support check these options

I understand your concern, here’s a bit more detailed explanation from my understanding of how it works.

This means, ERPNext calculates the Tax liability of the individual on the projected annual income and distributes it for monthly deduction. It is important to note that the tax liability is the tax payable by the individual on the projected annual income minus the tax already deducted in past months.

Here’s an example of income tax deductions from an individual for six months who has a gross pay of 66666.8 (as in your case) and a fixed deduction of 2000. The tax rate in the example is 5% and suppose the individual is not entitled for exemptions in income for tax purpose.

It is also important to note that projected annual taxable earnings (column D) calculates the earnings taking into consideration the actual earnings of the individual (deductions, additional salary etc.) in the previous months and the future earnings as per assigned salary structure.

Also, please note this -

Hope this helps, thanks.

I guess I was wrong about the tax deduction. I looked at it again, column F should have been divided by the number of remaining months which again points to the @mmh’s suggestion on having the deduction same for all months. I’m once again looking at the test cases for salary slip to see what I was missing. Will update here as I get to understand the implementation correctly.

1 Like

Thank you for the beautiful explanation @akurungadam. I really appreciate the effort you took to explain the situation.

As you highlighted, I believe the calculation in F should be done with remaining months as previous month’s tax has already been deducted. I added 3 more columns with the way you explained and as expected IT deduction every month is the same, i.e. Rs. 3750.

Month S.No. Gross annual A: Gross Earning per month B: Total Deduction for the month C: (A-B) Taxable earnings per month D: (C*12) Project taxable earning for the year E: sum(G) Total of income tax deducted for previous months F: (D*Tx - E) Annual tax liability on projected earnings G: F/12 Income tax deduction for the month E1: sum(H1) Total of income tax deducted for previous months F1: (D*Tx - E1) Annual tax liability on projected earnings H1: Income tax deduction as per remaining months
Apr 800000 66666.67 20000 46666.67 560000.04 0 45000 3750 0 45000 3750
May 800000 66666.67 20000 46666.67 560000.04 3750 41250 3438 3750 41250 3750
Jun 800000 66666.67 20000 46666.67 560000.04 7188 37812 3151 7500 37500 3750
Jul 800000 66666.67 20000 46666.67 560000.04 10339 34661 2888 11250 33750 3750
Aug 800000 66666.67 20000 46666.67 560000.04 13227 31773 2648 15000 30000 3750
Sep 800000 66666.67 20000 46666.67 560000.04 15875 29125 2427 18750 26250 3750
Oct 800000 66666.67 20000 46666.67 560000.04 18302 26698 2225 22500 22500 3750
Nov 800000 66666.67 20000 46666.67 560000.04 20527 24473 2039 26250 18750 3750
Dec 800000 66666.67 20000 46666.67 560000.04 22566 22434 1870 30000 15000 3750
Jan 800000 66666.67 20000 46666.67 560000.04 24436 20564 1714 33750 11250 3750
Feb 800000 66666.67 20000 46666.67 560000.04 26150 18850 1571 37500 7500 3750
Mar 800000 66666.67 20000 46666.67 560000.04 27721 17279 1440 41250 3750 3750
1 Like

Apologies @clarkej. Will definitely follow your advice.

1 Like

ERPNext, as you suggested had calculated the same income tax amount deduction when i tried on v12. Here’s is how it looks when I created a report to show the figures we are interested in -

Great! I believe the cloud version runs on 11.1.7 as I am doing a trial there.

Where can I play around with v12?

Sorry, I believe the cloud version is,

ERPNext: v12.7.1 (version-12)
ERPNext Support: v0.0.3 (master)
Frappe Framework: v12.5.1 (version-12)
Journeys: v0.0.1 (version-12)

So the calculations should have been correct. However, I don’t see the tax calculated properly. What am I missing?

So, this issue is still unresolved. Can I please get to know if there is any workaround for this issue?

Open a ticket from your cloud version. :+1:

I think the error is due to the income tax being incorrectly treated by the program as a tax deductible item. That’s why the computed tax is always lower. I’ll post later the sample transactions showing this error. I got so tired and sleepy analyzing this.

1 Like

The computation is not correct.

The first table above is the Excel sheet of computation based on the tax slab (columns K-O) with the correct computation on Column O and Column P showing the incorrect computation of ERPNext.

The second table is the selected columns from the Payroll Register that shows the incorrect tax computation. The difference is the inclusion of the tax as a tax deductible item.

I think this is a showstopper for the payroll processing. Hope some ERPNext developers fix this quickly.