{"id":16,"date":"2023-12-15T21:43:11","date_gmt":"2023-12-15T21:43:11","guid":{"rendered":"https:\/\/www.mycompanylist.com\/blog\/?p=16"},"modified":"2025-07-01T01:42:06","modified_gmt":"2025-07-01T01:42:06","slug":"currency-exchange-rate-sync-installation-guide","status":"publish","type":"post","link":"https:\/\/www.mycompanylist.com\/blog\/salesforce-app\/currency-exchange-rate-sync-installation-guide\/","title":{"rendered":"Currency Exchange Rate Sync Installation Guide"},"content":{"rendered":"\n<svg style=\"max-width:100%;border:1px solid transparent;display:block\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" xmlns:xlink=\"http:\/\/www.w3.org\/1999\/xlink\" version=\"1.1\" width=\"591px\" height=\"371px\" viewBox=\"-0.5 -0.5 591 371\" content=\"&lt;mxfile host=&quot;app.diagrams.net&quot; modified=&quot;2023-12-15T21:39:44.929Z&quot; agent=&quot;Mozilla\/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/119.0.0.0 Safari\/537.36&quot; etag=&quot;iLZVPNMbHPTHbcK-OZtT&quot; version=&quot;22.1.11&quot; type=&quot;device&quot;&gt;&lt;diagram name=&quot;Page-1&quot; id=&quot;gx_c62jeVLpQA9eySits&quot;&gt;5VjbcpswEP0aHuPhYnx5jC9x0nFn0vghTd9kkEGNQEQI2+TruzICjIHEbuK4M30x6EhaSeesdtdo1jjYzjiK\/O\/MxVQzdXerWRPNNA1jMISHRNIMGfasDPA4cdWgEliQV6xAXaEJcXFcGSgYo4JEVdBhYYgdUcEQ52xTHbZitLpqhDxcAxYOonX0kbjCz9CBrZf4LSaen69s6KonQPlgBcQ+ctlmD7KmmjXmjInsLdiOMZXk5bxk825aeouNcRyKYya82D9mQSxeh7YZr8SSil\/b5ZWyskY0UQfWzB4Fe6MVA7Owa5EqKnovCcs7ruKdUNcwwOhFIPao7Ic3Tz4XwGG8YtzBuUnYW2Y1G6BoKRYwOUtCF8vt6tC98YnAiwg5sncD3gWYLwIKLaOYvX\/8\/CyYC7zdgxQdM8wCLHgKQwrvVNJsSmWNnsL8PVWtvgKR8iavsFUSDi+K8xP4N8\/HP4pIJ0gdFkQoTCmJRQfe\/1Up7PzaqDBh9Dt2TRtTb9DmbNJ0a6RgF0KDajIufOaxENFpiY6qtJVj5oxFiqzfWIhUxTmUCFalEhjk6U81f9d4kg0gQzUn2\/3OSaparRLELOEOfuOYKhwLxD0s3vdUycGbgnJMkSDravj8dHEGlxWn1OOpIselxOlfSpzr6WA2eyTr9bx\/y4U9D4wn\/hlJxWwJandhDDHl2Cgm+ZijJZQkFR0RJV4I7w7ogTkAMk4RyPnXqiMgrpu5DIY9oeXOnlQyYiQUO7rskWZPijVrga4oSNTksgzYd4N2124NlFd6xzTyNVSwzAk\/Wl1l\/V6epjR9YNWuzmerVQw+eOgbxQ7\/\/i5b58uBE0SoJG\/h+NhNKFx+U\/\/GlpoU4wZ+Rwl9lg\/kPK+I3OmRfkUp1J\/4SzKjadkVWXods54ZjX5DZhyaHbvdBz4UfvvnlEzsZBqzEEiKCQuh8QCgfGCHcTc+vYgxvkaq7kER0z2yvhx8Qg3TGInr5eUDjqU+1\/d3NbrglOJ8gVKm00z+nelYcPaMx4wysDsJWSityDt4ALXG15pSrbJ0jeoNMgc1VZquj3UuUS5SWDYWCO8WJY37P6kouVQNcsakopLGBFMsjv5ve2LK+JDDH6aMwr2\/JmM06mHX9Mj5+0+ikGVUy6tCpD1RGr89nB6GoFl+VsqqtPLjnDX9Aw==&lt;\/diagram&gt;&lt;\/mxfile&gt;\" style=\"background-color: rgb(255, 255, 255);\"><defs\/><g><rect x=\"0\" y=\"0\" width=\"160\" height=\"370\" fill=\"rgb(255, 255, 255)\" stroke=\"rgb(0, 0, 0)\" pointer-events=\"all\"\/><g transform=\"translate(-0.5 -0.5)\"><switch><foreignObject pointer-events=\"none\" width=\"100%\" height=\"100%\" requiredFeatures=\"http:\/\/www.w3.org\/TR\/SVG11\/feature#Extensibility\" style=\"overflow: visible; text-align: left;\"><div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\" style=\"display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 185px; margin-left: 1px;\"><div data-drawio-colors=\"color: rgb(0, 0, 0); \" style=\"box-sizing: border-box; font-size: 0px; text-align: center;\"><div style=\"display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;\"><font style=\"font-size: 16px;\">Salesforce<\/font><\/div><\/div><\/div><\/foreignObject><text x=\"80\" y=\"189\" fill=\"rgb(0, 0, 0)\" font-family=\"Helvetica\" font-size=\"12px\" text-anchor=\"middle\">Salesforce<\/text><\/switch><\/g><rect x=\"390\" y=\"17.5\" width=\"200\" height=\"70\" fill=\"rgb(255, 255, 255)\" stroke=\"rgb(0, 0, 0)\" pointer-events=\"all\"\/><g transform=\"translate(-0.5 -0.5)\"><switch><foreignObject pointer-events=\"none\" width=\"100%\" height=\"100%\" requiredFeatures=\"http:\/\/www.w3.org\/TR\/SVG11\/feature#Extensibility\" style=\"overflow: visible; text-align: left;\"><div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\" style=\"display: flex; align-items: unsafe center; justify-content: unsafe center; width: 198px; height: 1px; padding-top: 53px; margin-left: 391px;\"><div data-drawio-colors=\"color: rgb(0, 0, 0); \" style=\"box-sizing: border-box; font-size: 0px; text-align: center;\"><div style=\"display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;\"><font style=\"font-size: 16px;\">api.mycompanylist.com<\/font><\/div><\/div><\/div><\/foreignObject><text x=\"490\" y=\"56\" fill=\"rgb(0, 0, 0)\" font-family=\"Helvetica\" font-size=\"12px\" text-anchor=\"middle\">api.mycompanylist.com<\/text><\/switch><\/g><path d=\"M 295 52.6 L 342.5 52.6 L 383.63 52.51\" fill=\"none\" stroke=\"rgb(0, 0, 0)\" stroke-miterlimit=\"10\" pointer-events=\"stroke\"\/><path d=\"M 388.88 52.5 L 381.89 56.02 L 383.63 52.51 L 381.87 49.02 Z\" fill=\"rgb(0, 0, 0)\" stroke=\"rgb(0, 0, 0)\" stroke-miterlimit=\"10\" pointer-events=\"all\"\/><path d=\"M 210 98.75 L 210 133.63\" fill=\"none\" stroke=\"rgb(0, 0, 0)\" stroke-miterlimit=\"10\" pointer-events=\"stroke\"\/><path d=\"M 210 138.88 L 206.5 131.88 L 210 133.63 L 213.5 131.88 Z\" fill=\"rgb(0, 0, 0)\" stroke=\"rgb(0, 0, 0)\" stroke-miterlimit=\"10\" pointer-events=\"all\"\/><g transform=\"translate(-0.5 -0.5)\"><switch><foreignObject pointer-events=\"none\" width=\"100%\" height=\"100%\" requiredFeatures=\"http:\/\/www.w3.org\/TR\/SVG11\/feature#Extensibility\" style=\"overflow: visible; text-align: left;\"><div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\" style=\"display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 120px; margin-left: 231px;\"><div data-drawio-colors=\"color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); \" style=\"box-sizing: border-box; font-size: 0px; text-align: center;\"><div style=\"display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;\"><font style=\"font-size: 12px;\">Insert<\/font><\/div><\/div><\/div><\/foreignObject><text x=\"231\" y=\"124\" fill=\"rgb(0, 0, 0)\" font-family=\"Helvetica\" font-size=\"11px\" text-anchor=\"middle\">Insert<\/text><\/switch><\/g><ellipse cx=\"210\" cy=\"52.5\" rx=\"85\" ry=\"46.25\" fill=\"rgb(255, 255, 255)\" stroke=\"rgb(0, 0, 0)\" pointer-events=\"all\"\/><g transform=\"translate(-0.5 -0.5)\"><switch><foreignObject pointer-events=\"none\" width=\"100%\" height=\"100%\" requiredFeatures=\"http:\/\/www.w3.org\/TR\/SVG11\/feature#Extensibility\" style=\"overflow: visible; text-align: left;\"><div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\" style=\"display: flex; align-items: unsafe center; justify-content: unsafe center; width: 168px; height: 1px; padding-top: 53px; margin-left: 126px;\"><div data-drawio-colors=\"color: rgb(0, 0, 0); \" style=\"box-sizing: border-box; font-size: 0px; text-align: center;\"><div style=\"display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;\"><font style=\"font-size: 16px;\">Daily Scheduled Job \/ Bulk Backfill<\/font><\/div><\/div><\/div><\/foreignObject><text x=\"210\" y=\"56\" fill=\"rgb(0, 0, 0)\" font-family=\"Helvetica\" font-size=\"12px\" text-anchor=\"middle\">Daily Scheduled Job \/ Bulk B&#8230;<\/text><\/switch><\/g><rect x=\"130\" y=\"140\" width=\"160\" height=\"80\" rx=\"12\" ry=\"12\" fill=\"rgb(255, 255, 255)\" stroke=\"rgb(0, 0, 0)\" pointer-events=\"all\"\/><g transform=\"translate(-0.5 -0.5)\"><switch><foreignObject pointer-events=\"none\" width=\"100%\" height=\"100%\" requiredFeatures=\"http:\/\/www.w3.org\/TR\/SVG11\/feature#Extensibility\" style=\"overflow: visible; text-align: left;\"><div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\" style=\"display: flex; align-items: unsafe center; justify-content: unsafe center; width: 158px; height: 1px; padding-top: 180px; margin-left: 131px;\"><div data-drawio-colors=\"color: rgb(0, 0, 0); \" style=\"box-sizing: border-box; font-size: 0px; text-align: center;\"><div style=\"display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;\"><font style=\"font-size: 16px;\">Dated Conversion Rate Records<\/font><\/div><\/div><\/div><\/foreignObject><text x=\"210\" y=\"184\" fill=\"rgb(0, 0, 0)\" font-family=\"Helvetica\" font-size=\"12px\" text-anchor=\"middle\">Dated Conversion Rate Reco&#8230;<\/text><\/switch><\/g><rect x=\"305\" y=\"28\" width=\"70\" height=\"30\" fill=\"none\" stroke=\"none\" pointer-events=\"all\"\/><g transform=\"translate(-0.5 -0.5)\"><switch><foreignObject pointer-events=\"none\" width=\"100%\" height=\"100%\" requiredFeatures=\"http:\/\/www.w3.org\/TR\/SVG11\/feature#Extensibility\" style=\"overflow: visible; text-align: left;\"><div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\" style=\"display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 43px; margin-left: 340px;\"><div data-drawio-colors=\"color: rgb(0, 0, 0); \" style=\"box-sizing: border-box; font-size: 0px; text-align: center;\"><div style=\"display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;\">Rest API<\/div><\/div><\/div><\/foreignObject><text x=\"340\" y=\"47\" fill=\"rgb(0, 0, 0)\" font-family=\"Helvetica\" font-size=\"12px\" text-anchor=\"middle\">Rest API<\/text><\/switch><\/g><path d=\"M 210 270 L 210 226.37\" fill=\"none\" stroke=\"rgb(0, 0, 0)\" stroke-miterlimit=\"10\" pointer-events=\"stroke\"\/><path d=\"M 210 221.12 L 213.5 228.12 L 210 226.37 L 206.5 228.12 Z\" fill=\"rgb(0, 0, 0)\" stroke=\"rgb(0, 0, 0)\" stroke-miterlimit=\"10\" pointer-events=\"all\"\/><ellipse cx=\"210\" cy=\"316.25\" rx=\"85\" ry=\"46.25\" fill=\"rgb(255, 255, 255)\" stroke=\"rgb(0, 0, 0)\" pointer-events=\"all\"\/><g transform=\"translate(-0.5 -0.5)\"><switch><foreignObject pointer-events=\"none\" width=\"100%\" height=\"100%\" requiredFeatures=\"http:\/\/www.w3.org\/TR\/SVG11\/feature#Extensibility\" style=\"overflow: visible; text-align: left;\"><div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\" style=\"display: flex; align-items: unsafe center; justify-content: unsafe center; width: 168px; height: 1px; padding-top: 316px; margin-left: 126px;\"><div data-drawio-colors=\"color: rgb(0, 0, 0); \" style=\"box-sizing: border-box; font-size: 0px; text-align: center;\"><div style=\"display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;\"><font style=\"font-size: 16px;\">Bulk Delete<\/font><\/div><\/div><\/div><\/foreignObject><text x=\"210\" y=\"320\" fill=\"rgb(0, 0, 0)\" font-family=\"Helvetica\" font-size=\"12px\" text-anchor=\"middle\">Bulk Delete<\/text><\/switch><\/g><rect x=\"201\" y=\"235\" width=\"60\" height=\"30\" fill=\"none\" stroke=\"none\" pointer-events=\"all\"\/><g transform=\"translate(-0.5 -0.5)\"><switch><foreignObject pointer-events=\"none\" width=\"100%\" height=\"100%\" requiredFeatures=\"http:\/\/www.w3.org\/TR\/SVG11\/feature#Extensibility\" style=\"overflow: visible; text-align: left;\"><div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\" style=\"display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 250px; margin-left: 231px;\"><div data-drawio-colors=\"color: rgb(0, 0, 0); \" style=\"box-sizing: border-box; font-size: 0px; text-align: center;\"><div style=\"display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;\">Delete<\/div><\/div><\/div><\/foreignObject><text x=\"231\" y=\"254\" fill=\"rgb(0, 0, 0)\" font-family=\"Helvetica\" font-size=\"12px\" text-anchor=\"middle\">Delete<\/text><\/switch><\/g><\/g><switch><g requiredFeatures=\"http:\/\/www.w3.org\/TR\/SVG11\/feature#Extensibility\"\/><a transform=\"translate(0,-5)\" xlink:href=\"https:\/\/www.drawio.com\/doc\/faq\/svg-export-text-problems\" target=\"_blank\" rel=\"noopener\"><text text-anchor=\"middle\" font-size=\"10px\" x=\"50%\" y=\"100%\">Text is not SVG &#8211; cannot display<\/text><\/a><\/switch><\/svg>\n\n\n\n<p><a href=\"https:\/\/appexchange.salesforce.com\/appxListingDetail?listingId=dcd1f827-e04c-4b04-8878-7d38eb33f060&amp;tab=d\">The &#8216;Currency Exchange Rate Sync&#8217; App<\/a> runs a daily sync of currency conversion rate data to your Salesforce instance, creating&nbsp;<code>DatedConversionRate<\/code>&nbsp;records for all of your enabled currencies. This is part of Salesforce&#8217;s&nbsp;<a href=\"https:\/\/help.salesforce.com\/s\/articleView?language=en_US&amp;id=sf.administration_about_advanced_currency_management.htm&amp;type=5\">Advanced Currency Management<\/a>&nbsp;feature, which makes reporting on the total Amount of Opportunities that closed at various times across various currencies seamless and accurate.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The steps for installation are as follows:<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><a href=\"#1-click-setup\" data-type=\"internal\" data-id=\"#1-click-setup\">1-Click Setup<\/a><\/li>\n\n\n\n<li><a href=\"#sources\" data-type=\"internal\" data-id=\"#sources\">Sources<\/a><\/li>\n\n\n\n<li><a href=\"#supported-currencies\" data-type=\"internal\" data-id=\"#supported-currencies\">Supported Currencies<\/a><\/li>\n\n\n\n<li><a href=\"#prerequisites\">Prerequisites<\/a><\/li>\n\n\n\n<li><a href=\"#installing_the_package\">Installing the Package<\/a><\/li>\n\n\n\n<li><a href=\"#setting_permissions\">Setting Permissions<\/a><\/li>\n\n\n\n<li><a href=\"#navigating_to_the_app\">Navigating to the App<\/a><\/li>\n\n\n\n<li><a href=\"#scheduling_the_data_sync\">Scheduling the Data Sync<\/a><\/li>\n\n\n\n<li><a href=\"#reporting\">Reporting<\/a><\/li>\n\n\n\n<li><a href=\"#possible_errors\">Possible Errors<\/a><\/li>\n\n\n\n<li><a href=\"#advanced_configuration\">Advanced Configuration<\/a><\/li>\n\n\n\n<li><a href=\"#faqs\">FAQs<\/a><\/li>\n\n\n\n<li><a href=\"#creating_a_support_ticket\">Creating a Support Ticket<\/a><\/li>\n\n\n\n<li><a href=\"#changelog\">Changelog<\/a><\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"1-click-setup\">1-Click Setup<\/h3>\n\n\n\n<p>Most people will be happy with the 1 click setup. Go to the Currency Exchange Rate Sync Record page and click &#8216;Daily&#8217; in the upper left. You can optionally do backfills and bulk deletes with a few more clicks.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"sources\">Sources<\/h3>\n\n\n\n<p>You have the ability to set which sources the exchange rate data is pulled from. The field takes a comma separated list of short source names. If you set the &#8216;Sources&#8217; field to &#8216;imf&#8217;, you will only get exchange rate data from the International Monetary Fund. If you set the &#8216;Sources&#8217; field to &#8216;imf,ecb&#8217;, you will get data from the International Monetary Fund, and the European Central Bank. Combining sources is sometimes necessary because not every source has every currency. <a href=\"https:\/\/www.mycompanylist.com\/blog\/api\/currency-exchange-rate-api-documentation\/#sources\">More info on sources<\/a>. <a href=\"https:\/\/api.mycompanylist.com\/v1\/exchangerate\/sources\">List of all sources<\/a>. The source that provides an exchange rate is a field in the API response body, which can be seen in HTTP Request Logs.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"supported-currencies\">Supported Currencies<\/h3>\n\n\n\n<p>The App supports 150 of <a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=sf.admin_supported_currencies.htm&amp;type=5\">the currencies supported by Salesforce<\/a>. <a href=\"https:\/\/www.mycompanylist.com\/blog\/api\/currency-exchange-rate-api-documentation\/#currencies\">More info on currencies<\/a>. <a href=\"https:\/\/api.mycompanylist.com\/v1\/exchangerate\/currencies\">List of all supported currencies<\/a>. There is over 20 years of historical data.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"prerequisites\">Prerequisites<\/h3>\n\n\n\n<p>In order to install, you will need to check the box&nbsp;<code>Activate Multiple Currencies<\/code>&nbsp;within&nbsp;<code>'Setup' -&gt; 'Company Information'<\/code>. Note that once Multiple Currencies is enabled, it cannot be disabled. If you are enabling advanced currency management for the first time, take note of&nbsp;<a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=sf.admin_enable_multicurrency_implications.htm&amp;type=5\">Considerations of Enabling Multiple Currencies<\/a>&nbsp;as well as&nbsp;<a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=sf.administration_about_advanced_currency_management.htm&amp;type=5\">About Advanced Currency Management<\/a>. As always, you are advised to work in a Sandbox before working in production.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full has-custom-border\"><img loading=\"lazy\" decoding=\"async\" width=\"855\" height=\"603\" src=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/activate_multiple_currencies_within_setup_company_information.png\" alt=\"\" class=\"has-border-color has-contrast-border-color wp-image-19\" style=\"border-width:1px\" srcset=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/activate_multiple_currencies_within_setup_company_information.png 855w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/activate_multiple_currencies_within_setup_company_information-300x212.png 300w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/activate_multiple_currencies_within_setup_company_information-768x542.png 768w\" sizes=\"auto, (max-width: 855px) 100vw, 855px\" \/><\/figure>\n\n\n\n<p>Under&nbsp;<code>'Setup' -&gt; 'Manage Currencies'<\/code>, be sure that&nbsp;<code>'Advanced Currency Management'<\/code>&nbsp;is enabled. This is the feature that allows different exchange rates at different dates as opposed to a single exchange rate for all time. Without it, Salesforce will not allow the insertion of <code>DatedConversionRate<\/code> records.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large has-custom-border\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"357\" src=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/enable_advanced_currency_management-1024x357.png\" alt=\"\" class=\"has-border-color has-contrast-border-color wp-image-20\" style=\"border-width:1px\" srcset=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/enable_advanced_currency_management-1024x357.png 1024w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/enable_advanced_currency_management-300x104.png 300w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/enable_advanced_currency_management-768x267.png 768w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/enable_advanced_currency_management.png 1229w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"installing_the_package\">Installing the Package<\/h3>\n\n\n\n<p>Go to <a href=\"https:\/\/appexchange.salesforce.com\/appxListingDetail?listingId=dcd1f827-e04c-4b04-8878-7d38eb33f060&amp;tab=d\">the AppExchange Page<\/a> and click &#8216;Get it Now&#8217;.<\/p>\n\n\n\n<p>You should choose&nbsp;<code>Install for Admins Only<\/code>. Otherwise, Salesforce will grant Create, View, Edit, Modify to both Custom Objects to all users. This means they will be able to see the App Configuration and the Logs and be able to make changes. The log records are not sensitive, but it is also not relevant to most Salesforce Users. There are two Permission Sets, Admin and a Read Only, which can be used for sharing permissions with non-Admin Users.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full has-custom-border\"><img loading=\"lazy\" decoding=\"async\" width=\"956\" height=\"640\" src=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/06\/Screenshot-2024-06-19-at-11.04.16\u202fAM.png\" alt=\"\" class=\"has-border-color has-contrast-border-color wp-image-157\" style=\"border-width:1px\" srcset=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/06\/Screenshot-2024-06-19-at-11.04.16\u202fAM.png 956w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/06\/Screenshot-2024-06-19-at-11.04.16\u202fAM-300x201.png 300w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2024\/06\/Screenshot-2024-06-19-at-11.04.16\u202fAM-768x514.png 768w\" sizes=\"auto, (max-width: 956px) 100vw, 956px\" \/><\/figure>\n\n\n\n<p>To install, press the&nbsp;<code>'Install'<\/code>&nbsp;button. A popup will come checking that you are okay to send or receive data from&nbsp;<code>'api.mycompanylist.com'<\/code>. This is because the Package makes API calls to this host in order to pull in the latest exchange rate data. Note that connections are SSL\/TLS encrypted.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full has-custom-border\"><img loading=\"lazy\" decoding=\"async\" width=\"650\" height=\"312\" src=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/package_installation_approve_thrid_party_access.png\" alt=\"\" class=\"has-border-color has-contrast-border-color wp-image-24\" style=\"border-width:1px\" srcset=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/package_installation_approve_thrid_party_access.png 650w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/package_installation_approve_thrid_party_access-300x144.png 300w\" sizes=\"auto, (max-width: 650px) 100vw, 650px\" \/><\/figure>\n\n\n\n<p>Check the box&nbsp;<code>'Yes, grant access to these third-party web sites'<\/code>, and press&nbsp;<code>'Continue'<\/code>. You should receive an email that the package was installed successfully. Press &#8216;<code>Done<\/code>&#8216; to finish the installation.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full has-custom-border\"><img loading=\"lazy\" decoding=\"async\" width=\"957\" height=\"1007\" src=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/app_installation_done-3.png\" alt=\"\" class=\"has-border-color has-contrast-border-color wp-image-68\" style=\"border-width:1px\" srcset=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/app_installation_done-3.png 957w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/app_installation_done-3-285x300.png 285w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/app_installation_done-3-768x808.png 768w\" sizes=\"auto, (max-width: 957px) 100vw, 957px\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"setting_permissions\">Setting Permissions<\/h4>\n\n\n\n<p>If the App is being run by a System Administrator, no assignment of Permission Sets is necessary. However, other users can be enabled to view and update the App configuration by assigning the following Permission Sets:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>Currency Exchange Rate Sync Read Only<\/code><\/li>\n\n\n\n<li><code>Currency Exchange Rate Sync Admin<\/code><\/li>\n<\/ul>\n\n\n\n<p>Even if a user is assigned &#8216;<code>Currency Exchange Rate Sync Admin<\/code>&#8216;, <strong>they will still need the System Permission &#8216;<code>Customize Application<\/code>&#8216; assigned to be able to create or delete <code>DatedConversionRate<\/code> records<\/strong>. Note that system permissions cannot be deployed in a managed package.<\/p>\n\n\n\n<p>Within Reports, there is a folder called &#8216;<code>Currency Conversion Rate Sync<\/code>&#8216;. If you are granting access to this App via Permission Sets, it also makes sense to share this Report Folder with the same people, either through User specific sharing, or Public Groups.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"navigating_to_the_app\">Navigating to the App<\/h4>\n\n\n\n<p>There will be a new item in the 9 circle App Navigation called &#8216;<code>Currency Exchange Rate Sync<\/code>&#8216;. Click it.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full has-custom-border\"><img loading=\"lazy\" decoding=\"async\" width=\"342\" height=\"264\" src=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/currency_exchange_rate_sync_navigation_item.png\" alt=\"\" class=\"has-border-color has-contrast-border-color wp-image-30\" style=\"border-width:1px\" srcset=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/currency_exchange_rate_sync_navigation_item.png 342w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/currency_exchange_rate_sync_navigation_item-300x232.png 300w\" sizes=\"auto, (max-width: 342px) 100vw, 342px\" \/><\/figure>\n\n\n\n<p>Navigate from &#8216;<code>Recently Viewed<\/code>&#8216; to the &#8216;<code>All<\/code>&#8216; List View.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full has-custom-border\"><img loading=\"lazy\" decoding=\"async\" width=\"698\" height=\"188\" src=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/navigate_to_all_listview.png\" alt=\"\" class=\"has-border-color has-contrast-border-color wp-image-31\" style=\"border-width:1px\" srcset=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/navigate_to_all_listview.png 698w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/navigate_to_all_listview-300x81.png 300w\" sizes=\"auto, (max-width: 698px) 100vw, 698px\" \/><\/figure>\n\n\n\n<p>An instance of the &#8216;<code>Currency Exchange Rate Sync<\/code>&#8216; App Object has been created during installation. This is an App configuration Object. There is only intended to be one record of this Object. Click on the only record.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full has-custom-border\"><img loading=\"lazy\" decoding=\"async\" width=\"645\" height=\"196\" src=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/currency_exchange_rate_sync_only_record.png\" alt=\"\" class=\"has-border-color has-contrast-border-color wp-image-32\" style=\"border-width:1px\" srcset=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/currency_exchange_rate_sync_only_record.png 645w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/currency_exchange_rate_sync_only_record-300x91.png 300w\" sizes=\"auto, (max-width: 645px) 100vw, 645px\" \/><\/figure>\n\n\n\n<p>The App should open up, and look a bit like this, if you don&#8217;t already have any <code>DatedConversionRate<\/code> records in Salesforce.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large has-custom-border\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"575\" src=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/app_no_data-1024x575.png\" alt=\"\" class=\"has-border-color has-contrast-border-color wp-image-33\" style=\"border-width:1px\" srcset=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/app_no_data-1024x575.png 1024w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/app_no_data-300x168.png 300w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/app_no_data-768x431.png 768w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/app_no_data-1536x862.png 1536w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/app_no_data.png 1959w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>You can take these actions:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Schedule \/ unschedule the Exchange Rate Data Sync<\/li>\n\n\n\n<li>Perform bulk backfills \/ deletes<\/li>\n\n\n\n<li>See errors that have occurred and optionally receive email alerts<\/li>\n\n\n\n<li>Visualize DatedConversionRate records<\/li>\n\n\n\n<li>Update App configuration and see configuration history<\/li>\n\n\n\n<li>See Logs of HTTP requests and emails<\/li>\n\n\n\n<li>Send a support ticket<\/li>\n<\/ul>\n\n\n\n<p>After running a backfill and scheduling a daily job, and hitting refresh on all the components, the App looks like this.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large has-custom-border\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"688\" src=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/currency_exchange_rate_sync_data_populated-1024x688.png\" alt=\"\" class=\"has-border-color has-contrast-border-color wp-image-76\" style=\"border-width:1px\" srcset=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/currency_exchange_rate_sync_data_populated-1024x688.png 1024w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/currency_exchange_rate_sync_data_populated-300x202.png 300w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/currency_exchange_rate_sync_data_populated-768x516.png 768w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/currency_exchange_rate_sync_data_populated-1536x1032.png 1536w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/currency_exchange_rate_sync_data_populated.png 1662w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Here are some things to notice:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>There is a value for &#8216;Previous Run&#8217; and &#8216;Total Runs&#8217; is 1 in the upper left &#8216;Currency Exchange Rate Sync&#8217;. This means the job has run once and is scheduled to run again on &#8216;Next Run&#8217;.<\/li>\n\n\n\n<li>There is data in the Data Table at the bottom of &#8216;Delete of Backfill Date Range of DatedConversionRate Records&#8217;, and 36 records selected. If I were to hit &#8216;Delete&#8217;, these are the records that would be deleted. If I were to hit &#8216;Backfill&#8217;, these records would not be overwritten.<\/li>\n\n\n\n<li>There is a line chart and a table of values in &#8216;DatedExchangeRate Records&#8217;. It&#8217;s easy to verify that the data looks correct. In this case the base currency is USD, so, as expected, EUR is a little bit less than 1, because 1 USD buys about 0.92 EUR today. The conversion rate answers the question, &#8220;How many units of this currency can I buy with one unit of base currency?&#8221;.<\/li>\n\n\n\n<li>In the bottom right, &#8216;Exchange Rates Uploaded \/ Deleted&#8217;, we see a count for the number of Exchange Rate datapoints have been deleted and created by day, by counting the field &#8216;Num Dated Conversion Rates&#8217; on HTTP Request Logs.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"scheduling_the_data_sync\">Scheduling the Data Sync<\/h4>\n\n\n\n<p>You can easily schedule \/ unschedule the Exchange Rate Data Sync in the upper left hand side panel. <\/p>\n\n\n\n<p>A common choice is to schedule the sync Daily.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full has-custom-border\"><img loading=\"lazy\" decoding=\"async\" width=\"976\" height=\"147\" src=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/currency_exchange_rate_sync_scheduler.png\" alt=\"\" class=\"has-border-color has-contrast-border-color wp-image-35\" style=\"border-width:1px\" srcset=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/currency_exchange_rate_sync_scheduler.png 976w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/currency_exchange_rate_sync_scheduler-300x45.png 300w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/currency_exchange_rate_sync_scheduler-768x116.png 768w\" sizes=\"auto, (max-width: 976px) 100vw, 976px\" \/><\/figure>\n\n\n\n<p>After pressing the &#8216;<code>Daily<\/code>&#8216; button, the details of the Apex Job that is now scheduled will appear.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full has-custom-border\"><img loading=\"lazy\" decoding=\"async\" width=\"967\" height=\"187\" src=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/currency_exchange_rate_sync_scheduled_daily.png\" alt=\"\" class=\"has-border-color has-contrast-border-color wp-image-36\" style=\"border-width:1px\" srcset=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/currency_exchange_rate_sync_scheduled_daily.png 967w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/currency_exchange_rate_sync_scheduled_daily-300x58.png 300w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/currency_exchange_rate_sync_scheduled_daily-768x149.png 768w\" sizes=\"auto, (max-width: 967px) 100vw, 967px\" \/><\/figure>\n\n\n\n<p>A minute later, by hitting &#8216;Refresh&#8217;, you should see a value for &#8216;<code>Previous Run<\/code>&#8216; and that &#8216;<code>Total Runs<\/code>&#8216; is now 1.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full has-custom-border\"><img loading=\"lazy\" decoding=\"async\" width=\"962\" height=\"177\" src=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/currency_exchange_rfate_sync_ran_once.png\" alt=\"\" class=\"has-border-color has-contrast-border-color wp-image-37\" style=\"border-width:1px\" srcset=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/currency_exchange_rfate_sync_ran_once.png 962w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/currency_exchange_rfate_sync_ran_once-300x55.png 300w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/currency_exchange_rfate_sync_ran_once-768x141.png 768w\" sizes=\"auto, (max-width: 962px) 100vw, 962px\" \/><\/figure>\n\n\n\n<p>The options and their corresponding <a href=\"https:\/\/developer.salesforce.com\/docs\/atlas.en-us.apexcode.meta\/apexcode\/apex_scheduler.htm\">cron statements<\/a> are:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Daily: XX XX XX * * ?\n<ul class=\"wp-block-list\">\n<li>XX XX XX represents the current time 30 seconds in the future<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Monthly: 0 0 0 1 * ?\n<ul class=\"wp-block-list\">\n<li>First of the month<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Quarterly: 0 0 0 1 *\/3 ?\n<ul class=\"wp-block-list\">\n<li>First of the month every 3 months<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Annually: 0 0 0 1 1 ?\n<ul class=\"wp-block-list\">\n<li>First of the year<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>You may want to use a different cron expression. The Class &#8216;<code>SchedulableDatedConversionRateSync<\/code>&#8216; is declared as &#8216;<code>Global<\/code>&#8216; to make this possible. In order to achieve this, you must execute some anonymous apex via the Developer Console. In the upper right, click on the gear icon and select&nbsp;<code>'Developer Console'<\/code>.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full is-resized has-custom-border\"><img loading=\"lazy\" decoding=\"async\" width=\"283\" height=\"251\" src=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/opening_developer_console.png\" alt=\"\" class=\"has-border-color has-contrast-border-color wp-image-38\" style=\"border-width:1px;width:285px;height:auto\"\/><\/figure>\n\n\n\n<p>A window will pop open titled&nbsp;<code>'Developer Console'<\/code>. Within the menu item&nbsp;<code>'Debug'<\/code>, select&nbsp;<code>'Open Execute Anonymous Window'<\/code>.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full has-custom-border\"><img loading=\"lazy\" decoding=\"async\" width=\"463\" height=\"430\" src=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/select_open_execute_anonymous_window.png\" alt=\"\" class=\"has-border-color has-contrast-border-color wp-image-39\" style=\"border-width:1px\" srcset=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/select_open_execute_anonymous_window.png 463w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/select_open_execute_anonymous_window-300x279.png 300w\" sizes=\"auto, (max-width: 463px) 100vw, 463px\" \/><\/figure>\n\n\n\n<p>A window should popup titled&nbsp;<code>'Enter Apex Code'<\/code>. Enter the following Apex code and hit&nbsp;<code>'Execute'<\/code>.<\/p>\n\n\n\n<p class=\"has-text-align-center\"><code>System.schedule('SchedulableDatedConversionRateSync', '0 0 10 * * ?', new mcl.SchedulableDatedConversionRateSync());<\/code><\/p>\n\n\n\n<p>This example will create a scheduled job called &#8216;<code>SchedulableDatedConversionRateSync<\/code>&#8216;, which will run every day at 10:00:00 AM. Feel free to modify the name and cron expression accordingly.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large has-custom-border\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"157\" src=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/scheduling_job_via_execute_anonymous-1024x157.png\" alt=\"\" class=\"has-border-color has-contrast-border-color wp-image-40\" style=\"border-width:1px\" srcset=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/scheduling_job_via_execute_anonymous-1024x157.png 1024w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/scheduling_job_via_execute_anonymous-300x46.png 300w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/scheduling_job_via_execute_anonymous-768x118.png 768w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/scheduling_job_via_execute_anonymous.png 1403w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>The Job will appear within the &#8216;Currency Exchange Rate Sync&#8217; component, as well as your Salesforce Scheduled Jobs within <code>'Setup' -&gt; 'Apex Jobs'<\/code> (\/lightning\/setup\/ScheduledJobs\/home)<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"reporting\">Reporting<\/h4>\n\n\n\n<p>Within&nbsp;<code>'Reports' -&gt; 'All Folders'<\/code>, you will see a folder titled&nbsp;&#8216;<code>Currency Conversion Rate Sync<\/code>&#8216;. Open it up.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large has-custom-border\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"465\" src=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/currency_conversion_rate_sync_report_folder-1024x465.png\" alt=\"\" class=\"has-border-color has-contrast-border-color wp-image-42\" style=\"border-width:1px\" srcset=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/currency_conversion_rate_sync_report_folder-1024x465.png 1024w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/currency_conversion_rate_sync_report_folder-300x136.png 300w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/currency_conversion_rate_sync_report_folder-768x349.png 768w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/currency_conversion_rate_sync_report_folder.png 1481w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Inside are 4 Reports:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>HTTP Requests: Currency Conversion Rate<\/strong>\n<ul class=\"wp-block-list\">\n<li>One log per HTTP request, showing request and response fields, with a plot showing the number of HTTP Requests by day<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Errors: Currency Conversion Rate Sync<\/strong>\n<ul class=\"wp-block-list\">\n<li>One log per error encountered. Does not include Async Apex Errors; those are only visible within <code>'Setup' -&gt; 'Apex Jobs'<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Exchange Rates Uploaded \/ Deleted<\/strong>\n<ul class=\"wp-block-list\">\n<li>HTTP Requests to Salesforce and a plot of the number of DatedConversionRate records Inserted \/ Deleted<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Exchange rates Downloaded<\/strong>\n<ul class=\"wp-block-list\">\n<li>HTTP Requests to api.mycompanylist.com and a plot of the number of DatedConversionRate records received.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full has-custom-border\"><img loading=\"lazy\" decoding=\"async\" width=\"981\" height=\"260\" src=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/four_reports.png\" alt=\"\" class=\"has-border-color has-contrast-border-color wp-image-44\" style=\"border-width:1px\" srcset=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/four_reports.png 981w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/four_reports-300x80.png 300w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/four_reports-768x204.png 768w\" sizes=\"auto, (max-width: 981px) 100vw, 981px\" \/><\/figure>\n\n\n\n<p>These reports can be useful for verifying that the sync is working as expected and showing what errors are occurring if any. You can consider <a href=\"https:\/\/help.salesforce.com\/s\/articleView?language=en_US&amp;id=sf.reports_subscribe_overview.htm&amp;type=5\">creating Report Subscriptions<\/a> to notify you if something is wrong. Additionally, you have the option to enable Error Email Alerts within the App&#8217;s configuration.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"advanced_configuration\">Advanced Configuration<\/h4>\n\n\n\n<p>With the App&#8217;s record detail, there are several advanced configuration options. <\/p>\n\n\n\n<h5 class=\"wp-block-heading\">API Parameters<\/h5>\n\n\n\n<p>The <a href=\"https:\/\/www.mycompanylist.com\/blog\/api\/currency-exchange-rate-api-documentation\/\">Currency Exchange Rate API Documentation<\/a> contains in depth explanations of the API parameters that you can modify.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Email Alerts<\/h5>\n\n\n\n<p>You can configure the Sync to send email alerts to the recipients of your choice, and optionally exclude certain errors. Here is an example configuration that will send an email to &#8216;elliot@mycompanylist.com&#8217; every time an error is encountered that isn&#8217;t a Bad HTTP Request nor a Missing Currency Exception.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full has-custom-border\"><img loading=\"lazy\" decoding=\"async\" width=\"935\" height=\"204\" src=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/configure_email_alerts.png\" alt=\"\" class=\"has-border-color has-contrast-border-color wp-image-49\" style=\"border-width:1px\" srcset=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/configure_email_alerts.png 935w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/configure_email_alerts-300x65.png 300w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/configure_email_alerts-768x168.png 768w\" sizes=\"auto, (max-width: 935px) 100vw, 935px\" \/><\/figure>\n\n\n\n<h5 class=\"wp-block-heading\">Currency Mappers<\/h5>\n\n\n\n<p>In case you want to customize which currency in Salesforce maps to which currency in api.mycompanylist.com, or you want to add a multiplier to the exchange rate, this can be achieved via the <strong>Currency Mapper<\/strong> Custom Metadata Type. Within <code>'Setup' -&gt; 'Custom Metadata Types' -&gt; 'Currency Mappers' -&gt; 'Manage Records<\/code>&#8216;, you can add and modify these records.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large has-custom-border\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"220\" src=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/new_currency_mapper-1024x220.png\" alt=\"\" class=\"has-border-color has-contrast-border-color wp-image-56\" style=\"border-width:1px\" srcset=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/new_currency_mapper-1024x220.png 1024w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/new_currency_mapper-300x64.png 300w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/new_currency_mapper-768x165.png 768w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/new_currency_mapper.png 1248w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>The field <code>'Label'<\/code> corresponds to the ISO Code on the Salesforce side of the sync, while the field <code>'Currency Mapper Name'<\/code> refers to the ISO Code on the api.mycompanylist.com side of the sync.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"possible_errors\">Possible Errors<\/h4>\n\n\n\n<p><strong>App Installation Error: &#8216;Missing Organization Feature: MultiCurrency&#8217;. <\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full has-custom-border\"><img loading=\"lazy\" decoding=\"async\" width=\"932\" height=\"366\" src=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/app_installation_fail_must_enable_multicurrency.png\" alt=\"\" class=\"has-border-color has-contrast-border-color wp-image-26\" style=\"border-width:1px\" srcset=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/app_installation_fail_must_enable_multicurrency.png 932w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/app_installation_fail_must_enable_multicurrency-300x118.png 300w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/app_installation_fail_must_enable_multicurrency-768x302.png 768w\" sizes=\"auto, (max-width: 932px) 100vw, 932px\" \/><\/figure>\n\n\n\n<p>Solution: Enabling MultiCurrency is required for this App to be installed. See <a href=\"#prerequisites\">prerequisites<\/a> for more info on enabling. Then, retry installation.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>Error Log: CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY<\/strong><\/p>\n\n\n\n<p>If Salesforce HTTP Requests are responding with a 400 and a response body with content like this:<\/p>\n\n\n\n<p class=\"has-text-align-center\"><code>{\"hasErrors\":true,\"results\":[{\"referenceId\":\"referenceIdAED2023_12_14\",\"errors\":[{\"statusCode\":\"CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY\",\"message\":\"entity type cannot be inserted: Dated Conversion Rate\",\"fields\":[]}]}<\/code><\/p>\n\n\n\n<p>There are two possibilities:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Advanced Currency Management is not enabled. Double check this as outlined in <a href=\"#prerequisites\">prerequisites<\/a>.<\/li>\n\n\n\n<li>The running user of the data sync, backfill, or delete does not have <code>'Customize Application'<\/code> permission.\n<ul class=\"wp-block-list\">\n<li>This can be granted on the Profile or via a Permission Set. <\/li>\n\n\n\n<li>Or, you may wish to run these jobs under a different user that already has this permission assigned.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p><strong>Buttons to schedule \/ unschedule job and backfill and delete are not showing<\/strong><\/p>\n\n\n\n<p>The LWCs only show the buttons to modify <code>DatedConversionRate<\/code> records if the running User has Customize Application permission. Here is what the &#8216;Currency Exchange Rate Sync&#8217; and &#8216;Delete of Backfill a Date Range of DatedConversionRate Records&#8217; panels look like to a User without this permission.  There is no button perform a backfill, delete, nor to schedule \/ unschedule the job.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full has-custom-border\"><img loading=\"lazy\" decoding=\"async\" width=\"680\" height=\"933\" src=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/currency_exchange_rate_sync_user_without_customize_application-1.png\" alt=\"\" class=\"has-border-color has-contrast-border-color wp-image-106\" style=\"border-width:1px\" srcset=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/currency_exchange_rate_sync_user_without_customize_application-1.png 680w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/currency_exchange_rate_sync_user_without_customize_application-1-219x300.png 219w\" sizes=\"auto, (max-width: 680px) 100vw, 680px\" \/><\/figure>\n\n\n\n<p>Once &#8216;Customize Application&#8217; permission is assigned to the User, they will be able to insert and delete <code>DatedConversionRate<\/code> records and the missing buttons will appear. &#8216;Customize Application&#8217; is essentially the keys to the castle in Salesforce. The User has full access to modify (almost) all metadata within Setup. This is a requirement imposed by Salesforce, otherwise the User will get a <code>'CANNOT_INSERT_UPDATE_ACTIVATE_ENTITY'<\/code> error when attempting to Create or Delete DatedConversionRate records. Within <a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=sf.administration_about_advanced_currency_management.htm&amp;type=5\">About Advanced Currency Management<\/a>, we see &#8216;Customize Application&#8217; as the required permission to change currencies.<\/p>\n\n\n\n<p><strong>Visualization is not showing<\/strong><\/p>\n\n\n\n<p>In the upper right of the App you should see a plot of existing DatedConversionRate records. However, you may instead see the following text:<\/p>\n\n\n\n<p>Please enable Lightning Web Security to visualize your DatedConversionRate records via chart.js. LWS is enabled within&nbsp;Session Settings&nbsp;by checking&nbsp;<strong>Use Lighting Web Security for Lightning web components and Aura components<\/strong>&nbsp;and hitting&nbsp;<strong>Save<\/strong>. Before enabling, please test in Sandbox, as described&nbsp;<a href=\"https:\/\/developer.salesforce.com\/docs\/platform\/lwc\/guide\/security-lwsec-when.html\">here<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full has-custom-border\"><img loading=\"lazy\" decoding=\"async\" width=\"814\" height=\"418\" src=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/visualization_is_not_showing.png\" alt=\"\" class=\"has-border-color has-contrast-border-color wp-image-58\" style=\"border-width:1px\" srcset=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/visualization_is_not_showing.png 814w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/visualization_is_not_showing-300x154.png 300w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/visualization_is_not_showing-768x394.png 768w\" sizes=\"auto, (max-width: 814px) 100vw, 814px\" \/><\/figure>\n\n\n\n<p>If you want the visualization to show up, you need to enable Lightning Web Security, which allows Managed Packages to ship third party JS Libraries, such as chart.js, and load content in a secure way. This can be done under <code>'Setup' -&gt; 'Session Settings' -&gt; 'Use Lighting Web Security for Lightning web components and Aura components'<\/code> (\/lightning\/setup\/SecuritySession\/home), and then hitting <code>'Save'<\/code> at the bottom of the page.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full has-custom-border\"><img loading=\"lazy\" decoding=\"async\" width=\"486\" height=\"179\" src=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/session_settings.png\" alt=\"\" class=\"has-border-color has-contrast-border-color wp-image-59\" style=\"border-width:1px\" srcset=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/session_settings.png 486w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/session_settings-300x110.png 300w\" sizes=\"auto, (max-width: 486px) 100vw, 486px\" \/><\/figure>\n\n\n\n<p> It is recommended to thoroughly test in a sandbox all of your Aura Components before doing this in production, as discussed <a href=\"https:\/\/developer.salesforce.com\/docs\/platform\/lwc\/guide\/security-lwsec-when.html\">here<\/a>.<\/p>\n\n\n\n<p><strong>I cannot view Reports and I don&#8217;t see the Report Folder &#8216;Currency Exchange Rate Sync&#8217;<\/strong><\/p>\n\n\n\n<p>There is a Report component on the Currency Exchange Rate Sync Record Page that should show up below the panel <code>'DatedExchangeRate Records'<\/code> and above the Log List View. There is also a Report Folder called <code>'Currency Exchange Rate Sync'<\/code> which contains Reports. If neither of these are showing, or you cannot see Reports inside the folder, have an Admin double check that the Report Folder <code>'Currency Exchange Rate Sync'<\/code> is shared with you.<\/p>\n\n\n\n<p><strong>Backfill is producing Async Apex error &#8216;Apex heap size too large&#8217;<\/strong><\/p>\n\n\n\n<p>The historical data goes back over 20 years. Depending on the number of currencies you have enabled, backfilling a large span of time in a single action can lead to this error. In my testing, I was able to backfill 10 years at a time with 6 currencies enabled.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"faqs\">FAQs<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Does this app cost anything to run?<\/strong>\n<ul class=\"wp-block-list\">\n<li>No, the app is free, and accessing https:\/\/api.mycompanylist.com\/v1\/exchangerate\/* is also free.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Do I need an API Key?<\/strong>\n<ul class=\"wp-block-list\">\n<li>There is no requirement for an API Key or any authentication.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Which currencies are supported?<\/strong>\n<ul class=\"wp-block-list\">\n<li>At time of writing, api.mycompanylist.com supports 149 of&nbsp;<a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=sf.admin_supported_currencies_jdk.htm&amp;type=5\">173 Salesforce support currencies with unique ISO codes<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What happens when I add currencies?<\/strong>\n<ul class=\"wp-block-list\">\n<li>When a currency is added, it is automatically included in the sync going forward. However, previous exchange rates for new currencies are not automatically backfilled. This can be done via the backfill component.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What happens when I change corporate currency?<\/strong>\n<ul class=\"wp-block-list\">\n<li>Be careful not to change corporate currencies while the daily sync job is running, as this could cause incorrect data to be inserted for that run. Other than that, there will be no issue. Salesforce will automatically adjust past exchange rates. And, future runs of the data sync will automatically adjust data relative to the new corporate currency.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>How accurate is the exchange rate data?<\/strong>\n<ul class=\"wp-block-list\">\n<li>The exchange rate data is sourced from a set of trusted sources, including the International Monetary Fund, the European Central Bank, and others. You can the ability to specify which sources may be used via the <code>'Sources'<\/code> field. Additionally, care has gone into ensuring that the exchange rates synced were observed at a time that is within the Date that exchange rate occupies within Salesforce. More info is at <a href=\"https:\/\/exchangerate.pro\/\">exchangerate.pro<\/a>.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>How far back does the historical data go?<\/strong>\n<ul class=\"wp-block-list\">\n<li>The data goes back over 20 years.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"creating_a_support_ticket\">Creating a Support Ticket<\/h4>\n\n\n\n<p>There is a built-in panel for submitting a support request or a feature request at the bottom of the left hand side. It will automatically have your Name, Email, and Org Id in the Subject field. Write up a description of the issue and hit <code>'Send'<\/code>. <\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full has-custom-border\"><img loading=\"lazy\" decoding=\"async\" width=\"963\" height=\"457\" src=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/creating_a_support_request.png\" alt=\"\" class=\"has-border-color has-contrast-border-color wp-image-54\" style=\"border-width:1px\" srcset=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/creating_a_support_request.png 963w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/creating_a_support_request-300x142.png 300w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/creating_a_support_request-768x364.png 768w\" sizes=\"auto, (max-width: 963px) 100vw, 963px\" \/><\/figure>\n\n\n\n<p>If you wish to include attachments or prefer using your own email client, simply send an email to <a href=\"mailto:support@mycompanylist.com\">support@mycompanylist.com<\/a>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"changelog\">Changelog<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>2023-12-15<\/strong> \n<ul class=\"wp-block-list\">\n<li>v0.10 &#8211; Initial Release<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>2025-04-08<\/strong>\n<ul class=\"wp-block-list\">\n<li>v0.11 &#8211; Second Release\n<ul class=\"wp-block-list\">\n<li>A new field is added to the App Configuration called &#8216;Update Currency Type Table&#8217;. When checked, The Scheduled Job and &#8216;Run Once&#8217; button will update the exchange rates in the <a href=\"https:\/\/developer.salesforce.com\/docs\/atlas.en-us.object_reference.meta\/object_reference\/sforce_api_objects_currencytype.htm\">CurrencyType<\/a> table (in addition to inserting new <a href=\"https:\/\/developer.salesforce.com\/docs\/atlas.en-us.object_reference.meta\/object_reference\/sforce_api_objects_datedconversionrate.htm\">DatedConversionRate<\/a> records).\n<ul class=\"wp-block-list\">\n<li>This helps when you are leveraging Currency fields on objects other than &#8216;Opportunity&#8217; such as Quote, and you&#8217;d like to pull in the current exchange rate. More info <a href=\"https:\/\/help.salesforce.com\/s\/articleView?id=sales.admin_enable_multicurrency_implications.htm&amp;type=5\">here<\/a> (&#8220;By default, all converted amounts in your org rely on the current conversion rates defined for your org\u2026&#8221;).<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Note this new field is checked by default for fresh installs. <strong>For subscribers upgrading, they will need to manually add the field to the &#8216;Currency Exchange Rate Sync&#8217; Page Layout, and check the box if they wish to enable this behavior.<\/strong><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>Here is a screenshot showing the App Configuration field &#8216;Update Currency Type Table&#8217;, which was added in v0.11.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1004\" height=\"554\" src=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/Screenshot-2025-04-07-at-8.30.16\u202fPM.png\" alt=\"\" class=\"wp-image-180\" srcset=\"https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/Screenshot-2025-04-07-at-8.30.16\u202fPM.png 1004w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/Screenshot-2025-04-07-at-8.30.16\u202fPM-300x166.png 300w, https:\/\/www.mycompanylist.com\/blog\/wp-content\/uploads\/sites\/2\/2023\/12\/Screenshot-2025-04-07-at-8.30.16\u202fPM-768x424.png 768w\" sizes=\"auto, (max-width: 1004px) 100vw, 1004px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Salesforce Salesforce api.mycompanylist.com api.mycompanylist.com Insert Insert Daily Scheduled Job \/ Bulk Backfill Daily Scheduled Job \/ Bulk B&#8230; Dated Conversion Rate Records Dated Conversion Rate Reco&#8230; Rest API Rest API Bulk Delete Bulk Delete Delete DeleteText is not SVG &#8211; cannot display The &#8216;Currency Exchange Rate Sync&#8217; App runs a daily sync of currency conversion [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":51,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"class_list":["post-16","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-salesforce-app"],"_links":{"self":[{"href":"https:\/\/www.mycompanylist.com\/blog\/wp-json\/wp\/v2\/posts\/16","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mycompanylist.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.mycompanylist.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.mycompanylist.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.mycompanylist.com\/blog\/wp-json\/wp\/v2\/comments?post=16"}],"version-history":[{"count":86,"href":"https:\/\/www.mycompanylist.com\/blog\/wp-json\/wp\/v2\/posts\/16\/revisions"}],"predecessor-version":[{"id":184,"href":"https:\/\/www.mycompanylist.com\/blog\/wp-json\/wp\/v2\/posts\/16\/revisions\/184"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mycompanylist.com\/blog\/wp-json\/wp\/v2\/media\/51"}],"wp:attachment":[{"href":"https:\/\/www.mycompanylist.com\/blog\/wp-json\/wp\/v2\/media?parent=16"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.mycompanylist.com\/blog\/wp-json\/wp\/v2\/categories?post=16"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.mycompanylist.com\/blog\/wp-json\/wp\/v2\/tags?post=16"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}