Note: This release is in preview. Features described here don’t become generally available until the latest general availability date that Salesforce announces for this release. Before then, and where features are noted as beta, pilot, or developer preview, we can’t guarantee general availability within any particular time frame or at all. Make your purchase decisions only on the basis of generally available products and features.
CurrencySettings
In the package manifest, all organization settings metadata types are accessed using the Settings name. See Settings for details.
File Suffix and Directory Location
CurrencySettings values are stored in the Currency.settings file in the settings directory. The .settings files are different from other named components because there's only one settings file for each settings component.
Version
CurrencySettings is available in API version 47.0 and later. The corporateCurrency and currency fields, and the deploy behavior for enableMultiCurrency, are available in API version 68.0 and later.
Fields
| Field Name | Field Type | Description |
|---|---|---|
| corporateCurrency | string | The ISO 4217 code of the org's corporate currency, such as USD or EUR. The corporate currency's conversion rate is fixed at 1.0; all other currencies are denominated against it. Setting this field in a deploy switches the org's corporate currency, which demotes the previously corporate currency and rebases conversion rates. The new corporate currency must already be registered in the org and be active. Has no effect unless enableMultiCurrency is true, either previously or in the same deploy. Available in API version 68.0 and later. |
| currency | Currency[] | One or more currency entries. New currencies are inserted; entries that match an existing currency by isoCode update its active, scale, and conversionRate values. Has no effect unless enableMultiCurrency is true, either previously or in the same deploy. See Currency Fields. Available in API version 68.0 and later. |
| enableCurrencyEffectiveDates | boolean | Indicates whether effective dated currency is enabled (true) or not (false). This field has a default value of false. To enable this preference, enableMultiCurrency must be set to true |
| enableCurrencySymbolWithMultiCurrency | boolean | Indicates whether the currency symbol (true) or ISO code (false) displays in multi-currency orgs. This field has a default value of false. This field has no effect if enableMultiCurrency is set to false. |
| enableMultiCurrency | boolean | Indicates whether multiple currencies are enabled (true) or not (false). This field has a default value of false. Starting in API version 68.0, deploying true against an org that doesn't have multi-currency enabled turns on multi-currency for the org. Deploying true against an org that already has multi-currency enabled is a no-op. When multi-currency is turned on, the corporate currency is taken from corporateCurrency if provided in the same deploy; otherwise it defaults to the org's locale-derived currency. |
| isMultiCurrencyActivationAllowed | boolean | Deprecated in API version 49.0 and later. Regardless of the value in this
field, a Salesforce admin can activate multiple currencies. In API version 48.0 and earlier, if Customizable Forecasting was enabled, this field indicated whether Salesforce Customer Support could activate multiple currencies (true) or the feature couldn't be activated (false). This field is only visible if
multiple currencies are disabled. It has a default of false to provide an extra layer of protection against accidentally
enabling multiple currencies when Customizable Forecasting was enabled. In API
version 48.0 and earlier, customers with Customizable Forecasting enabled in their
orgs had to contact Salesforce Customer Support to activate multiple currencies.
Customers set this field to true when
Salesforce Customer Support requested that they do so to validate their request to
activate multiple currencies.
|
| isParenCurrencyConvDisabled | boolean | Indicates whether parenthetical currency conversion is disabled (true) or enabled (false). This field has a default value of true. When this field is set to false, Salesforce displays converted currency amounts to users whose personal currency differs from the currency of the record they're viewing. |
Currency Fields
Represents one entry in the org's currency type list. Used as the element type of the CurrencySettings.currency collection. Available in API version 68.0 and later.
| Field Name | Field Type | Description |
|---|---|---|
| active | boolean | Indicates whether this currency is available for users to assign to records (true) or not (false). Inactive currencies can't be set as the corporate currency. Defaults to true for new currencies. Optional. |
| conversionRate | double | The conversion rate from this currency to the corporate currency. Must be 1.0 if this entry is the corporate currency. Required for new currencies. |
| isoCode | string | The currency's ISO 4217 code, such as USD, JPY, or EUR. The code must be one of the ISO codes that Salesforce supports; an unsupported code returns an error. Required. |
| scale | int | The number of decimal places to use for this currency. Valid values are 0 through 6. Optional. |
Declarative Metadata Sample Definition
The following is an example of a CurrencySettings file that turns on multi-currency and seeds two currencies.
1<?xml version="1.0" encoding="UTF-8"?>
2<CurrencySettings xmlns="http://soap.sforce.com/2006/04/metadata">
3 <enableMultiCurrency>true</enableMultiCurrency>
4 <corporateCurrency>USD</corporateCurrency>
5 <currency>
6 <isoCode>USD</isoCode>
7 <active>true</active>
8 <conversionRate>1.0</conversionRate>
9 <scale>2</scale>
10 </currency>
11 <currency>
12 <isoCode>JPY</isoCode>
13 <active>true</active>
14 <conversionRate>110.0</conversionRate>
15 <scale>0</scale>
16 </currency>
17 <enableCurrencyEffectiveDates>false</enableCurrencyEffectiveDates>
18 <enableCurrencySymbolWithMultiCurrency>false</enableCurrencySymbolWithMultiCurrency>
19 <isParenCurrencyConvDisabled>false</isParenCurrencyConvDisabled>
20</CurrencySettings>1<?xml version="1.0" encoding="UTF-8"?>
2<Package xmlns="http://soap.sforce.com/2006/04/metadata">
3 <types>
4 <members>Currency</members>
5 <name>Settings</name>
6 </types>
7 <version>47.0</version>
8</Package>Wildcard Support in the Manifest File
The wildcard character * (asterisk) in the package.xml manifest file doesn’t apply to metadata types for feature settings. The wildcard applies only when retrieving all settings, not for an individual setting. For details, see Settings. For information about using the manifest file, see Deploying and Retrieving Metadata with the Zip File.