Before you can compare and deploy any Revenue Cloud Advanced (RCA) configuration with Gearset, both the source and target org RCA components and related objects must have the unique Gearset external ID field.
Before running the External ID Wizard to automatically add the external ID field, check which of the below scenarios applies to you.
Scenario 1 - You have created RCA configuration in a sandbox and need to deploy it to Production
Note: this is the most common scenario if you are implementing RCA and have not made your first deployment yet.
Run the external ID wizard on your Production org. (details here)
Run the external ID wizard on your sandbox(es).
Use the RCA deployment feature in Gearset to deploy configuration (source is the sandbox, target is Production).
The records will have external IDs created from Sandbox Salesforce IDs.
Scenario 2 - RCA configuration is in the Production org, but not yet in your sandboxes
Note: unless you're building directly in Production this is unlikely for a new RCA implementation.
Option 1 - (details here):
Run the external ID wizard on your Production org.
Refresh the sandbox(es) to automatically migrate the new external ID field (metadata) and RCA records (data) and bring your sandboxes in sync.
Option 2 - (details here)
Run the external ID wizard on your Production org.
Run the external ID wizard on your sandbox.
Use the RCA deployment feature in Gearset to deploy configuration (source is Production, target is the sandbox).
The records will have external IDs created from Production Salesforce IDs
Scenario 3 - The same RCA configuration exists in more than one sandbox, neither have an external ID.
Note: This is a likely scenario if you have been making deployments without using our RCA deployment feature.
Run the external ID wizard on your Production org (details here).
Run the external ID wizard on your sandboxes.
If the same record is present both in multiple sandboxes (in the above example; CPU and Keyboard) there is a very high possibility that they have different Salesforce IDs, and therefore different Gearset External IDs:
if the record was created manually in both Orgs, or if it was previously deployed from one Org to the other, the Salesforce IDs will be different.
if the record was created in the Sandbox with a refresh from Prod, the Salesforce ID will be the same (less likely for a new RCA implementation).
If a deployment with Gearset is attempted in this situation, some records will be duplicated if deployed โ ๏ธ
Use the data deployment tool to overwrite the Gearset External ID fields, picking either one org as source of the deployment. This fix will be possible only if there are other fields that can be used for matching the records (i.e. another external ID).
After fixing the Gearset External IDs, it will be possible to move records over with the RCA deployment feature.
Scenario 4 - Some RCA configuration was created in the Sandbox, some in Production, but the same record is never in both environments
Run the external ID wizard on your Production org (details here).
Run the external ID wizard on your sandbox.
Use the RCA deployment feature to move records over (the deployment can safely go in both directions: Production to sandbox, then sandbox to Production).
Some records will have external IDs created from Sandbox Salesforce IDs, some records will have External IDs created from Production Salesforce IDs. The ID will be picked from the org where the record was created. Records will be deployed without duplicates.