# Complex example

This checker aims to calculate the net tax payable by an individual. This example is modelled after the IRAS 2020 Income Tax Calculator for Tax Resident Individuals.

#### What this example features:

Use of Max/Min functions

Several levels of calculations informed by other calculations

Different methods of building logic

Making bands with logic

## Calculator structure

Calculations must be done in order as previous calculations are used in later calculations.

*****Net employment income + Trade, Business, Profession or Vocation income +*****Other income = Total incomeTotal income - Approved donations = Assessable income

Assessable income -

*****Total personal reliefs = Chargeable incomeCalculate tax payable on chargeable income

Tax payable on chargeable income - Parenthood tax rebate =

**Net Tax Payable**

***Net employment income*** ***=***
+ Employment income
***-*** Employment expenses*

***Other income =
***+ Dividends
+ Interest
+ Rent from Property
+ Royalty, Charge, Estate/Trust Income
+ Gains or Profits of an Income Nature*

***Total personal reliefs (Capped at $80,000) =
***+ Earned income relief
+ Spouse/handicapped child relief
+ Qualifying/handicapped child relief
+ Working mother's child relief
+ Parent/handicapped parent relief
+ Grandparent caregiver relief
+ Handicapped brother/sister relief
+ CPF/provident Fund relief
+ Life Insurance relief
+ Course fees relief
+ Foreign domestic worker levy relief
+ CPF cash top-up relief (self, dependant and Medisave account)
+ Supplementary Retirement Scheme (SRS) relief
+ NSman (Self/wife/parent) relief*

### Step 1: Set questions

### Step 2: Total income logic

#### Net employment income

= Employment income (N1) - Employment expenses (N2)

**If the outcome is positive**, i.e. employment income > expenses, we want to factor that into our formula.

**If the outcome is negative**, i.e. employment income < expenses, we don't want to factor a negative number into our calculation. Instead, we will take it as **zero**.

Thus the max function helps us to choose: *Between (N1-N2) and 0, take the higher number*

#### Total income

We'll add the above Net employment income result (O1) to the rest of the inputs to calculate the total income.

= Net employment income (O1) + Trade, Business, Profession or Vocation income (N3) + Other income ( + Dividends (N4) + Interest (N5) + Rent from Property (N6) + Royalty, Charge, Estate/Trust Income (N7) + Gains or Profits of an Income Nature (N8) )

### Step 3: Assessable income logic

= Total income (O2) - Approved donations (N9)

**If the outcome is positive**, i.e. total income > approved donations, we want to factor that into our formula.

**If the outcome is negative**, i.e. total income > approved donations, we don't want to factor a negative number into our calculation. Instead, we will take it as **zero**.

Thus the max function helps us to choose: *Between (O2-N9) and 0, take the higher number*

### Step 4: Chargeable income logic

= Assessable income - Personal reliefs

#### Personal reliefs (Capped at $80,000)

Some of the personal reliefs have a cap to them. Hence for these inputs, we'd want to ensure that we do not factor in a number larger than the cap.

Thus the min function helps us to choose: *Between (Eligible relief) and (Max cap of relief), take the lower number*

`min(N10, 12000) `

*
*```
+ min(N11, 5500)
+ N12
+ N13
+ min(N14, 28000)
+ min(N15, 3000)
+ N16
+ N17
+ min(N18, 5000)
+ min(N19, 5500)
+ min(N20, 6360)
+ min(N21, 14000)
+ min(N22, 35700)
+ min(N23, 5750)
```

The max cap of total personal reliefs is also $80,000. Hence, the min function helps us to choose: *Between (Total personal reliefs) and (80000), take the lower number*

`min(total personal reliefs, 80000)`

We can combine these two into the formula below:

####
Chargeable income

= Assessable income (O3) - Total personal reliefs (O4)

If positive, take that number. If negative, take it as 0.

### Step 5a: (Method 1)** **Tax payable on Chargeable income logic

**Tax payable on Chargeable income logic**

Tax is charged based on the band your chargeable income falls within. See the table below:

Tax is only charged for chargeable incomes > $20,000. Higher chargeable incomes have a higher base tax payable, and additional tax based on the difference between the base value and the next band value.

