nz_tax_code_calculator
Pick the correct New Zealand tax code for an IR330, and explain why.
Use for: 'what tax code should I use', 'M or ME tax code', 'secondary tax
code NZ', 'SB S SH ST SA which one', 'tax code for second job', 'am I on the
wrong tax code'.
THE WRONG CODE IS ONE OF THE FEW PAYROLL MISTAKES THAT COSTS MONEY QUIETLY
ALL YEAR, and there are two ways to get it wrong.
A SECONDARY CODE IS CHOSEN ON TOTAL INCOME ACROSS ALL JOBS, NOT ON WHAT THE
SECOND JOB PAYS. Someone earning $60,000 in a main job and $8,000 in a second
is SH, not SB. Choosing on the smaller figure under-taxes and produces a bill
at year end. ALWAYS ASK FOR TOTAL INCOME before answering a secondary code
question. If total_income_all_jobs is omitted this falls back to this job's
income and returns a warning saying the band is very likely wrong; pass that
warning on rather than reporting the code as settled.
ME IS NOT SIMPLY "M PLUS A CREDIT". The Independent Earner Tax Credit, worth
up to $520 a year, is withdrawn by receiving Working for Families, a main
benefit or NZ Super, so someone inside the $24,000 to $70,000 band can still
correctly be an M.
Add SL when a student loan is being repaid. On a SECONDARY job the repayment
is 12% of the gross with no threshold at all, because the repayment threshold
belongs to the main job. That catches people who expect the threshold twice.
Special tax codes, non-resident status and multiple secondary jobs are out of
scope here; those need Inland Revenue.
Args:
annual_income: Income from THIS job, before tax.
job_type: primary for the main job, secondary for any other.
total_income_all_jobs: Total across every job. Needed for secondary.
has_student_loan: Whether a student loan is being repaid.
receives_wff_benefit_or_super: Working for Families, a main benefit or
NZ Super. Any of these removes IETC eligibility.
Returns:
The code, what it means, why it applies rather than the alternative, the
flat rate for a secondary code, and any warning about the inputs.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| job_type | No | primary | |
| annual_income | Yes | ||
| has_student_loan | No | ||
| total_income_all_jobs | No | ||
| receives_wff_benefit_or_super | No |