First, determine your taxable income and using the Nigerian tax bracket system, define the taxes that apply to each bracket.

Assuming taxable income = TI
Assuming Annual Gross = AG Tax Payable one
Condition: TI <= 0
Formula: AG *0.01

Tax Payable 7
Condition: TI > 3200000
Formula: 560000+(0.24*(TI-3200000))

560000 being tax payable up to this point.

Tax Payable one is calculated on AG because according to Nigerian Tax Law, if taxable income is less than or equal to 0, a flat rate of 1% is taxable on gross income.

Almost there but missing something in condition. To determine the band your condition from Tax Payable 2 upwards must identify the tax bracket otherwise it will calculate payable tax wrongly. so for instance:

Tax Payable 2 Condition: (first N300,000)
CI > 0 and CI <= 300000

Tax Payable 3 Condition: (Next N300,000)
CI > 300000 and TI <= 600000

Tax Payable 4 Condition: (Next N500,000)
CI > 600000 and CI <= 1100000

and so on until you get to Tax Payable 7 which determines the tax payable if next salary band is is in excess of N3,200,000.

Up until this point I assume these tax components are created as statistical components so they will not show up in your totals. you need to create a pension component which will show on your payslip and use it to calculate your pension deduction. But you created a pension component and made it statistical in earning so it will not act as a deduction. Move to deduction section to give it effect.

on the earning i created Pension P as statistical component
I gave it effect in deduction as pension fund (PF) this time its not a statistical component but it is calculated from P

i really must appreciate your effort and time in helping me out, trust me i sincerly do but as at this hour, i have compared both with mine yet i dont know why my results are different . Does it have anything to do with the unticked check box on each salary component or version or anything ?

Hi @Chibuzor_Derrick, If you are still having issues replicating @flexy2ky suggestions then I suggest you take a step back and ensure the salary components are of the correct types, Generally,

Employer Contribution (10% of Basic, Housing, Transport) should be tagged as “do not add to total” with its values not contributing to the total deductions.

Consolidated Relief Allowance, Taxable Income, Additional Tax Relief, All Tax Payable Slabs should be Statistical components, so they can be calculated alone.

Employee Contribution (8% of Basic, Housing, Transport), PAYE (Income Tax) should be normal deductions with their values contributing to the total deductions.

One way to easily identify the source of the issue would be to change them all to generic components so that they can be seen on the salary slip so as to see where the calculations break.

Hi, @Ebuka_Joseph_Akeru do you mean that the highlighted checkbox in the image below should be ticked (The checkbox where it says “Do not include in total”) for the Basic, Housing, Transport e.t.c?

No, I mean you should check it for only Employer Pension which is 10% of Basic, Housing, and Transport. Those components should be set as normal components.

Nigerian PAYE 2021 is a little different from the previous years.
If you use the formula in salary components, it’s a good idea but becomes difficult to understand in the long run. If in the nearest future, the formula is changed again you begin to scramble because tracking the spot to change is cryptic.

The PAYE TAX can be easily achieved with a plugin that validates instantly both on salary slip form, or in the background.

There is also an option of API based PAYE computation that interface with your erpnext.

@Huawei_Hackace Thanks for bringing this up. However from my little investigation so far not much has changed in the way tax computation for salary earners is achieved. The tax derivation formula is more or less the same, save for an additional element in determining your non-taxable income. Essentially the extra element is 1% or N200,000+20% of gross income (whichever is higher) is added to the tax-exempt income. Everything else is same. I have not attempted to add this tax-exempt to my existing structure but will do so at a later date.

As for tracking changes, someone will always need to adapt changes to any software so be it your suggested plugin or using the existing condition/formula in ERPNext; someone still has to do the dirty work. ERPNext, for all its quirks, still offer ways to achieve these things and just like I figured out a way to use the current salary structure to achieve the previous tax calculation, I will find a way to incorporate this new tax element.

The computation for the different salary components is correct according to their calculation. But when you look at the gross pay, net pay and rounded total, they don’t add up. Please I am a bit confused as to how to correct or resolve this miscalculation. I will be grateful if anyone can assist in resolving this error, I will be very grateful.

Your computation formula is wrong on different levels. You captured your earnings as annual figures and some as monthly figures. This will give you a wrong computation for the month.

Also, ignore the rounded total. Disable it in payroll settings and hide the field in the doctype.

Some of the elements you reflected on the payslip are meant to be statistical components only and should not affect your totals.

Overall, you need to review what you have done against examples posted above and make corrections.

Thanks for your response @flexy2ky. Your response gave me an insight into where the errors are, and how to correct them. However, here is the outcome after following your corrections.

The circled components are the components that are computing the wrong figures. I would want a situation whereby the “Pay As You Earn” component computes the right figures, but can’t seem to achieve this.