3

The SF documentation on multiple currencies says this

"When you change the default currency of a record, currency amounts are not converted; they simply display with the new currency code".

Does that mean that changing the default record currency will not convert the amount? that is to say: if initially the value of revenue for an account was USD 100, if I change the record currency to EUR. It will say EUR 100 instead of converting USD to EUR?

Is this is true it is very incorrect and of no use!!

2
  • can u please provide the doc link which you are referring to .. Commented Mar 31, 2015 at 4:03
  • This is the reference to the documentation - help.salesforce.com/…
    – human
    Commented Mar 31, 2015 at 4:17

2 Answers 2

2

Actually, I'm pretty sure this is intentional. The system makes no assumption about what the user meant to input. Automatic conversion might result in incorrect values. The user should be responsible for updating the value, if it's appropriate.

Uses that are primarily single currency are just trying to fix a unit error, and users with multiple currencies would probably choose to update the value accordingly without system assistance. It's unreasonable to assume a default position that users made two simultaneous input errors. If the current changed the payment, for example, the user would have entered the new value.

0

In fact what this documentation says is only true depending on the way the change is done! If the update also specifies the amount, the amount is not changed. (This is the case for a normal edit over the layout)

Example: 100 USD --> 100 EUR (The user only changes the Opportunity Currency from USD to EUR, but the Amount is on the layout and therefore contained in the update)

However, when the update does not explicitly contain the Amount field, the amount will be adapted. There are two ways to try this. Dataloader or "Execute Anonymous" via Dev Console. For the latter just type

update new Opportunity(Id = '*18digit ID of an Opportunity with USD Currency*', CurrencyIsoCode = 'EUR');

The amount will change accordingly.

update new Opportunity(Id = 'xxxxxxxxxxxxxxxxxx', CurrencyIsoCode = 'EUR', Amount = 100);

won't adapt the Amount.

I was not able to find even a shred of documentation to support this.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .