Multi-Currency Enhancements Highlights
- Some Campaign Influence Split field names were changed to remove the word “Influence” from the name to make it easier to identify them and add them to page layout and related lists on Opportunity, Campaign and Contact. See the updated data dictionary here for details of the definitions of the Campaign Influence Split fields: Campaign Influence Analyzer App Data Dictionary
- Increased precision in Campaign Influence Split and Campaign Currency and Number fields to enable precise reconciliation across objects and reports
- New Dated Multicurrency framework on the Campaign Influence Split to allow administrators to convert and display FX and currencies in the campaign currency, org currency or opportunity currency with complete customization flexibility as MagicRobot writes all the applicable exchange rates to the Campaign Influence Split object. See below list of new fields added to the Campaign Influence Split object for detail
- Increased Dated Multicurrency view options (see below for configuration instructions):
- You can view the Org Currency’s relative dated value of the split as a number field
- You can view the Split in the Campaign Currency but adjusted to reflect the dated value of the opportunity against the Org Currency. In other words, Campaign Influence Split reports will be summarized in the Dated Org Currency and relative values will align when compared to the Converted Org Currency of your Opportunities.
- The side effect of this approach is that campaigns in a currency other than the org currency selling opportunities in that same non-org currency will have historically adjusted outputs different than the actual value of the opportunity. For Example: Imagine our Org Currency is USD. Now imagine we have a campaign in GBP influencing an Opportunity also in GBP worth GBP 10,000 — and closed won in 2014. Let’s assume GBP has weakened against USD by 20% from 2014 to today. The Campaign Influence Split value displayed in GBP in the field “Influenced Cash (Opp Dated Values)” will be 20% higher (GBP 12,000) to adjust for the stronger USD we are currently viewing in our “Converted” org currency (which is always converted using the “Live” exchange rates).
- You can choose which dated exchange rate paradigm you want to fill all the MagicRobot Campaign Fields with and also the Campaign Influence Split field “Influenced Cash Credit From Opp”. (The previous version was “Dated Campaign Values” and you can now choose “Dated Opportunity Values” which keeps all the values stable against the dated Org Currency value of the opportunity)
What to do after installation:
When the upgrade is installed, the new fields and precisions will be automatically installed.
If you utilize Dated Multicurrency, you will want to take the following steps to activate the new functionality:
1. Choose which Dated Multicurrency format you want to fill your MagicRobot Campaign Currency Fields and the Campaign Influence Split Field “Influenced Cash Credit From Opp”
Please note, the following setting will only be visible if your Org has Dated Multicurrency active
Navigate to the Tab “Campaign Influence Control Panel”
Push the “Edit Settings” button
Scroll down to the bottom and select which Dated Multicurrency concept you want. The new improved choice which keeps the dated opportunity values consistent against the Org Currency is “Dated Opportunity Values”:
Now click “Save New Settings” button.
2. Update All Campaign Influence Splits with the new exchange rates paradigm by running them through Button #2 Full Enchilada
To get the Dated Multicurrency values applied to your data, you will need to run the “Campaign Rollup Job” by pushing Button #2 and asking MagicRobot to run the “Full Enchilada”.
Button #2 / “Campaign Rollup Job” does not re-analyze your opportunities and the influence on them. Instead it corrects currency FX value changes, stage updates, open/won/lost status. It runs much more quickly than the Button #1 Full Enchilada, but can still take a significant amount of time to update the campaign influence split records and then roll their values up to the campaigns.
Navigate to the Tab “Campaign Influence Control Panel”:
Scroll to the bottom of the screen and push button #2:
Check the box to run the Full Enchilada:
Now push “Yes, Run the Campaign Rollup Job”:
Now, it will update your campaign influence splits and campaigns with the new exchange rates paradigm.
Validation rule notes:
This process will update all the campaigns MagicRobot has ever recorded influence for so if your org has new validation rules in place, there may be failures.
Additionally, if you’ve created any roll-up summary fields or Workflow Rule Updates from Campaign Influence Split to the Opportunity object, salesforce will update all those opportunities, so there could be slower processing or validation rule errors.
If you encounter any validation rule errors, you will need to loosen the validation criteria to let your edits through (e.g. MagicRobot fields are being updated by an admin user) and will need to re-run Button #2 full enchilada.
New Campaign Influence Split Fields Related to Dated Multicurrency Upgrades:
(If you don’t see these fields as accessible in your reports, check your profile’s object settings and enable visibility to these fields)
FX: Campaign Currency
This is the currency of the campaign to which this split is rolling.
FX: Opportunity Currency
This is the currency of the Opportunity from which this split is derived.
FX: Cash (Campaign Dated Values)
Converts the value of the opp to the org currency using dated rates then converts to the campaign currency using dated rates. If you observe the value in a different currency, the value against the dated org currency may fluctuate against the live FX (This was the conversion used exclusively by MagicRobot until this release)
FX: Cash (Opp Dated Values)
Converts the value of the opp to the org currency using dated rates then converts to the campaign currency using today’s rates, so you can observe the relative value of the opp to the business at the time of sale converted for the observation currency
FX: Cash (Org Currency)
Will show the numeric value (i.e. not a currency field) of the split value of the opportunity in the Org Currency, converted by dated rates according to Opportunity Close Date and win status, if applicable
FX: Dated Opp to Org
Indicates, if applicable, the dated exchange rate from the Opportunity Currency to the Org Currency
FX: Live Opp to Org
Indicates, if applicable, the live exchange rate from the Opportunity Currency to the Org Currency (i.e. today’s exchange rate, used for open opportunities)
FX: Dated Campaign to Org
Indicates, if applicable, the dated exchange rate from the Opportunity Currency to the Org Currency (as dated by the Opportunity’s Close Date)
FX: Live Campaign to Org
Indicates, if applicable, the live exchange rate from the Campaign Currency to the Org Currency (i.e. today’s exchange rate, used for open opportunities)
Displays the IsoCode of the currency of the Campaign Influence Split (which is aligned to the Parent Campaign’s currency)
FX: Use Live or Dated Rate?
If Dated Exchange Rates are applicable, displays which set of rates should be used based on the opportunity’s close date and and won status
z_Inf Cash (Formula Live FX Rate)
A formulaic version of the field “Camp_Inf__Influenced_Cash_Opp_Dated_Values__c” (Camp_Inf__Influenced_Cash_Opp_Dated_Values__c).
For your convenience and as demonstration this is the formula to convert the opportunity to the campaign value while maintaining the relative Dated org currency value of the opportunity.
ROUND( ( ( ( /* This gets you the Opp's value in the Opp's currency using Today's rates */ IF( ISBLANK( Camp_Inf__Opportunity__r.Camp_Inf__z_Magic_Robot_Override_Opp_Amount__c ), IF(ISBLANK(Camp_Inf__Opportunity__r.Amount),0, Camp_Inf__Opportunity__r.Amount), Camp_Inf__Opportunity__r.Camp_Inf__z_Magic_Robot_Override_Opp_Amount__c ) * IF(Camp_Inf__Campaign_Currency__c = Camp_Inf__Opportunity_Currency__c, 1, (Camp_Inf__FX_Live_Opp_to_Org__c * (1/Camp_Inf__FX_Live_Campaign_to_Org__c)) ) /* NOW we exchange the Opp's value to the dated org Currency */ * (1/ IF(ISBLANK(Camp_Inf__FX_Live_Opp_to_Org__c),1, IF(Camp_Inf__FX_Use_Live_or_Dated_Rate__c = "Dated", Camp_Inf__FX_Dated_Opp_to_Org__c, Camp_Inf__FX_Live_Opp_to_Org__c ) ) ) /* Now we convert from the Org currency back to to the Campaign Currency for display */ * Camp_Inf__FX_Live_Campaign_to_Org__c ) /* NOW we divide by the total number of influence splits */ * (1/ IF(ISBLANK(Camp_Inf__Num_inf_campgns__c),1, Camp_Inf__Num_inf_campgns__c ) ) ) /* Now we add an incremental decimal just to ensure the fields round up instead of a repeating 0.1111 as a worst case scenario */ + 0.000000009),7)