Import process to update records without ID field

Using Version 7.11.2

Sugar Version 6.5.25 (Build 344)

We are having records from a Wordpress system being exported into a CSV file with headers changed to reflect CRM Contact module’s column names. This CSV file is obviously lacking an ID field as there is no link between the two systems.

How can I use Import process in this case to update existing records in CRM without ID field? (Maybe using Email field as that will always be unique for our system)
Is there a change in the code that can be done to accomplish this OR any other way to run the CSV from Wordpress against a Report to populate ID field?

You can use any unique value for the ID field. Just add a sequential number in Excel, for example.

Thanks for your response pgr. Will adding any unique value for ID field match and update existing records in the Import process?

Just an update @pgr, having any random unique value in ID field or keeping it blank creates new record instead of updating existing record. I will never know the ID of the record as the system from where I am getting list of records to update doesnt store CRM ID information. Any other ideas to resolve this will be appreciated.

If you have some PHP skills I would advise to set up an import script. If you’re doing imports many times over, and want to keep things in sync (properly), it really helps to have more control over the process.

Thanks for your response @pgr! Wonder if there is any way to modify existing import script rather than writing a complete new one from scratch which may or may not miss out on some functionality that existing Import process does well?
It feels basic to be able to update records without ID field and disappointed that there is no way to do this without coding.

You can use an Import script I wrote a few years ago. Don’t worry, it’s not as complicated as it seems. Most of what is in it, is specific to my data, and you won’t need it. But the general idea of looping through lines in a CSV, and using Beans to add data (and test conditions) is there.