Skip to content

Instantly share code, notes, and snippets.

@danielcompton
Created September 27, 2013 04:53
Show Gist options
  • Save danielcompton/6724333 to your computer and use it in GitHub Desktop.
Save danielcompton/6724333 to your computer and use it in GitHub Desktop.
Excel formula for calculating NZ tax paid on annual income.
=IF(B2<=14000,SUM(B2*10.5%),IF(B2<=48000,SUM(B2-14000)*17.5%+1470,IF(B2<=70000,SUM(B2-48000)*30%+7420,IF(B2>=70001,SUM(B2-70000)*33%+14020))))
@Turbo-Jet
Copy link

Turbo-Jet commented Mar 21, 2024

Hi all,
Just created a Google Sheet to help calculate the tax, also the ability to include deductions for Kiwisaver and ACC levy. You can add your custom values to the boxes in green.

https://docs.google.com/spreadsheets/d/1hPtxMEZgM4t4Z2_cyE-G05yDzwvaSKH_f3U48-s9B0o/edit?usp=sharing

image

@LightspeedNZ
Copy link

Hi guys, thanks for this.

I found that the correct formula to calculate the edge case of exactly $14,000 etc needs to be as follows;

=SUMPRODUCT(--(A1>={0;14000;48000;70000;180000}),(A1-{0;14000;48000;70000;180000}),{0.105;0.07;0.125;0.03;0.06})

@spmp
Copy link

spmp commented Aug 28, 2024

Thanks @LightspeedNZ, I've got an update for FY25 which tests out pretty well against IRD website based on:

From To Rate
0 $14,000.00 10.50%
$14,001.00 $15,600.00 12.82%
$15,601.00 $48,000.00 17.50%
$48,001.00 $53,500.00 21.64%
$53,501.00 $70,000.00 30.00%
$70,001.00 $78,100.00 30.99%
$78,101.00 $180,000.00 33.00%
$180,001 and over 39.00%
=SUMPRODUCT(--(A1>={0;14000;15600;48000;53500;70000;78100;180000}),(A1-{0;14000;15600;48000;53500;70000;78100;180000}),{0.105;0.0232;0.0468;0.0414;0.0836;0.0099;0.0201;0.06})

From 1st April 2025 with the following tax rates:

From To Rate
0 $15,600.00 10.50%
$15,601.00 $53,500.00 17.50%
$53,501.00 $78,100.00 30.00%
$78,101.00 $180,000.00 33.00%
$180,001 and over 39.00%

Gives the following formula (untested):

=SUMPRODUCT(--(A1>={0;15600;53500;78100;180000}),(A1-{0;15600;53500;78100;180000}),{0.105;0.07;0.125;0.03;0.06})

@danielsian
Copy link

danielsian commented Aug 28, 2024

Here's a slightly simpler version to prevent the problem mentioned by @LightspeedNZ:

=SUMPRODUCT((A1>{1;14000;48000;70000;180000})*(A1-{0;14000;48000;70000;180000}),{0.105;0.07;0.125;0.03;0.06})

Lambda limits you to one cell reference, which is a time saver:
=LAMBDA(x,SUMPRODUCT((x>{1;14000;48000;70000;180000})*(x-{0;14000;48000;70000;180000}),{0.105;0.07;0.125;0.03;0.06}))(A1)

@spmp
Copy link

spmp commented Nov 4, 2024

Just to add that most PAYE calculators online are incorrectly using the formula for 1st April 2025 already. If you are calculating PAYE or total tax you may need to include the ACC Earners Levy of $2,276.53 pa.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment