The expressions above read these as $const. They are the figures the annual refresh replaces, so they live as data rather than being written into the formulas — which is what makes a year-on-year change a one-line diff instead of an edit to arithmetic.
Constant
Value
band1
800000
band2
3000000
band3
12000000
band4
25000000
band5
50000000
rate0
0
rate1
0.15
rate2
0.18
rate3
0.21
rate4
0.23
rate5
0.25
rentReliefRate
0.2
rentReliefCap
500000
nhfRate
0.025
Test vectors (5)
Every case is executed against this model on each build, by the Java engine and independently by a JavaScript one. A mismatch of a single cent fails the build, so the page cannot ship advertising a figure the model no longer produces.
Case 1 — S1 ₦8,000,000 of profit, ₦1.5m rent, NHF: ₦7,500,000 chargeable, tax ₦330,000 + 18% of ₦4,500,000
given annualTurnover
12000000
given annualExpenses
4000000
given annualRent
1500000
given pensionContributions
0
given nhfMember
yes
expect assessableProfit
8000000
expect chargeableIncome
7500000
expect incomeTax
1140000
expect netIncome
6660000
Case 2 — S1b the same profit: NHF ₦200,000 and rent relief ₦300,000
given annualTurnover
12000000
given annualExpenses
4000000
given annualRent
1500000
given pensionContributions
0
given nhfMember
yes
expect nhfAnnual
200000
expect rentRelief
300000
Case 3 — S2 ₦800,000 of profit, no NHF or rent: nothing to pay
given annualTurnover
1000000
given annualExpenses
200000
given annualRent
0
given pensionContributions
0
given nhfMember
no
expect chargeableIncome
800000
expect incomeTax
0
expect netIncome
800000
Case 4 — S3 ₦60,000,000 of profit with ₦2m pension: ₦10,430,000 + 25% of ₦6,000,000
given annualTurnover
80000000
given annualExpenses
20000000
given annualRent
0
given pensionContributions
2000000
given nhfMember
no
expect chargeableIncome
58000000
expect incomeTax
12430000
Case 5 — S4 ₦12,000,000 chargeable: ₦1,950,000 at the top of the 18% band
The whole model as JSON — inputs, outputs, formulas, vectors and sources in one re-runnable document.
This model is published under CC BY 4.0: use it, adapt it, build on it, with attribution. The licence covers the model — the expression of each rule and the arrangement of the catalog. The rates and thresholds are law, and nobody licenses those; the sources above are where they come from.