NZ Bank Account Validator

Check a New Zealand bank account number against the IRD check digit rules

Loading...

The four parts of a New Zealand account number

An account number is written bank-branch-account-suffix, for example 01-0902-0068389-00. Two digits for the bank, four for the branch, seven for the account and two or three for the suffix, which distinguishes the different products a customer holds at the same branch. Validation pads the account to eight digits and the suffix to four, so the same number written with a two or three digit suffix checks out either way.

Inland Revenue's lettered algorithms

Inland Revenue publishes the check digit routines that banks use, and there is more than one. Which applies depends on the bank: most use algorithm A for account numbers below 990000 and B above it, while a handful of banks have their own, lettered C through G. Each is a weighted sum across all eighteen padded digits, reduced modulo 11 or modulo 10 depending on the letter. One bank issues numbers with no check digit at all, and this tool says so rather than pretending to verify them.

Two of the routines, E and G, fold each individual product down to a single digit before adding it to the running total. Skipping that step produces an implementation that agrees with the specification on most inputs and disagrees on some, which is the kind of bug that reaches production and stays there. This tool does the fold.

Why the branch is not checked here

Inland Revenue's specification also lists the branch numbers allocated to each bank, and most validators check against it. This one deliberately does not. Those tables move as banks open, close and merge branches, and the copies circulating online date from 2016. A stale table produces the worst possible outcome for a validator: a confident "invalid" verdict on somebody's real account number. A failed check digit is a fact; an unrecognised branch is only a gap in our data, so this tool reports the first and stays quiet about the second.

What a pass means

That the digits are internally consistent, so the number was probably typed correctly. Not that the account exists, is open, or belongs to the person who gave it to you. No public service confirms those, and for payments the practical protection is confirmation of payee at the bank, not arithmetic. Use this at the point of data entry, where catching a typo is worth a great deal and costs nothing.

For the Australian equivalent, see the BSB lookup. For Europe, see the IBAN validator; New Zealand does not use IBAN.

Frequently Asked Questions

What do the parts of a New Zealand account number mean?

Bank, branch, account and suffix, written as 01-0902-0068389-00. Two digits identify the bank, four the branch, seven the account, and two or three the suffix, which separates the different products one customer holds at the same branch. Validation pads the account to eight digits and the suffix to four.

Why are there several different algorithms?

Inland Revenue documents a set of lettered routines and assigns them by bank. Most banks use algorithm A for account numbers below 990000 and B above it, while a handful have their own. They differ in the weights, in whether the total is reduced modulo 10 or 11, and in whether each product is folded to a single digit first.

Why does this tool not check the branch number?

Because the published branch allocation tables go out of date as banks open, close and merge branches, and the copies in circulation are years old. Validating against a stale table would tell people their real account number is invalid, which is a worse failure than not checking the branch at all.

Does a valid check digit mean the account exists?

No. It means the digits are internally consistent, so the number was probably typed correctly. Whether the account is open and who it belongs to are questions only the bank can answer, which is what confirmation of payee exists for.