Tag Archives: TFN Validation

How to Validate Australian Tax file number (TFN) in VB.NET

Here is a code snippet to help you validate the Australian Tax File Numbers also known as TFN.

The TFNs are 9  character long Numeric values

Here is a Sample TFN  123456782 which you can use to do your testing.

 

 

Function Validate_TFN(ByVal value As String) As Boolean

        ‘ best-answer.net

        Dim bok As Boolean = False
        ‘ the following algorithm is used to calculate the validity of TFN

        ‘ 9 characters
        Dim myTFN As Char()
        ‘
        Dim checksum As Double

        Dim count As Integer
        myTFN = value.ToCharArray()
  
        Dim i As Integer
        For i = 0 To 8
            Select Case i

                Case 0
                    checksum += myTFN(0).ToString * 1
                Case 1
                    checksum += myTFN(1).ToString * 4
                Case 2
                    checksum += myTFN(2).ToString * 3
                Case 3
                    checksum += myTFN(3).ToString * 7
                Case 4
                    checksum += myTFN(4).ToString * 5
                Case 5
                    checksum += myTFN(5).ToString * 8
                Case 6
                    checksum += myTFN(6).ToString * 6
                Case 7
                    checksum += myTFN(7).ToString * 9
                Case 8
                    checksum += myTFN(8).ToString * 10

            End Select

        Next
        checksum = checksum / 11

        bok = (Math.Floor(checksum) = Math.Ceiling(checksum))
        Return bok
    End Function