What the BSB Register Shows About Banking Consolidation

The Australian BSB register records every bank, state, and branch code in the country. Because BSBFinder keeps a dated history of how the register changes, we can see which BSBs are registered and retired over time. This page summarises that activity from 2026-03-15 to 2026-07-01.

Read this first: a discontinued BSB is not a closed branch

A BSB can be retired for many reasons that have nothing to do with a branch closing its doors: mergers, brand consolidations, and routine renumbering all remove BSBs from the register. These figures describe what the BSB register records — they are a useful signal of structural change in Australian banking, but they are not a count of physical branch openings or closures.

For authoritative branch-location data, see APRA's annual Authorised Deposit-taking Institutions Points of Presence statistics, the canonical source for branch numbers in Australia.

Over this window, the register recorded 347 newly registered BSBs and 83 discontinued BSBs.

New BSB registrations per year

2026
347

Discontinued BSBs per year

2026
83

Discontinued BSBs by state

VIC
55
NSW
11
QLD
10
WA
6
SA
1

Net BSB change by institution

Registered minus discontinued BSBs over the window (largest net decreases first).

Institution New Discontinued Net
Heritage and People's Choice Limited 0 6 -6
Bankwest (a division of Commonwealth Bank of Australia) 0 4 -4
Norfina Limited 0 2 -2
BNP Paribas 0 1 -1
Mega International Commercial Bank Co, Ltd 0 1 -1
Bank of Sydney Ltd 1 2 -1
BankSA (a division of Westpac Banking Corp) 1 1 0
National Australia Bank Limited 1 1 0
Australia & New Zealand Banking Group Limited 8 8 0
Ebury Partners Australia Pty Ltd 1 0 +1
Fat Zebra Pty Ltd 1 0 +1
AFT AU Pty Ltd 2 0 +2
Bank of Queensland Limited 2 0 +2
HSBC Bank Australia Limited 2 0 +2
Citibank N.A. 7 0 +7
Flash Partners Pty Ltd 7 0 +7
Zepto Payments Pty Ltd 8 0 +8
Australian Settlements Limited (trading as Banking Circle) 11 2 +9
Corporate Alliance Group Pty Ltd 11 0 +11
Cuscal Limited 24 2 +22

Methodology

Figures come from BSBFinder's bsb_history table, which records each register change (added, amended, discontinued) with the date it was observed. Counts are distinct BSBs per change type.

Baseline snapshots are excluded. The initial data load and any full re-import register every BSB at once (tens of thousands on a single date). Including those would swamp the real signal, so any ETL run whose additions exceed a baseline threshold is filtered out. Only genuine incremental changes are counted.

The exact queries (baseline runs excluded in each):

-- new_per_year
SELECT EXTRACT(YEAR FROM observed_at)::int AS year,
       COUNT(DISTINCT bsb) AS n
FROM bsb_history
WHERE change_type = 'added' AND etl_run_id NOT IN (baseline runs)
GROUP BY year ORDER BY year;
-- discontinued_per_year
SELECT EXTRACT(YEAR FROM observed_at)::int AS year,
       COUNT(DISTINCT bsb) AS n
FROM bsb_history
WHERE change_type = 'deleted' AND etl_run_id NOT IN (baseline runs)
GROUP BY year ORDER BY year;
-- discontinued_per_state
SELECT c.state, COUNT(DISTINCT h.bsb) AS n
FROM bsb_history h JOIN bsb_current c ON c.bsb = h.bsb
WHERE h.change_type = 'deleted' AND h.etl_run_id NOT IN (baseline runs)
GROUP BY c.state ORDER BY n DESC;
-- net_by_institution
SELECT i.name,
       COUNT(DISTINCT h.bsb) FILTER (WHERE h.change_type='added') AS added,
       COUNT(DISTINCT h.bsb) FILTER (WHERE h.change_type='deleted') AS discontinued
FROM bsb_history h
JOIN bsb_current c ON c.bsb = h.bsb
JOIN institutions i ON i.abbreviation = c.institution
WHERE h.etl_run_id NOT IN (baseline runs)
GROUP BY i.name;

Data window: 2026-03-15 to 2026-07-01. The register is refreshed monthly with daily checks; this analysis grows as more months accrue.