How we calculate, and how we test it
The rules in the order we apply them, every assumption we add where IRD is silent, and every test case with its result from this build.
Rules checked 12 November 2026.
The rules, in the order we apply them
- Convert every amount to NZ$ with one exchange rate method (IR461 p13): IRD end-of-month rates for 31 March values and mid-month rates for trades and dividends, the rolling 12-month average, or your own rates. NZ$ = foreign amount ÷ rate, rounded to the cent.
- Run the $50,000 test on cost on every day of the year, leaving out exempt holdings; apply the opt-in and the 4-year look-back as s CQ 5(1)(d)(iii) words it (only voluntary years count).
- Work out FDR: 5% of the total 1 April value, plus the quick sale adjustment (s EX 52).
- Work out CV for each holding and in total; reduce a total loss on ordinary shares to nil (s EX 51).
- Choose: a person or family trust uses whichever of FDR and CV gives the lower FIF income (IR461 p14), for every ordinary holding; others use FDR; non-ordinary shares use CV. The choice is by income, as IRD’s guide says, not by tax after credits.
- Tax the FIF income (and any dividends taxed as ordinary income) at your marginal rate with the shared IRD-tested tax engine from taxcalculator.co.nz, on whole dollars (cents dropped, as on the IR3).
- Credit foreign tax per holding: the least of tax paid, the treaty rate and the NZ tax on that holding’s income; credits on FIF holdings together never exceed the NZ tax on the net FIF income, and none are allowed when CV reduces FIF income to nil.
- Map to the IR3: box 17B, box 17A, IR1261 lines and the Question 40 hint.
Rounding
We keep full precision, round NZ$ amounts to the cent after each currency conversion (as TIB 31/11 does), and round half up only for display. Tax is worked out on whole dollars of taxable income: like the IR3, we drop the cents (FIF income of $6,189.26 is taxed on $6,189). IRD sometimes rounds its own examples to the dollar; we show cents.
TIB Vol 31 No 11 Example 1 prints $10,766.58 for PHP 350,000 ÷ 32.4776; the division gives $10,776.66, which is what we test (TC25).
Not covered yet
- Importing platform files (Sharesies, Hatch, Stake, IBKR): next phase.
- Cost method and deemed rate of return calculators (the engine has them; IRD examples pass).
- Attributable FIF income (10% or more interests) and CFCs.
- Foreign superannuation transfers and withdrawals.
- Part-year FDR in the year a transitional residence ends.
- Fee rebates, which IR461 p14 says are extra income.
Open data
Free to reuse under CC BY 4.0 with a link: /data/fif-rules-2026-27.json (thresholds, the 5% FDR, deemed rates, who can use which method, and the NOT LAW proposal kept separate) and /data/ird-currency-rates.json (IRD rates as published, with the source file for each).
Assumptions we add where the sources are silent
Each is shown here and, where it affects your result, in the result itself.
- A part sale reduces cost for the $50,000 test by the average cost of the shares sold. IRD has not said which method to use (research gap 3). Flagged in every result with a sale.
- With IRD rates, the 1 April value uses the end-of-month rate for 31 March of the year before, the 31 March value uses that day’s end-of-month rate, and trades and dividends use that month’s mid-month rate (IR461 p13 accepts it as an actual rate).
- The rolling 12-month average for an income year ending 31 March is IRD’s figure dated 15 March of that year.
- Under the rolling average, the 1 April value uses last year’s rate, for CV (s EX 51(5)) and, on our reading, for FDR too.
- The quick sale adjustment is shared between holdings in proportion to their peak holding amounts, only to work out each holding’s foreign tax credit.
- NZ tax on one holding’s income is that income × your average tax rate (total income tax ÷ taxable income). IS 21/09 was not read; check with your accountant.
- Box 17A shows the foreign tax you can claim as a credit after the limits, not the raw tax withheld.
- Credits on FIF holdings together never exceed the NZ tax on the net FIF income, and none are allowed when comparative value reduces FIF income to nil; credits on dividends never exceed the NZ tax on those dividends. Capped credits are scaled back in proportion, so the IR1261 lines add up to box 17A.
- US dividend withholding is 15% with a W-8BEN: the NZ and US tax treaty as amended by the 2008 protocol, Article 10(2), caps US tax on dividends to an NZ resident at 15% (5% for a company with 10% or more of the voting power) (US Treasury copy). Without the form, 30% may be withheld (IRS Instructions for Form W-8BEN). Only the 15% can be credited in New Zealand.
- Your share of joint holdings scales every NZ$ amount for those holdings, including cost.
- IR1261 lines are one per income type and country; if comparative value is reduced to nil, FIF income goes on one “Overseas” line.
- The transitional resident window (to the last day of the 48th month after the month you became resident) and the 10-year test come from IR1024 (April 2026) and IRD’s transitional residents page (updated 17 June 2026). Applying for Working for Families ends the exemption (IR461 April 2026 p22 note 3).
- RAM eligibility follows IR461 p17; whether a person who was a transitional resident can use RAM once that ends needs confirmation.
- An optional apportionment of RAM gains by days resident is our assumption and needs confirmation.
- The PIE comparison assumes the fund uses FDR on the same shares. Some funds use other methods.
- In the PIE comparison, tax is paid out of the investment each year on both sides and dividends are reinvested.
- In the PIE comparison, the $50,000 test is re-run every year on cost (amount invested plus reinvested dividends, less the average cost of shares sold to pay tax). Dividends are reinvested within the year, so a year’s highest cost is its starting cost plus its dividends; tax is paid by selling shares after the year.
- 2026/27 tax brackets are taken as equal to 2025/26 (not confirmed on an IRD page; the annual rates confirmation sits in the lapsed bill).
- Figures are rounded half up to the cent for display (Hatch’s sample report does the same).
- Where FDR and CV are equal we show FDR; the tax is the same.
- Tax is worked out on whole dollars: like the IR3, we drop the cents from taxable income (for example FIF income of $6,189.26 is taxed on $6,189). The FIF income and box 17B figures keep their cents.
- We choose between FDR and CV by which gives the lower FIF income, as IR461 p14 puts it (CV may be used when it gives lower income), not by which gives less tax after foreign tax credits. In rare cases with large credits the other method could leave less to pay; ask your accountant.
- With your own rates, one rate per currency is used for all trades and dividends in the year: an approximation of the actual rate on each day.
Current-law tests
33 of 33 current-law cases pass (99 checks), built 12 November 2026. Labels: IRD (IRD’s own figures), IRD_CORRECTED (IRD inputs, IRD’s arithmetic slip corrected), DERIVED (IRD inputs or a sourced rule, our arithmetic), PLATFORM (a platform figure).
| Case | Label | Source | Checks | Result |
|---|---|---|---|---|
TC01 | IRD | IR461 p14 (Bill Murphy) | 1 | Pass |
TC02 | IRD | IR461 p14 (Bill Murphy) | 4 | Pass |
TC03 | IRD | IR461 p14 (Bill Murphy) | 2 | Pass |
TC04 | IRD | IR461 p15 (Company A quick sale) | 8 | Pass |
TC05 | IRD | TT2007 Example 1 (John) | 5 | Pass |
TC06 | IRD | TT2007 Example 2 (Mary) | 4 | Pass |
TC07 | IRD | TT2007 Example 3 (Judy) | 4 | Pass |
TC08 | IRD | TT2007 Example 4 (Jane); rule confirmed against ITA s EX 52 (peak holding differential min(15000-10000, 15000-12000) = 3000) | 7 | Pass |
TC09 | IRD | TT2007 Example 4 (Jane) | 3 | Pass |
TC10 | IRD | TT2007 Example 5 (NZ Co); matches ITA s EX 52(7) totals across interests | 10 | Pass |
TC11 | IRD | TT2007 Example 6 (Joe); current rule ITA s EX 51(7) and (8) | 2 | Pass |
TC12 | IRD | TT2007 Example 7 (Peter, cost method), year 1 | 1 | Pass |
TC13 | IRD | TT2007 Example 7 (Peter), year 2; IR461 p25 rule (d) 1.05 x last year's opening value | 2 | Pass |
TC14 | DERIVED_FROM_IRD_EXAMPLE | TT2007 Example 7 (Peter), year 3; IRD prints $1,102 | 2 | Pass |
TC15 | IRD | FS2025 (Bart), 2027 tax year | 3 | Pass |
TC16 | IRD | FS2025 (Bart), 2028 tax year (cost method roll-forward) | 1 | Pass |
TC17 | IRD | TT2007 spouse threshold illustration | 4 | Pass |
TC18 | IRD | TT2007 spouse threshold illustration (variation) | 4 | Pass |
TC19 | DERIVED_FROM_IRD_EXAMPLE | IR461 p9 (joint ownership table) | 2 | Pass |
TC20 | DERIVED_HYPOTHETICAL | ITA s CQ 5(1)(d)(i) ('more than $50,000'); IR461 p9 ('does not exceed') | 1 | Pass |
TC21 | DERIVED_HYPOTHETICAL | IR461 p5 (total cost); CGT_GUIDE example | 1 | Pass |
TC22 | DERIVED_FROM_IRD_EXAMPLE | IR461 p8 (James Stock) | 3 | Pass |
TC23 | IRD | IR461 p20 (Peter, Swiss dividends) | 2 | Pass |
TC24 | DERIVED_HYPOTHETICAL | IR461 p9 (exceeds on any day: all interests, first $50,000 not exempt) with IR461 p14 FDR formula | 4 | Pass |
TC25 | IRD_CORRECTED | TIB3111 Example 1 (PHP, month-end rate, CV, actual rate method) | 1 | Pass |
TC26 | IRD | TIB3111 Example 2 (HKD, rolling 12-month average June 2019) | 1 | Pass |
TC27 | IRD | TIB3111 Example 3 (JPY cost, CV, rolling rate) | 1 | Pass |
TC28 | IRD | TIB3111 Example 3 (JPY sale, CV, rolling rate) | 2 | Pass |
TC29 | IRD | TIB3111 Example 4 (SGD, 5 mid-month rates, short period) | 4 | Pass |
TC30 | DERIVED_HYPOTHETICAL | IRD_FX_EOM_2025 (USD 31/03/2025 = 0.5710); IR461 p13 and p14 | 4 | Pass |
TC31 | DERIVED_HYPOTHETICAL | IRD_DRR (2025-26 rate 7.84%); IR461 p11 formula | 2 | Pass |
TC32 | DERIVED_HYPOTHETICAL | CGT_GUIDE (capitalgainstax shares-and-fif) and IRD_TAX_RATES brackets (33% from $78,101 to $180,000) | 2 | Pass |
TC33 | PLATFORM | HATCH_SAMPLE (sample FIF report 2025, search summary only) | 2 | Pass |
$100,000 bill and other proposals (NOT LAW) NOT LAW
4 of 4 cases pass (8 checks). Counted separately; they do not affect any current-law result.
| Case | Label | Source | Checks | Result |
|---|---|---|---|---|
P01 | DERIVED_HYPOTHETICAL | BC2026 p48 (threshold $100,000 from 1 April 2026) | 2 | Pass |
P02 | IRD | BC2026 p49 Example 17 (Keesha) | 2 | Pass |
P03 | IRD | BC2026 p47 Example 16 (Ibrahim) | 2 | Pass |
P04 | IRD | BC2026 p64 Example 26 (Mere) | 2 | Pass |
Our engine checks
17 of 17 pass (84 checks): the method chooser never mixes or picks a method the holder cannot use, the quick sale lesser-of rule, LIFO matching, the any-day threshold, the foreign tax credit cap, the currency rule, the PIE arithmetic and the migrant window edges.
| Case | Label | Source | Checks | Result |
|---|---|---|---|---|
L01_chooser_rules | LOGIC | Our engine check | 16 | Pass |
L02_no_cherry_picking | LOGIC | Our engine check | 2 | Pass |
L03_family_trust_and_company | LOGIC | Our engine check | 3 | Pass |
L04_quick_sale_lesser_of | LOGIC | Our engine check | 3 | Pass |
L05_lifo_matching | LOGIC | Our engine check | 3 | Pass |
L06_threshold_any_day | LOGIC | Our engine check | 6 | Pass |
L07_ftc_cap | LOGIC | Our engine check | 6 | Pass |
L08_currency_rule | LOGIC | Our engine check | 7 | Pass |
L09_pie_neutral_arithmetic | LOGIC | Our engine check | 4 | Pass |
L10_migrant_window_edges | LOGIC | Our engine check | 10 | Pass |
L11_whole_year_cents | LOGIC | Our engine check | 4 | Pass |
L12_exemption_checker | LOGIC | Our engine check | 8 | Pass |
L13_no_credit_when_cv_is_nil | LOGIC | Our engine check | 3 | Pass |
L14_ir1261_matches_17A | LOGIC | Our engine check | 3 | Pass |
L15_pie_retests_threshold | LOGIC | Our engine check | 2 | Pass |
L16_whole_dollars | LOGIC | Our engine check | 1 | Pass |
L17_working_for_families_ends_tr | LOGIC | Our engine check | 3 | Pass |