Analytics dashboard deployment fails in cloud org due to managed package namespace conflicts

Deploying a new analytics dashboard from sandbox to production using Change Set. The dashboard uses custom fields from both our custom objects and a managed package (FinancialForce). Deployment throws namespace conflict error:


Error: Dashboard component 'Revenue_Forecast'
Problem: Invalid field reference 'FinancialForce__c2g__Amount__c'
Expected: 'c2g__Amount__c'

The dashboard works perfectly in sandbox where the managed package is installed with the same namespace. In production, the package is also installed and the field exists. The Change Set validation shows the dashboard metadata has the full namespace prefix ‘FinancialForce__c2g__Amount__c’ but Salesforce expects just ‘c2g__Amount__c’. This blocks our analytics rollout. Do we need to manually edit the dashboard metadata before deployment to strip the package namespace prefix?

I’ve dealt with this exact scenario multiple times. The issue spans all three areas you need to address:

1. Managed Package Namespace Usage (Core Issue): Managed packages use a namespace prefix (like ‘c2g’) to avoid conflicts. When referencing managed package fields in custom metadata, you should ONLY use the namespace prefix, never the package name. The error shows ‘FinancialForce__c2g__Amount__c’ which is malformed - it combines the package display name with the namespace.

Correct format: c2g__Amount__c Incorrect format: FinancialForce__c2g__Amount__corFinancialForce__Amount__c 2. Dashboard Field References (How to Fix): Retrieve your dashboard metadata and examine the XML. You’ll see sections like:

<dashboardComponent>
  <report>Revenue_Report</report>
  <field>FinancialForce__c2g__Amount__c</field>
</dashboardComponent>

Change ALL occurrences to:

<field>c2g__Amount__c</field>

Method 1 - Metadata Fix (Quick):

  • Use SFDX: `sfdx force:source:retrieve -m Dashboard:Revenue_Forecast
  • Edit the .dashboard-meta.xml file
  • Replace all FinancialForce__c2g__ with `c2g__
  • Deploy: `sfdx force:source:deploy -m Dashboard:Revenue_Forecast Method 2 - Recreate Dashboard (Clean): In sandbox, recreate the dashboard but manually type field API names instead of using the field picker. When you type ‘c2g__Amount__c’ directly, Salesforce generates correct metadata. This prevents future issues.

3. Metadata Cache Refresh (Critical Step): Even with correct field references, deployment can fail if production’s metadata cache is stale. This happens when:

  • Managed package was recently installed/upgraded
  • Custom objects/fields were added that the dashboard references
  • Org hasn’t had a full metadata refresh recently

Force Cache Refresh:


Setup > Apex Classes > Compile All Classes

Wait 10-15 minutes for completion. This rebuilds the entire metadata cache including managed package field definitions.

Alternatively, use Anonymous Apex:

System.invalidateCache('metadata');

Complete Solution Steps:

  1. In production: Run Compile All Classes, wait for completion
  2. In sandbox: Retrieve dashboard metadata via SFDX
  3. Edit XML: Change all ‘FinancialForce__c2g__FieldName__c’ to ‘c2g__FieldName__c’
  4. Validate: Test the edited metadata in sandbox first by redeploying there
  5. Deploy to production: Use SFDX or updated Change Set
  6. Verify: Check dashboard loads correctly and all managed package fields display

Why This Happens: Analytics Studio UI has a bug where selecting managed package fields from the field picker sometimes includes the package display name. This creates invalid metadata that works in the source org (due to loose validation) but fails in target orgs during strict Change Set validation. Always manually type managed package field API names to avoid this.

Prevention: For future dashboards using managed package fields, establish a naming convention document that lists correct field API names. Train your team to type field names manually rather than using the picker when working with managed packages. This eliminates the metadata malformation at creation time.


This draft is based on general Salesforce knowledge. It has not been verified against your specific version and environment. Practitioners: verify the steps and share your experience below.

This is a common managed package quirk. The dashboard metadata should reference managed package fields using only the namespace prefix (c2g__), not the package name prefix (FinancialForce__). When you create the dashboard in the UI, Salesforce sometimes adds the package name incorrectly. Try retrieving the dashboard metadata via Workbench or SFDX, edit the XML to change all ‘FinancialForce__c2g__’ references to just ‘c2g__’, then redeploy.

Before manually editing metadata, check if your sandbox and production have the same version of the FinancialForce package installed. Version mismatches can cause field reference issues. Also verify that the managed package namespace is actually ‘c2g’ in both orgs - you can check this in Setup > Installed Packages. Sometimes package upgrades change internal field structures.

Both orgs have FinancialForce version 12.306 installed, and the namespace is confirmed as ‘c2g’ in both. I retrieved the dashboard metadata using SFDX and see the issue - the dashboard XML has field references like ‘FinancialForce__c2g__Amount__c’ everywhere. If I manually edit to ‘c2g__Amount__c’, will that break anything in the sandbox where it currently works with the full prefix?

Don’t manually edit if you can avoid it - that creates maintenance nightmares. The root cause is how the dashboard was created. If you built it using the Analytics Studio UI and selected fields from the managed package, Salesforce auto-populates the package name prefix. Instead, recreate the dashboard in sandbox but this time manually type the field API names as ‘c2g__Amount__c’ instead of selecting from the field picker. That generates correct metadata from the start.

There’s also a metadata cache issue to consider. Even if you fix the field references, the deployment might fail if Salesforce’s metadata cache in the target org hasn’t refreshed after the package installation. This is especially common if the managed package was recently installed or upgraded in production. Try running a metadata refresh in production before deploying - go to Setup > Apex Classes > Compile All Classes. This forces a full metadata cache rebuild.