Skip to main content
Gainsight Inc.

Multi-Currency Impact on Rules Engine

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.

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.

New.png

  • 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.

2..png

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.

3..png

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

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.

4..png  

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. 

5..png

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

6..png

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.

7. .png

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. 

8..png

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.

9..png

If you turn on this 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 this toggle switch is not 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. 

10..png

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.

11..png

Select the Custom Field Value option for the Currency ISO Code field to select a Currency code. 

12..png

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.

13..png

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.

14..png  

Apart from dynamically selecting the values for Currency Data type fields, you can set the Currency ISO code field’s value dynamically. 

15..png

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.