Tax code: what M, ME, S, SH, ND and the rest mean in NZ
A tax code tells your employer or payer how much tax to take from each pay. In New Zealand you give it on a tax code declaration (IR330): M for your main or highest income, a secondary code such as S or SH for any other job, and SL added if you have a student loan. With no declaration, tax is taken at 45%, plus the ACC earners' levy.
The main codes: M, ME and SL
You have one main income, your highest source of salary or wages, and it uses one main code. Inland Revenue's IR330 flowchart gives these:
- M is the standard code for your main job. If you receive a main benefit from Work and Income, the benefit is always coded M, so any other pay needs a secondary code.
- ME is M plus the independent earner tax credit, paid as you go. You can use it if you are a New Zealand tax resident, your annual net income will be between $24,000 and $70,000, neither you nor your partner receives Working for Families, and you do not receive a main benefit, NZ Super or a Veteran's Pension.
- M SL and ME SL add student loan repayments, deducted when a pay is over the repayment threshold.
Your code can change during the year. Paying off your loan, starting a second job or a big change in expected income can each mean a new code: you give your employer a new IR330, and it must use the code on it.
Secondary codes, tailored codes and WT
Pay from a second job sits on top of your main income, so it is taxed at the band your total reaches. The code is chosen by your estimated total income for the year from all sources:
| Code | Total income from all sources | Rate |
|---|---|---|
| SB | $0 to $15,600 | 10.5% |
| S | $15,601 to $53,500 | 17.5% |
| SH | $53,501 to $78,100 | 30% |
| ST | $78,101 to $180,000 | 33% |
| SA | $180,001 and over | 39% |
Each has an SL version, which takes 12% of every dollar of that job's pay for your student loan, with no threshold. Our article on secondary tax with two jobs covers choosing between them.
Other codes you may meet:
- STC, a tailored code: a rate Inland Revenue sets for your situation when the standard codes would leave a large bill or refund. Apply in myIR or on form IR23BS, every tax year.
- WT, for schedular payments to contractors. You give the payer an IR330C and use the standard rate for the work, a tailored rate, or your own rate of at least 10% (15% for a non-resident on a temporary visa).
- CAE, EDW and NSW, for casual agricultural work, election day work and recognised seasonal workers.
ND: when there is no declaration
If you do not give a new employer a completed IR330, it must deduct tax at the non-notified rate of 45%, plus the ACC earners' levy, and it records your code as ND.
On $1,000 a week, ND takes $450 in tax and $17.50 in ACC. On M, at 2026/27 rates with ACC at 1.75%, worked out on a full year's pay, the same pay has $154 in PAYE and $17.50 in ACC (Inland Revenue's weekly tables differ by about a dollar). With KiwiSaver at 3.5% ($35 a week either way), you keep $793.50 on M and $497.50 on ND: $296 less each week until the declaration arrives. Hand the IR330 over with your other paperwork on your first day.
What the wrong code costs, and how to fix it
A wrong code does not change the tax you owe for the year. It changes how much is taken along the way, and the difference arrives after 31 March as a bill or a refund.
Say your main job pays $50,000 on M and a second job pays $10,000. Your total, $60,000, is in the SH band. At 2026/27 rates, tax on $60,000 is $10,220.50 and on $50,000 it is $7,658, so the second job adds $2,562.50 of tax (ACC aside). On SH, at 30%, the deduction is $3,000: $437.50 too much, refunded after the year ends. On S, at 17.5%, only $1,750 is deducted: $812.50 short, which becomes a bill. When the extra pay straddles two bands like this, a tailored code at about 25.6% would take the right amount.
To fix a code, give your employer a new IR330. Inland Revenue also checks: if it sees you using M on two jobs at once, it asks your employer to change the code and tells you.
Weighing a new job against the one you have? The Offer Comparer works out each offer's take-home on code M at 2026/27 rates, with no account needed; a second job on a secondary code is not included, so add that yourself. In Your Career, the second job screen suggests the secondary code that fits your total income, flags a code that does not match, and estimates the bill or refund it would leave.
Keep every job's take-home in one place
On the Move keeps every job you go for with its pay after tax and lays any two side by side, and Your Career, part of it, checks a second job's code against your total income; create an account and choose On the Move, and the first 7 days are free, with nothing charged if you cancel before then. If you would rather look around first, the demo opens a full job hunt with no account.
Create your accountA card is needed to start the trial, and there is one free trial per person and per card.
Sources
- Inland Revenue: about tax codes (last updated 7 May 2026).
- Inland Revenue: tax code declaration IR330 (August 2026).
- Inland Revenue: what tax code should I use? (last updated 30 April 2026).
- Inland Revenue: deductions from salary and wages, the ND code (last updated 1 April 2026).
- Inland Revenue: apply for a tailored tax code (last updated 17 June 2025).
- Inland Revenue: work out and declare my tax rate for schedular payments (last updated 3 September 2026).
- Inland Revenue: IR340 weekly and fortnightly PAYE deduction tables, April 2026 (student loan on secondary codes, schedular rates).
- jobtracker.co.nz: the Offer Comparer (compare.js, tax code M, 2026/27 rates) and Your Career's second job and tax code check (app.js, careerSecondSection and taxCheck), checked 29 September 2026.