News 12th July 2024

The secret life of TFNs

Tax file numbers (TFNs) are so much an everyday element when dealing with tax and the ATO that many taxpayers won’t give it a second thought when tax return software responds with an “invalid” message when a TFN is entered.

The common thought will be that it’s human error, so naturally one’s first reaction will be to check the numbers you entered, followed by carefully re-entering them.

Most of the time the problem will be fixed and its business as usual, but here’s a passing thought — how does the tax return software know what is, and what is not, a valid TFN? Especially when you consider that its validity or otherwise is not dependant on matching those numbers with someone’s name and/or birthday and/or address and so on. These identifiers are used to cross-check a person’s identity of course, but the initial validity of a TFN is known via another factor — the “TFN algorithm”.

This verification algorithm, also known as a check digit algorithm, is embedded in each unique TFN. As with a lot of these things, this is best explained using an example. However, you need to keep a number in mind, which in this case is the number 11.

To make the algorithm work, a fixed weighting is applied to each number of the TFN. In order from the left, these weightings are 1, 4, 3, 7, 5, 8, 6, 9, 10. 

Example: 123 456 782

TFN 1 2 3 4 5 6 7 8 2
Weight 1 4 3 7 5 8 6 9 10
Sum 1 8 9 28 25 48 42 72 20
Validation 1 + 8 + 9 + 28 + 25 + 48 + 42 + 72 + 20 = 253

As 253 is a multiple of 11 the TFN is valid.

To check for yourself, try the above with your own TFN.

Contact


Fatal error: Uncaught Error: Call to undefined function Smush\Core\Parser\str_contains() in /srv/users/venture/apps/ventureprivateadvisory/releases/2-c0618bc90d832e4b3df32e75b824db720d0c76e9/public/content/plugins/wp-smushit/core/parser/class-parser.php:373 Stack trace: #0 /srv/users/venture/apps/ventureprivateadvisory/releases/2-c0618bc90d832e4b3df32e75b824db720d0c76e9/public/content/plugins/wp-smushit/core/parser/class-parser.php(358): Smush\Core\Parser\Parser->sanitize_value('rel') #1 /srv/users/venture/apps/ventureprivateadvisory/releases/2-c0618bc90d832e4b3df32e75b824db720d0c76e9/public/content/plugins/wp-smushit/core/parser/class-parser.php(157): Smush\Core\Parser\Parser->is_safe('rel') #2 /srv/users/venture/apps/ventureprivateadvisory/releases/2-c0618bc90d832e4b3df32e75b824db720d0c76e9/public/content/plugins/wp-smushit/core/parser/class-parser.php(120): Smush\Core\Parser\Parser->get_element_attributes('<link rel="appl...', 'https://venture...') #3 /srv/users/venture/apps/ventureprivateadvisory/releases/2-c0618bc90d in /srv/users/venture/apps/ventureprivateadvisory/releases/2-c0618bc90d832e4b3df32e75b824db720d0c76e9/public/content/plugins/wp-smushit/core/parser/class-parser.php on line 373