Currency Management Exchange rate automation.
Currency Management Application
An application that automates exchange rate maintenance for any Salesforce organization. This application is needed because Salesforce does not natively allow for any automated processes to be performed on the standard Currency objects.
Maintenance of exchange rates may be important for global enterprises that seek to align their CRM with their other systems & platforms, which may or may not be directly integrated with Salesforce. Administrators certainly have the authority to maintain currency data in Salesforce but the task may become monotonous over time and can be overlooked, which can cause discrepancies between the CRM and other systems that utilize exchange rates.
Our Exchange Rate Platforms
You've probably heard that the data in your CRM system is only as good as where you source that data from. So we give you options.
Third Party APIs
- Currency Layer
- 168 ISO Codes
- Updated Hourly
- Free & Paid versions
- European Central Bank
- 33 ISO Codes
- Updated on Busines Days Only ~ 4PM CET
- Open Exchange Rates
- 171 ISO Codes
- Updated Hourly
- Free & Paid versions
- 164 ISO Codes
- Update frequency depends on subscription plan
- Paid version only
There may be pros and cons to each one depending on your specific needs but that's why we give you options here. Don't see a vendor that you would really prefer to use. Let us know. We'll hook it up as fast as we can.
Rate Platform Configuration
The European Central Bank (ECB) requires no API key and is free to use.
Xignite requires an API key and has costs associated with it. Sign up directly with Xignite to get your API key.
Currency Layer & Open Exchange Rates have a free/developer API key, which we have already configured within the app. Select the "Currency Layer" OR "Open Exchange Rates" options for this version of their API.
If you have your own API key for either platform then be sure to choose the "Currency Layer (Key)" OR "Open Exchange Rates (Key)" values from the platform name list. This will display an "API Key" field in the page where you can populate your personal key.
Platform API Validation
After selecting the exchange rate platform you would prefer to use from the picklist, click the "Validate Platform" button. This will make an API callout to the selected platform and show you the exchange rates for all of the ISO Codes in your Salesforce Org.
We track two primary components for API suitability. First we need to make sure that the application can communicate with the platform API selection. Second, we need to make sure that the platform has exchange rates for all of the ISO codes you are using.
API Access Validation
The designation for whether or not the API even works is noted at the top right-hand side of the page. If the app can interact with the API then you will see the "API Access" designation in green. If there is an error you will see this designation in red.
ISO Code Validation
The "Your Currencies" section of the page identifies whether all of the ISO codes you are using can be found in the platform API response you selected. If there is a problem finding one or more of the ISO codes then this designation will be red. If everything looks good then the section will be green.
Exchange Rate Update Schedule
Schedule the application to run when it makes the most sense for your business.
Choose how often you want your exchange rates updated and the exact time you prefer the updates to occur.
- Every Day
- Monday - Sunday.
- First Day of Every Month
- The first day of the month regardless of the day of the week.
- First Day of Every Quarter
- The first day of the quarter regardless of the day of the week.
- First Day of Every 6 Months
- The first day of the 6 month period regardless of the day of the week.
- Every Monday
- Mondays Only.
- Every Wednesday
- Wednesdays Only.
- Every Friday
- Fridays Only.
- Every Sunday
- Sundays Only.
- Last Day of Every Month
- The last day of the month regardless of the day of the week.
- Last Day of Every Quarter
- The last day of the quarter regardless of the day of the week.
- Last Day of Every 6 Months
- The last day of the 6 month period regardless of the day of the week.
- Every Weekday
- Monday - Friday.
- First Weekday of Every Month
- The nearest weekday to the beginning of the month. For example, if the first day of the month is on a Saturday, the exchange rates will be updated on the following Monday or the third (3) day of the month.
- First Weekday of Every Quarter
- The nearest weekday to the beginning of the quarter.
- First Weekday of Every 6 Months
- The nearest weekday to the beginning of the 6 month period.
- Every Tuesday
- Tuesdays Only.
- Every Thursday
- Thursdays Only.
- Every Saturday
- Saturdays Only.
- First Day of Every Month
- The first day of the calendar month regardless of the day of the week.
- Last Weekday of Every Month
- The nearest weekday to the end of the month. For example, if the last day of the month is on a Sunday, the exchange rates will be updated on the previous Friday or three days before the last day of the month.
- Last Weekday of Every Quarter
- The nearest weekday to the end of the quarter.
- Last Weekday of Every 6 Months
- The nearest weekday to the end of the 6 month period.
The Hour options are provided in a universal 24 hour format. Minute options are in a universal 60 minute format.
- Early Hour Options
- 00 = 12:00 am
- 01 = 1:00 am
- 02 = 2:00 am
- 03 = 3:00 am
- 04 = 4:00 am
- 05 = 5:00 am
- 06 = 6:00 am
- 07 = 7:00 am
- 08 = 8:00 am
- 09 = 9:00 am
- 10 = 10:00 am
- 11 = 11:00 am
- Late Hour Options
- 12 = 12:00 pm
- 13 = 1:00 pm
- 14 = 2:00 pm
- 15 = 3:00 pm
- 16 = 4:00 pm
- 17 = 5:00 pm
- 18 = 6:00 pm
- 19 = 7:00 pm
- 20 = 8:00 pm
- 21 = 9:00 pm
- 22 = 10:00 pm
- 23 = 11:00 pm
All times (formatting and locale) are based upon the person configuring the application.
Email notifications can be configured so that multiple email addresses are notified when the process fails or succeeds (or both).
|Success||If checked and the application successfully updates all exchange rates then an email will be sent to the address listed in the "Email Address" field.|
|Failure||If checked and the application fails to update all exchange rates then an email will be sent to the address listed in the "Email Address" field.|
|Email Address||One or more email addresses that will receive notifications from the Currency Management Application. Multiple emails should be separated by a semicolon (;).|
Audit Log Tracking
All API interactions are tracked so that you can see what is changing and when it is happening.
|Platform||The third party exchange rate vendor from which the exchange rate was retrieved.|
|Currencies||The number of ISO currencies that were updated during application processing.|
|Date||The date/time that the application was run.|
|Duration||The amount of time that it took to process the logic from start to finish in the format hours : minutes : seconds.|
The result of the processing logic.
Log Removal Settings
Audit logs are not meant to be kept forever. The application will remove logs after they have been in the system for a period of time that has been configured by you.
By default the application will keep log records for one year.
The best made plans can sometimes fail. Automated technology solutions are no exception.
Any number of things may happen and cause the exchange rates to not process as expected. Don't worry though. We've anticipated this and the applications is setup to re-process exchange rates that fail for up to five hours from the scheduled start time.
By default the application will attempt to process failures for up to 2 hours. Feel free to change this setting as you see fit.
Should the application have some unprocessed ISO codes after the time span has been exceeded, a link reading "Re-Run" will be displayed within the logs area of the display. Click the link to re-process failed rates.
Salesforce prevents updating the standard and dated exchange rates from Apex directly. Therefore, we rely on a webserver to handle all the exchange rate processing with your Salesforce organization.
Conceptually, it is pretty simple:
- A batch job is kicked off within your Salesforce org
- Your Salesforce org sends a request to our web server to update your exchange rates
- Our webserver pushes those updates to Salesforce on your behalf
It's that last bullet that makes things tricky. Salesforce simply will not let us push exchange rates to your org without your consent. OAuth 2.0 is how you provide that consent and it is trusted by Salesforce.