Try ERPNext Buy Support Partners Foundation

PAYE Payroll Calculation for Nigeria using Formula


Has anyone in here been able to successfully implement PAYE payroll calculation for Nigeria using conditions and formula?

1 Like

I have been able to achieve this successfully! thanks to @deatram for helping with the framework and @Fred1 for helping me decipher the missing piece in the puzzle. Indeed it wasn’t easy but it was worth it.:clap::clap:

1 Like

That’s good news

Would you mind sharing what approach you took ?


1 Like

There are two approaches actually… one which is a bit confusing (my first attempt) and one which @Fred1 used which is simplified. But the key is using condition field to satisfy the “IF” in the calculation and formula to calculate the tax payable for every tax step. I can’t really break it down in here as it is a bit long but i’m trying to implement it on my live server now and once i’m done i will post a screenshot.

@olamide_shodunke here you go:

In the tax payable as well as the consolidated relief, you will have to enter the “IF” condition. example:

There’s another way to enter the PAYE calculator:

But this seems a bit more complex to achieve monthly calculations. But it formed the basis for devising the simpler method shown in the above screenshots.

Let me know if you face any challenge.

1 Like

Really Cool


Aren’t you using Payroll Period for this? What issues have you faced? I am trying Payroll Period and gives tax calculations that I don’t understand. e.g.
base = 500,000
Allowances = 150,000
Taxable salary = 190,161.42

Tax slabs defined as:


Can someone help me set PAYE for nigeria completely?

I found a way to set it up. Was hard but achieved.

It’s doable, Break down the steps from excel into simple statistical components and you will get a valid figure.

I saw all the attachments you provided previously. But I need the formulas for each component. Can you help?

I tried to break it down, I was successful in listing down the components but there is some problem with formulas for components and the structure.

I get the first statistical component by assigning this to a statistical component lets call it ‘CRA’,

gross_pay * 0.21 if gross_pay>20000000.0/12.0 else gross_pay*0.2+200000.0/12.0

Then I get the taxable income (‘TXA’) by evaluating

gross_pay-CRA-Employee pension-3200000.0/12.0

the Tax PAYE amount for that transaction can then be gotten as


Note: some figures like Employee pension have to be fetched before taxes can be generated.