function readOnly(count){ }
Starting November 20, the site will be set to read-only. On December 4, 2023,
forum discussions will move to the Trailblazer Community.
+ Start a Discussion
Lesley QuinteroLesley Quintero 

What are the risks of using "Customer Name" as External ID?

The records I am tasked with uploading from an external report are Master-Detail.  They details are called "loads" and the masters are the "customer accounts".  Each of the detail (load) records have a unique number, so I'm good there.  However, the master customer accounts do not have any unique identifiers (no customer or account numbers), aside from the customer name.  

I believe the upserts will need to be run weekly, and there will be around 15K loads to run, plus any new customer accounts.  I know I need external IDs for both the loads and the customer accounts.  I want to avoid having the company keep track of customer numbers on their end, so I'm wondering if it would work for me to create a "Customer Name" field and use the customer name as the External ID.  

I recognize that the customer name would be in two places in Salesforce:

1) The standard Salesforce account name field which doesn't allow me the option to make it an external ID field

and

2) My custom "Customer Name" that I would make an external ID field.  I would hide this field to avoid confusion for the reps, so they would only see the standard Account Name field.

I recognize in doing this, I would need to have both columns in my CVS file.  It would be easy to maintain on the cvs, as I could just copy/past the column that contains the Customer Name on the spreadsheet into a new column for the external IDs.  The information would be the same, but the cvs headers and Salesforce fields would not.

In short it would look like this:

CSV Colums
Customer Name - (ABC, Inc.) - mapped to Salesforce standard Account Name field (visible)
Custom Name External ID - (ABC, Inc.) - mapped to Salesforce custom External ID field (hidden)

The report that is generated is standard, so the customer names should not change.  Regardless, I would set them to case insensitive since they are names.

Would this work? What is the potential fall out from it?  Is there a better way to avoid my customer having to track External IDs that they don't already have assigned in their other database?

I know it's a lot.  Any suggestions are much appreciated.