Packaged Currencies settings are configured in the Developer Console and included in the published application version. Currency behavior must be understood by property: Home Currency is non-editable and non-upgradable, newly added currencies can become available to existing subscribers after upgrade, and edits to existing currency settings do not propagate to existing subscriber organizations.
The following table explains the upgrade behavior of an existing packaged Currency settings that are already deployed in the subscriber's organization.
Version scenarios
Case 1: Publish a version with Home Currency already set
Assume in version 1.0 you set Home Currency = INR and publish. In this case:
- Subscribers who sign up for version 1.0 get INR as Home Currency in their vertical application organization.
- Subscribers cannot change Home Currency from INR to another currency in their organization because Home Currency is Non-Editable.
- The developer also cannot later change Home Currency from INR to another currency for that packaged component.
This is what Non-Editable means for Home Currency. Once deployed, neither the developer nor subscribers can modify it.
Case 2: Existing subscriber already set a Home Currency before the developer adds one
Assume an existing subscriber organization was already using its own Home Currency before you set Home Currency in the Developer Console. You then add Home Currency in a later version and publish, and that subscriber upgrades.
The existing subscriber keeps the Home Currency already configured in the subscriber organization. The Home Currency you added later in the Developer Console does not overwrite the subscriber's existing Home Currency during upgrade.
New subscribers who sign up for that later version receive the Home Currency packaged in that version at signup.
Case 3: Add new currencies and publish
When you add new currencies in the Developer Console and publish a later version, those newly added currencies are available to new subscribers at signup. They also become available in existing subscriber organizations after upgrade.
If a currency you add in the Developer Console already exists in an existing subscriber organization, that existing currency is not updated or replaced during upgrade. Other newly added currencies that do not conflict are pushed and become available.
Example: A subscriber organization already has INR as Home Currency. In the Developer Console, Home Currency is USD, and you add INR as an additional currency, publish, and upgrade that subscriber. The subscriber's existing INR setup remains unchanged. Only other newly added non-conflicting currencies are pushed.
Case 4: Edit an existing currency and publish
Assume a subscriber updates one of the available currencies in the subscriber organization, and you also edit that same currency in the Developer Console and publish a new version.
Those developer-side edits are not reflected for existing subscribers after upgrade. Existing subscribers keep their current currency values, including any subscriber-side changes already made in their organization.
New subscribers who sign up for the latest version receive the packaged values from that version.
Case 5: Subscriber editability and next-version behavior
For settings marked Developer and Subscriber Editable such as currency format, subscribers can make local changes in their organization where access is available. Those subscriber-side changes remain local and are not overwritten by the next version upgrade.
For settings marked Developer Only such as additional currency definitions and exchange-rate format, subscribers cannot edit those settings.
Case 6: Paid version availability
Home Currency is available across all application versions. However, multiple currencies are not available for trial versions. Multiple currencies are available only for paid versions.
Case 7: Subscriber already at active-currency limit
If a subscriber organization already has 25 active currencies, additional currencies added later in the Developer Console are not added to that subscriber organization during upgrade.
In this case, the subscriber must reduce active currencies first, if supported by the feature flow, before additional currencies can be applied.