See Excel's help to VLOOKUP.
Your table_array is what you have called phones. First column in the table_array must contain the lookup_value, and it doesn't. The lookup_value is contained in the third column of phones.
In my file I showed two workarounds. You will see that the formula in column J:
=VLOOKUP([@POAddress];'cutomer Contacts list xero 2101'!$C$1:$D$454;2;0)
has table_array C1

454 so that lookup_value is to be found in the leftmost column of table_array, and col_index_num has been changed to 2.
Still another possibility is that you move present column C in sheet customer Contacts list to new inserted column A.
(By the way, I deleted a lot of columns in the file I uploaded to reduce the file size. Otherwise I wasn't able to upload - bigger than 500 kb).