If post does not exist, it should create a new post. Eg: If postname ‘Cluster’ as shown in A2 not found then create new post titled ‘Cluster’. If exist, move to Step 2:

Step 2:

Match available field names in custom post type with column names in csv by Name(The field names maybe added, removed or modified, so the plugin should dynamically detect all the fields and should not be hardcoded). Use data from csv to fill the corresponding field names. If field name mismatch is there, then ignore.