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
600000
band2
1200000
band3
1600000
band4
3200000
band5
5600000
rate0
0
rate1
0.15
rate2
0.2
rate3
0.3
rate4
0.4
rate5
0.45
surchargeRate
0.1
surchargeThreshold
10000000
Test vectors (6)
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 Rs3,000,000 of profit: Rs170,000 + 30% of Rs1,400,000 = Rs590,000
given annualTurnover
5000000
given annualExpenses
2000000
expect taxableIncome
3000000
expect incomeTax
590000
expect surcharge
0
expect totalTax
590000
expect netIncome
2410000
Case 2 — S2 Rs12,000,000 of profit: Rs1,610,000 + 45% of Rs6,400,000, plus the 10% surcharge
given annualTurnover
20000000
given annualExpenses
8000000
expect incomeTax
4490000
expect surcharge
449000
expect totalTax
4939000
expect netIncome
7061000
Case 3 — S3 exactly Rs10,000,000: not “exceeds”, so no surcharge
given annualTurnover
10000000
given annualExpenses
0
expect incomeTax
3590000
expect surcharge
0
Case 4 — S4 Rs600,000 of profit: nil band
given annualTurnover
900000
given annualExpenses
300000
expect incomeTax
0
expect netIncome
600000
Case 5 — S5 Rs1,600,000 of profit: the table’s Rs170,000
given annualTurnover
1600000
given annualExpenses
0
expect incomeTax
170000
Case 6 — S6 expenses above receipts: no taxable income
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.