Capital Gains Tax NZ
English
EnglishTe reo Māori中文हिन्दी

How the calculators work, and every test

The rules in the order we apply them, how days and dates are counted, and every test case with its result from this build.

Rules checked 10 November 2026.

The order we apply the rules

  1. Inherited property, farmland, business premises and the 2023 weather event sales are excluded first (IR1229 pp2, 24 to 28).
  2. The sale agreement date picks the rules: on or after 1 July 2024, the 2-year test; before that, the period set by the purchase agreement date (IR1229 p6, IR1227 p6).
  3. The period runs from the title registration date (the purchase agreement date for off the plans) to the sale agreement date. The sale is inside if the sale agreement is before the anniversary.
  4. If it was your main home, we test the land area and the days, ignoring construction, and apply the limits. For older sales of property acquired on or after 27 March 2021, we apportion as IR1227 shows.
  5. Gain is the sale price less the purchase price, purchase costs, capital improvements, selling costs and the holding costs you enter, times your ownership share.
  6. Tax is the difference between income tax on your other income plus the gain and income tax on your other income alone, for the tax year of settlement, using the shared IRD-tested brackets from Tax Calculator NZ.

Counting days and dates

We count days including both the first and the last day, which matches most IRD examples (Ari 590 days, Amelia 272, Zoe 1,096). IRD’s Mel example counts one day fewer; no example’s outcome changes. Dates are handled as calendar dates in UTC, so results never depend on your time zone. A 29 February start date reaches its anniversary on 1 March in a year without 29 February (our assumption).

The anniversary day

Neither IRD guide says what happens to a sale agreement signed exactly on the anniversary of the start date. IR1229 p39 says “taxable if sold before” the anniversary, so we treat the anniversary as outside the period, flag it in the result, and suggest signing a day later to be safe.

What the calculators do not model

  • Other non-standard start dates (subdivided or partitioned land, perpetual leases, nominees, trustee changes, land overseas): enter the start date IR1229 p8 gives for your case.
  • Different main homes for each co-owner, and the trust rules for main homes.
  • The qualifying new build test itself (code compliance certificate dates): you tell us if it applies. It only matters for sales before 1 July 2024.
  • Depreciation recovery, residential land withholding tax, GST, and tax rates for companies and trusts: we use individual rates.
  • The intention test, dealer rules, shares, FIF and crypto are covered by the checker as likely outcomes, not calculated.

Every test, run at build time

28 of 28 current-law cases pass (127 checks), from IRD’s worked examples in IR1229 and IR1227. This build: 10 November 2026. If any case fails, the site is not built.

CaseSourceChecksResult
TC01_mia_two_year_switchIR1229 p7 (Mia)3Pass
TC02_marie_datesIR1229 p7 (Marie)6Pass
TC03_bob_subdividedIR1229 p9 (Bob)4Pass
TC04_denise_off_the_plansIR1229 p11 (Denise)3Pass
TC05_kelly_perpetual_leaseIR1229 p12 (Kelly)2Pass
TC06_helen_giftIR1229 p14 (Helen)4Pass
TC07_mel_main_home_appliesIR1229 p17 (Mel)7Pass
TC08_ari_main_home_failsIR1229 p18 (Ari)5Pass
TC09_kate_short_rentalIR1229 p17 (Kate)3Pass
TC10_amelia_construction_ignoredIR1229 p23 (Amelia)7Pass
TC11_mele_area_testIR1229 p16 (Mele)3Pass
TC12_pinky_shop_with_livingIR1229 p16 (Pinky)3Pass
TC13_emma_twice_in_two_yearsIR1229 p20 (Emma)4Pass
TC14_josh_off_plan_new_buildIR1229 p22 (Josh)3Pass
TC15_debbie_mike_holding_costs_2yrIR1229 pp43 to 44 (Debbie and Mike); net profit derived, IRD lists components only6Pass
TC16_zac_ring_fenced_lossIR1229 p47 (Zac); tax figure derived from IRD_TAX_RATES5Pass
TC17_kai_anji_parent_child_rolloverIR1229 p32 (Kai and Anji)5Pass
TC18_isla_heidi_ezraIR1229 p32 (Isla, Heidi and Ezra)6Pass
TC19_alex_karen_relationship_propertyIR1229 p29 (Alex and Karen)5Pass
TC20_hina_coowner_shareIR1229 p39 (Hina and Andy)4Pass
TC21_omar_inheritedIR1229 p28 (Ali and Omar)2Pass
TC22_felix_apportionment_areaIR1227 pp30 to 32 (Felix)7Pass
TC23_bud_apportionment_partial_timeIR1227 pp33 to 35 (Bud)6Pass
TC24_gordon_two_housesIR1227 pp36 to 38 (Gordon)6Pass
TC25_louis_full_exclusion_two_housesIR1227 p28 (Louis)2Pass
TC26_zoe_12_month_bufferIR1227 p29 (Zoe)6Pass
TC27_debbie_mike_five_year_regimeIR1227 pp63 to 64 (Debbie and Mike, 2020 version); net profit derived4Pass
TC28_marginal_tax_on_gainDerived from IRD_TAX_RATES (not an IRD worked example). Same figures as the Opes Partners example, checked here.6Pass

Labour model tests (NOT LAW, counted separately)

5 of 5 cases pass. These check our model against Labour’s published examples; they say nothing about whether the proposal becomes law.

CaseSourceChecksResult
P01_commercial_quick_examplelabour.org.nz/capitalgainstax quick example (tax figure derived)3Pass
P02_sarah_michaellabour.org.nz/capitalgainstax (tax figure derived)3Pass
P03_jim_pat_family_homelabour.org.nz/capitalgainstax2Pass
P04_higher_of_rule_bought_after_startDerived from Labour's higher-of rule; illustrative only3Pass
P05_national_dairy_claimNational Party release 2026-09-02 https://www.national.org.nz/news/260902-nicolawillis-1 (party claim)1Pass

Our own logic checks

9 of 9 pass. These cover the end date finder, the checker and date handling.

CaseSourceChecksResult
L01_end_date_two_yearOur logic, from cgt-rules.json2Pass
L02_end_date_leap_dayOur logic, from cgt-rules.json1Pass
L03_end_date_older_regimeOur logic, from cgt-rules.json2Pass
L04_end_date_pre_2015Our logic, from cgt-rules.json1Pass
L05_anniversary_flagOur logic, from cgt-rules.json1Pass
L06_checker_main_homeOur logic, from cgt-rules.json1Pass
L07_checker_intentionOur logic, from cgt-rules.json1Pass
L08_checker_fifOur logic, from cgt-rules.json1Pass
L09_utc_datesOur logic, from cgt-rules.json2Pass