For example, if your chargeable income is $35,000, you fall into the second band:

Here's what it would look like:

**
First band: Tax Payable on first $30,000
**=** **Tax charged on first $20,000 + (Next $10,000 x 2% Income Tax Rate)
= 0 + (Chargeable income [O5] - 20000) x 0.02

**
Second band: Tax Payable on $30,000 to $40,000
**= Tax charged on first $30,000 + (Next $10,000 x 3.5% Income Tax Rate)
= 200 + (Chargeable income [O5] - 30000) x 0.035

**
Tenth band: Tax Payable on $320,000 onwards
**= Tax charged on first $320,000 + (Next $ x 22% Income Tax Rate)
= 44550 + (Chargeable income [O5] - 320000) x 0.22

**
Tax Payable on Chargeable Income**

To calculate the gross tax payable, we can simply add up all the outcomes from each band together.

Here's what that formula would look like a chargeable income of $165,000:

**Gross tax payable** = O6 + O7 + O8 + O9 + O10 + O11 + O12 + O13 + O14 + O15
= 0 + 0 + 0 + 0 + 0 + (13950 + ((165000 - 160000) * 0.18)) + 0 + 0 + 0 + 0
= $14,850 gross tax payable

*However this is not the only way of building our logic. There are many ways we can interpret the table, and hence there are also other ways to translate it into logic. Let's look at an alternative example below.*

### Step 5b: (Method 2) Tax payable on Chargeable income logic

Another way to look at the total tax payable is to break down your chargeable income into the different increments, and applying the relevant tax rate to that increment.

For example, $400,000 chargeable income can be broken down into:

Rate | 2% | 3.5% | 7% | 11.5% | 15% | 18% | 19% | 19.5% | 20% | 22% |

Increment | $10,000 | $10,000 | $40,000 | $40,000 | $40,000 | $40,000 | $40,000 | $40,000 | $40,000 | $80,000z |

Hence, we can simply add all of the tax for each increment together.

Instead of using the entire band range as our IF statement conditions, as long as chargeable income (O5) is higher than the minimum value in the band, we want to apply the tax rate to O5. Hence, we only need to set `IF O5 > 20000`

.

Because O5 can either cross the full increment value or its partial value, we would use a min function to choose the lower of the 2 values: Either the partial increment tax, or the full increment tax.

Else if chargeable income doesn't fall within the range set, i.e. the condition is not fulfilled, we don't want anything to be added, hence it should be taken as 0.

Here's what it would look like:

**
First increment: Tax Payable on first $30,000 ($10,000 increment)**

If chargeable amount > 20,000, **
**= Tax charged on O5 - 20000 (Should be less than $10,000) **OR** Tax charged on $10,000
= `( Chargeable income [O5] - 20000 ) * 0.02`

**OR** `10000 * 0.02`

=** ****Take whichever is lower**

**
Second increment: Tax Payable on $30,000 to $40,000 ($10,000 increment)**

If chargeable amount > 30,000, **
**= Tax charged on O5 - 30000 (Should be less than $10,000) **OR** Tax charged on $10,000
= `( Chargeable income [O5] - 30000 ) * 0.035`

**OR** `10000 * 0.035`

=** ****Take whichever is lower**

**
Tenth increment: Tax Payable on $320,000 onwards (No more increments)**

If chargeable amount > 320,000, **
**= Tax charged on O5 - 320000
= `( Chargeable income [O5] - 320000 ) * 0.035`

**
Tax Payable on Chargeable Income**

As mentioned above, to calculate the gross tax payable we add up each increment tax together.

Here's what that formula would look like a chargeable income of $165,000:

**Gross tax payable** = O6 + O7 + O8 + O9 + O10 + O11 + O12 + O13 + O14 + O15
= (10000*0.02) + (10000*0.035) + (440000*0.07) + (40000*0.115) + (40000*0.15) + (5000*0.18) + 0 + 0 + 0 + 0
= $14,850 gross tax payable

### Step 6: Net tax payable logic

= Tax payable on chargeable income (O16) - Parenthood tax rebate (N24)

### Preview

You can try out this checker here.

Last updated