Multi-Currency Impact on Rules Engine
Gainsight NXT
Overview
This article explains the impacts on the Rules Engine application after enabling Multi-Currency. For more information about the Multi-Currency support and the associated configurations, refer to the Configure Multi-Currency Support article from the Additional Resources section.
Review S3 Rules to Enable Multi-Currency
Before enabling Multi-Currency, Admins must review the impact of Multi-Currency across Gainsight. The logged-in admin receives the Multi-Currency Analysis report through an email. This report may contain the S3 rules that must be reviewed before or after enabling Multi-Currency. S3 rules in the analysis report are configured with S3 dataset tasks, which have currency field mappings but not the Currency ISO code. You add Currency ISO code in source and add mapping in the rule configuration before or after enabling Multi-Currency. The rules are marked as Inactive if this is not configured before enabling. If this is not configured even after enabling, the rule runs as scheduled and loads incorrect monetary currency values into the target objects.
MDA Dataset Task
Show Section
When Multi-Currency feature is enabled in your org, Currency Data Type fields store values in multiple currency codes. When you use a Currency Data Type field in a Dataset, it is essential for you to know the currency code of each record stored in the Currency Data type field(s).
In Rules Engine, when you include a Currency Data Type field in a Dataset task, Gainsight helps you easily recognize the currency code for all the records and also automatically converts the currency values to Corporate Currency.
This is handled by two entities:
-
Currency ISO Code Field: The Currency ISO Code is a system field which displays the currency code for each value stored in the Currency Data Type field. The currency codes are viewed from the rule results sheet or when you preview the Dataset.
When you include any Currency Data Type field in the Show section of an MDA object, the Currency ISO Code field is added automatically to the Show section. This field is added only once, irrespective of the number of Currency Data type fields included in the Show section. When aggregation is applied on currency data type fields, the results are shown in the corporate currency, so currency ISO code must be removed from show fields.
-
Corporate Currency Column: The Currency ISO Code field adds an additional column in the Rule results sheet. This column displays the values of Currency Data type field(s) in corporate currency. View this column while previewing a Dataset.
The above image displays a snapshot of the Rule Preview page. ARR is the currency field added to the Dataset. The ARR (USD) column is automatically created. This column displays the ARR values in the corporate currency (here USD) and is added for every Currency Data Type field included in the Dataset.
If you remove the Currency ISO Code field from the Show section of the Dataset, the Currency ISO code field and the Corporate Currency columns are not displayed in rule results sheet or in the dataset preview. The Currency Data type values are displayed as numbers without any currency code.
If you remove the Currency ISO code from the Show section and save the Dataset, the Currency ISO Code field is not added automatically in the future, when you include any Currency Data type fields. You have to manually add it.
To summarize, when you include a Currency Data type field in the Show section of a Dataset:
- Currency ISO code field is automatically added and displays the currency codes for each value.
- The Corporate Currency column is automatically added for all the currency Data type fields included in the Dataset and displays values in Corporate Currency.
Note: The above two points apply only if the Currency ISO code field is not removed from the Show section of the Dataset.
Filters Section
When a Currency Data type field is included in the Filters section, any filter value entered is in Corporate Currency, irrespective of the Currency code used in the field. You cannot apply filters on supported currency or user-level currency. The Currency code for filter values always shows the Corporate Currency code.
For example, if you apply a filter ARR > 30000, the value 30000 is considered to be in Corporate Currency and all the ARR values that are greater than 30000 USD (in this case USD is corporate currency) are fetched. If an ARR field stores values in multiple currency formats, auto conversion of currencies to Corporate Currency is not performed.
Export to S3 Section
When you export the Dataset to S3, the exported data contains the same columns as in the Dataset task Preview.
SFDC Dataset Task
Gainsight NXT in Salesforce CRMContent in this section supports Gainsight NXT accessing through Salesforce Login. To learn more about Gainsight NXT in Salesforce, click here.
Show Section
When you include a Currency Data type field in the Show section of an SFDC Dataset, the Currency ISO Code field is automatically added to the Show section. However, the Corporate Currency Column is not included in the Rule result sheet or rule preview. Other features work similarly to the MDA Dataset task. If the source is an SFDC object or a Dataspace, you cannot include Currency data type fields from lookup objects.
IMPORTANT: Some SFDC objects like Account, Contact, Case do not have the Currency ISO Code field. Alternatively, they have Account Currency, Contact Currency, and Case Currency fields respectively. These fields perform the same task as performed by Currency ISO Code.
Dataset Filters
If a Currency Data Type field is included in the Filters section, the filter values applied are treated as the Gainsight Corporate Currency and not Salesforce Corporate Currency.
S3 Dataset
In the S3 Dataset task configuration, Gainsight has the following two data types to handle ingesting currency data multiple currencies:
- Currency
- Currency ISO Code
If your source file has a column with Currency values, you must map it as a Currency Data type. Columns which are mapped as Currency Data type, accept values only in whole numbers. If any record in the Currency column has string Data type values, such records are rejected.
If your source file has currency values, Gainsight recommends you add a column for currency code as well. This column must store all the currency codes used in the file such as USD and GBP. You can map this column as a Currency ISO Code Data type field. If you do not map the Currency ISO code field, all the Currency column values are treated as numbers. Only those currencies whose currency code matches with any of the currency codes listed in supported currencies are ingested. Records whose currency codes are not present in the supported currencies list are discarded.
Transformation, Pivot, and Merge Tasks
When you create a transformation, merge, or pivot task from a Dataset that has Currency Data type fields, the values are always treated as the Corporate Currency code irrespective of the Currency code in the Dataset. The Currency Code always displays the Corporate Currency code for Currency fields used in Transformation, Merge, or Pivot tasks.
If you have not included the Currency ISO code field in the source Dataset, the Currency Data type fields are treated as Number fields. No Currency Code is displayed with the name of these fields.
Notes:
- If an arithmetic operation is applied between a Number Data type field and Currency Data type field, the resulting value is stored as a Currency Data type value. Corporate Currency code is applied to this resulting value.
- If you merge two Datasets that have records in different currencies, the Merge Dataset stores the values in Corporate Currency.
Setup Action
The Multi-Currency feature impacts a few Setup Action types in Rules Engine. The impacted Action types and their respective impact is explained in the following sections.
Honour Source/Target Currency in all “Load to” Action Types
When you use any Load to Action type, the Currency Data type fields in source and target can have different Currency ISO codes. In such cases, Gainsight allows you to choose the currency code that must be honored. To facilitate this feature, a new toggle switch is introduced in all the Load to Actions.
If you turn on the Honour Source Currency Code toggle switch, the source currency code is honored and all the currency values in the target Currency fields are converted to source’s currency code.
If the Honour Source Currency Code toggle switch is turned off, the target's currency code is honored. The toggle switch is turned off, by default.
When you use a Load to Action type, there are various data load scenarios based on whether you are honoring source or target currency code. Apart from this, there are two other factors that impact each scenario. These scenarios are also impacted by the Load Operation being performed (Update/Upsert) and the mapping of Currency ISO code field.
If you select Update as the operation, only existing records are updated when a matching record is found. No new records are created. If you select Upsert as the Operation, the existing records are updated if a matching record is found. If no matching records are found, a new record is created.
The following table depicts scenarios when Source Currency Code is honored and Update is selected as the Operation type or when Upsert is selected but there are no new records to be created and only existing records need to be updated.
Scenario |
Current Values |
Values after ingestion |
|||
---|---|---|---|---|---|
Currency ISO Code Mapped? |
Create New Record or Update existing record? |
Existing value in Source (ARR) |
Existing value in Target (ARR) |
Value in Target Field (ARR) |
Description |
Yes |
Update |
100USD |
100GBP |
129.2 USD |
Target ARR value is converted to source ARR’s Currency code |
Yes |
Update |
100 |
100GBP |
100 GBP |
As Source ARR value does not have any ISO code, it is treated as a Number. |
Yes |
Update |
USD |
100GBP |
129.2 USD |
Source ARR does not have a value but has a currency code. In his case, Target ARR value is converted to source’s currency code. |
Yes |
Update |
100USD |
GBP |
100 USD |
Data is loaded directly from source to target and no conversion is done, since the target field does not have any value. |
No |
Update |
100GBP |
100GBP |
100 GBP |
ARR is considered to be a number |
The following table depicts scenarios when Source Currency Code is honored and Upsert Operation is selected. In these scenarios, new Records must be inserted for Upsert and hence the target Currency field does not have any initial values. Here Corporate Currency is INR.
Scenario |
Current Values |
Values after ingestion |
|||
---|---|---|---|---|---|
Currency ISO Code Mapped? |
Create New Record or Update existing record? |
Existing value in Source (ARR) |
Existing value in Target (ARR) |
Value in Target Field (ARR) |
Description |
Yes |
Insert |
100USD |
- |
100 USD |
Source value is directly inserted to target |
No |
Insert |
100 |
- |
100 INR |
Since Currency ISO Code is not mapped source value is inserted as is with Corporate Currency code. |
No |
Insert |
100USD |
- |
100 INR |
Since Currency ISO Code is not mapped source value is inserted as is with Corporate Currency code. |
Yes |
Insert |
100 |
- |
100 INR |
Since Source does not have a Currency code, Corporate Currency is considered for Target. |
The Following table demonstrates scenarios when Target is honored and only Update Operations must be performed. No new data to be inserted.
Scenario |
Current Values |
Values after ingestion |
|||
---|---|---|---|---|---|
Currency ISO Code Mapped? |
Create New Record or Update existing record? |
Existing value in Source (ARR) |
Existing value in Target (ARR) |
Value in Target Field (ARR) |
Description |
Yes |
Update |
100USD |
100GBP |
77.16 GBP |
Target ARR Currency code is honored and source ARR value is converted to target’s Currency code. |
Target ARR Currency code is honored and source ARR value is converted to target’s Currency code. |
Update |
100 |
100GBP |
100 |
As the source does not have any currency code. ARR is treated as Number Data type. |
As the source does not have any currency code. ARR is treated as Number Data type. |
Update |
USD |
100GBP |
100GBP |
Target value is retained. |
No |
Update |
100USD |
100GBP |
100 |
Target value is considered as a number since Currency ISO code is not mapped. |
No |
Update |
100 |
100GBP |
100 |
Target value is considered as a number since Currency ISO code is not mapped. |
The Following table demonstrates scenarios when Target is honored and only Insert Operations must be performed. Here the Corporate Currency is INR.
Scenario |
Current Values |
Values after ingestion |
|||
---|---|---|---|---|---|
Currency ISO Code Mapped? |
Create New Record or Update existing record? |
Existing value in Source (ARR) |
Existing value in Target (ARR) |
Value in Target Field (ARR) |
Description |
Yes |
Create |
100USD |
100USD |
New value ingested directly to target. | |
New value ingested directly to target. |
Create |
100 |
100INR |
Since source ISO code is not present, Corporate Currency is considered and source value is inserted with corporate currency code. | |
Since source ISO code is not present, Corporate Currency is considered and source value is inserted with corporate currency code. |
Create |
100 |
100INR |
Since ISO code is not mapped, Corporate Currency is considered. | |
Since ISO code is not mapped, Corporate Currency is considered. |
Create |
100USD |
100INR |
Since ISO code is not mapped, Corporate Currency is considered. |
Call To Action 2.0 Action Type
Multi-Currency feature is applicable only to those CTA Types in which the Currency ISO Code field is included in the CTA Detail View Layout. You can create CTAs for these CTA types (from Rules Engine), by defining a specific Currency. Corporate Currency is applicable to those CTA Types for which the Currency ISO Code field is not included in the CTA Detail View Layout.
Gainsight provides you with two options to use the Multi Currency feature in the Call to Action 2.0 Action type; Static and Dynamic.
Note: You must include the Currency ISO Code field in the CTA Detail View Layout Configuration section, irrespective of the option you are using.
Static Option
With this option, the Dataset does not have any Currency data type fields or the Currency ISO Code field. You must manually map Currency ISO Code and other Currency Data type fields in the Call to Action 2.0 page, after selecting the respective CTA Type. Since there is no Currency value present in the Dataset, you must manually enter the value for the Currency Data type field and select the Currency code from the Currency ISO code field.
In the following image, the Potential Upsell ARR field is a Currency Data type field. This field is added to the Detail View Layout Configuration section. You can configure this field with static values, by selecting the Custom Field Value option for this field.
Select the Custom Field Value option for the Currency ISO Code field to select a Currency code.
In the above scenario, if you select INR, the Potential Upsell ARR field value would be INR 3000, for all the CTAs created by this rule.
Dynamic Option
In the Dynamic option, values are fetched from the Dataset as well. The source Dataset has the Currency Data type fields and also the Currency ISO code field. With the dynamic option, you can configure the rule such that when a new CTA is created by the rule, the values for the Currency data type fields in the CTA can be dynamically assigned as run time, from the values present in the Dataset.
In the following image, Upsell ARR is a Currency data type field added to the Show section of the Dataset.
This field may have different values for each Company. You can now dynamically assign the value of this field to the CTAs of the respective companies.
When you configure the Call to Action 2.0 action type, you have an option to configure the settings such that the values from the Currency Data type field present in the Dataset can directly be ingested into the Currency Data type fields of the CTA.
In this example, the values from the Upsell ARR field can directly be ingested to the Potential Upsell ARR field dynamically during the rule execution.
Apart from dynamically selecting the values for Currency Data type fields, you can set the Currency ISO code field’s value dynamically.
In the above scenario, both Currency Data type field and Currency ISO code values are fetched from the Dataset for all the CTAs created by this rule.
Success Plan 2.0 Action Type
This action type functions the same as the Call to Action 2.0 Action Type. For more information, refer to the Call To Action 2.0 Action Type section.
Additional Resources
- Configure Multi-Currency Support
- Multi-Currency Impact on Cockpit and Success Plans
- Multi-Currency Impact on Cockpit (Horizon Experience)
- Multi-Currency Impact on 360
- Multi-Currency Impact on Connectors
- Multi-Currency Impact on Data Management
- Multi-Currency Impact on Email Assist
- Multi-Currency Impact on Journey Orchestrator
- Multi-Currency Impact on Renewal Center
- Multi-Currency Impact on Reporting
- Multi-Currency Impact on Sally and Company Intelligence
- Multi-Currency Impact on Scorecards
- Multi-Currency Impact on Surveys
- Multi-Currency Impact on X-Org Migration