Loading
Salesforce now sends email only from verified domains. Read More

Multi-Currency in Salesforce CPQ

Publish Date: Dec 30, 2025
Description
When Multiple Currencies are Activated in a Salesforce environment, Salesforce CPQ can be used to create Quotes and calculate pricing using the enabled currencies. The following managed Salesforce CPQ objects support Salesforce multi-currency functionality.
  • Quotes & Quote Lines
  • Block Prices
  • Price Dimensions (MDQ)
  • Discount Schedules
  • Cost Priced Products
  • Contracted Prices (when discounting by amount)
  • Subscriptions
  • Contract Line Items (Service Cloud for CPQ)
  • Consumption Schedule
Resolution

Creating Quotes
When a new Quote is created or edited the Quote's Currency field can be used to determine what currency this Quote should be restricted to. However, the currency on primary quotes must match the opportunity's currency.  

  1. For Primary Quotes created in Classic via the New Quote action on the Quote related list for the Opportunity, the Opportunity Currency is used when the New Quote is created regardless of what value a user chooses for the Quote's Currency field.
  2. For Quotes created in Lightning, users receive a validation error when trying to save a Primary Quote where the Quote Currency does not match the Opportunity Currency. Users need to confirm these values match.
  3. For Quotes that are not marked as primary on creation, the currency of the Quote will align with the currency of the User from which the Quote was created.

NOTE: If you would like non-primary quotes to always align with the Opportunity, you can build a flow or process builder to align the currency upon Quote creation.

MDQ Product Price Dimensions
When Multiple Currencies are activated MDQ Products must have a Price Dimension record for each currency. If a Price Dimension record does not exist for the selected currency on the quote, the MDQ Product will not be saved as a quote line after selection.

  1. Navigate to an MDQ Product's Price Dimension related list and click New
  2. Create a Price Dimensions for each of your available Currencies


NOTE: You cannot have multiple time-based Price Dimensions for the same Currency. However, you can have a One-Time Price Dimension and a single time-based Price Dimension (Year, Quarter, Month, or Custom) defined for each Currency. 

Discount Schedules
When Multiple Currencies are activated, the Currency field on the Discount Schedule does not impact how Discount Schedules are applied. Discount Schedules with Discount Unit set to Percent will be applied to Quote Lines regardless of the quoted currency. However, for Discount Schedules with Discount Unit set to Amount the Discount Schedule will not be applied unless a Discount Tier exists for the Quote's Currency. 

  1. Navigate to an Amount Discount Schedule's Discount Tiers related list and click the Edit Tiers action
  2. Observe that a Discount field appears for each enabled Currency.
  3. Add values for the newly added currencies and click Save
  4. Navigate back to the Discount Tiers related list and observe that a Discount Tier record was created for each currency value. 


NOTE: Best Practice is to use the Edit Tiers action to add additional Discount values for each new currency. You must enter a Discount Amount for every currency on each Discount Tier. 

Contracted Pricing
When Multiple Currencies are activated, the Currency field on Contracted Prices does not impact how Discounts or Discount Schedules are applied. However, for Contracted Prices with a Price value, the Quote's Currency value will have to match the Contracted Price's Currency value in order for the Contracted Price to be applied to the Quote Line. If a Contracted Price does not exist for the quoted Currency, a Contracted Price will not be applied. 

Cost Priced Products
When Multiple Currencies are activated products with the Pricing Method set to Cost must have a Cost record for each currency. If a Cost record does not exist for the Quote's Currency, the Cost Product will be available in Product Selection and Configuration, however once added to the Quote there will be no Cost record associated with the Quote Line and the product will not be priced correctly. 

  1. Navigate to a Cost Price Product's Cost related list and click the New action
  2. Add values for the newly added currencies and click Save
  3. Navigate back to the Cost related list and observe that a Cost record was created for each currency value.


Consumption Schedule

  1. When Multiple Currencies are activated Consumption Schedules must have a Consumption Rate record for each currency. If a Consumption Rate record does not exist for the Quote Currency, the Quote Line Consumption Schedule will not be available in the Quote Line Editor or in the Quote Line record's Quote Line Consumption Schedule related list.
    • Navigate to Product Consumption Schedule's Consumption Rate related list
    • Create a Consumption Rate for each newly enabled Currency
  2. Enabling Multi-Currency in an Org changes the decimal precision for currency fields such as Consumption Rate Price. The Consumption Rate Price field changes from (11,2) to (11,7) when this feature is enabled.



Considerations:

  • The Product Option Object DOES NOT support Salesforce multi-currency functionality.  Make due consideration of this when using the Unit Price field on the Product Option Object. 
  • The Salesforce CPQ Pricing and Calculation setting for Unit Price Scale allows fractional unit prices to round off to the number of decimals defined in this package setting. Salesforce CPQ's currency formula fields display according to the decimal places defined in the Currency Management page, but currency formula fields evaluate and round based on the field level precision.
  • When using advanced currency management, note that dated exchange rates are only used for Opportunities and certain related objects, as described in the About Advanced Currency Management article. In other words, if your default currency is USD and you have an Opportunity/Quote in GBP, your Quote Lines are priced using the GBP price book entries. They will not take the USD price book entries and apply an exchange rate to arrive at the GBP price.
  • Currency Formula Fields use the Decimal Precision for the Currency defined here: Setup > Manage Currencies > Edit the selected currency > Decimal Places
    • NOTE: Available for orgs in Multi-currency settings to override Unit Price Scale set in the CPQ package settings.
  • Forecast Tabs are unable to leverage dated exchange rates in their calculations, which can lead to numerical discrepancies.


SEE ALSO

Knowledge Article Number

000383453

 
Loading
Salesforce Help | Article