So I learnt something new this week.
When importing customer data from your client, DON'T import what they give you!
My client had over 1,500 customer accounts from their old Wordpress / Woocommerce based site which they provided me on an excel spreadsheet. The sheet actually contained over 3,000 accounts initially, but I returned asking them to remove accounts which were not genuine credit account holders and add the account numbers of the genuine ones plus filling in the rest of the contact info, making sure that each account had an email address as this would be the account username.
I waited nearly 3 months for the returned spreadsheet and was assured that all customer data was up to date.
FOOLISHLY, I imported the data, assuming the client has done as asked.
The data imported without a problem.
Go live day came and many, many customers couldn't log in or reset passwords.
The spreadsheet was incomplete, in particular missing 'mandatory' details such as FIRST & LAST name. This caused Magento to refuse to reset passwords, giving an error that it couldn't reset because the last name was missing, but the customer couldn't log in to change it bacause they couldn't reset their password to get in to change it!
I got my client to run through the spreadsheet and add either names or a generic entry such as 'Main' and 'Account' for first / last names!
I performed the import again and this time for a reason I still cannot work out today, the import messed up the entries putting phone numbers in postcode fields, surnmames in address fields and a whole host of other problems!
So I had to trawl through the spreadsheet and look at contact details of over 1,500 users to identify where the issue was!