This article will try to answer the most common questions for the B1UP Exchange Rates.
How it Works
Q: What does your Exchange rate feature do?
A: It enabled you to get Exchange Rate from an online Source Provider so you do not manually need to import them. You can see an overview video here:
Q: What Exchange rate providers do you support?
A: All the different providers are listed at the top of the Exchange Rate Configuration screen + you can see the source URL in the B1UP Online Help here.
Q: Is the service free or do I need to pay the provider before I can use it?
A: All but one of the Providers is free to use. The Special Provider Oanda is a paid service, however.
Q: Why would I ever use a Paid Provider when others are free?
A: Oanda Server normally has more supported rates than the free offerings so if you have a setup where you use many/uncommon currencies it might be the only provider that supports all your needed currencies.
Q: Are you in any way associated with Oanda?
A: No, we just have an integration with them because of customer requests. So there is no incentive from us to use a free or a paid service, nor can we help with the purchase or pricing of the Oanda Service.
Q: My Countries Bank is not listed as a provider. Can I still use the service?
A: Yes, Most of the Exchange Providers can be used in any country as long as your SAP Local Currency is part of the supported rates of that provider. Since exchange rates are such a global phenomenon the rates from provider to provider only vary slightly. We have a video explaining it in a bit more detail here:
Q: When do you set the exchange Rates?
A: It depends on your Exchange Rates Configuration setup. If you just enable the Exchange Rate Module without configuration you the B1UP will at startup of the Add-on check if rates are missing for the day and if so (and the logged-in user has permission to set rates) it will set the rates.
You can, however, (and are recommended to) change this to instead have the system set rates on a schedule (Server Component or Online Services) so it can be done at a specific time of day without user interaction.
Tip: If you use a schedule you can disable the set of rates during startup using the "Do not set rates on user login (Only Server component)" checkbox option in the configuration.
Q: Why do you recommend using a schedule instead of setting rates at Add-on start-up?
A: There are 2 main benefits to setting rates on a schedule:
- It allows for the unattended setting of rates every single day, taking away the pain point of needing to start SAP Business One every day just to get rates (For example on weekends). This can be essential if you have webshops or other automated tools that import invoices and similar that are dependant that there are always up-to-date rates.
- It will not take time to check and set the rates when the add-on is starting (aka faster Add-on start-time.)
For the above reason, we would say the Setup during startup is the least desired way to set rates.
Q: When/How often are rates changed by the provider?
A: The rate providers only update their rates once a day, normally after business hours (Example: European Central Bank provider update their rates at 16:00 CET (4 pm) every week-day. Check each provider's website when they do the update.
Q: Why do different providers support different exchange rates?
A: That is entirely decided by each provider (and we can't affect it). Providers normally tend to have the "big" currencies and then the rates from countries close to them / countries they often trade with.
Q: How are the Rates retrieved?
A: There are 2 Methods (Online Service always use Method 1):
Via Boyum Cloud (Recommended) [B1UP 2020.02 or higher]:
This option uses Boyum Cloud as a middleman between SAP and the exchange rate provider.
This has the added benefit that if anything changes in the way the exchange rates need to be retrieved, selecting this option means you will automatically be covered by these changes and can continue to get exchange rates, without having to wait for an update to B1UP to fix the problem.
Directly from provider:
This option means that B1UP is communicating directly with the exchange rate provider.
Clicking the small button next to the Source combo box will bring up the Provider Settings screen, which looks like this:
Q: Is there are preferred Exchange Rate provider?
A: Yes, we recommend either Open Exchange (free) or European Central Bank (free).
Q: Is there a preferred Setup you recommend?
A: Our recommendation is as follows
- Always use Server Component or Online services
- Always use Boyum Cloud Retrieval Method (B1UP 2020.02 or higher)
- Always turn off "Do not set rates on user login (Only Scheduled rates)" (to have a faster Add-on start)
- Never use "Fill in indicated days back if missing" or "Days set in the future"
Q: Is there some sort of Audit system (so I can see what Exchange Rates were set)?
A: From B1UP 2021.04 and higher we have an audit system where you can track every single action taken by the exchange rate system. There is no GUI for the Audit table as of this writing so you get access to it using the following SQL (Works on both MSSQL and HANA):
"U_BOY_DATE" AS "Date",
"U_BOY_TIME" AS "Time",
WHEN 0 THEN 'National Bank of Denmark'
WHEN 1 THEN 'European Central Bank'
WHEN 2 THEN 'Bank of Israel'
WHEN 4 THEN 'Bank of Canada'
WHEN 5 THEN 'Czech National Bank'
WHEN 6 THEN 'Nordea'
WHEN 7 THEN 'Reserve Bank of Australia'
WHEN 8 THEN 'Federal Tax Administration Switcherland (Monthly)'
WHEN 9 THEN 'Oanda (Ask)'
WHEN 10 THEN 'Banxioco'
WHEN 11 THEN 'Banguat'
WHEN 12 THEN 'Central Bank of Russia'
WHEN 13 THEN 'Bank of Brazil (Purchase)'
WHEN 14 THEN 'Federal Tax Administration Switcherland (Daily)'
WHEN 15 THEN 'National Bank of Poland'
WHEN 16 THEN 'Bank of Brazil (Sales)'
WHEN 17 THEN 'HM Revenue and Customs'
WHEN 18 THEN 'Oanda (Bid)'
WHEN 22 THEN 'Bank of Chile'
WHEN 23 THEN 'National Bank Belarus'
WHEN 24 THEN 'Oanda (MidPoint)'
WHEN 25 THEN 'OpenExchangeRates.org'
END AS "Source Provider",
"U_BOY_CURRENCY" AS "Currency",
"U_BOY_OLD_RATE" AS "Previous overwritten rate",
"U_BOY_NEW_RATE" AS "The Rate Set",
WHEN 1 THEN 'Manual Set'
WHEN 2 THEN 'During User Login'
WHEN 3 THEN 'Via ServerComponent'
END AS "How Rate was set",
"U_BOY_SAPUSER" AS "SAP User used to set the Rates",
"U_BOY_WIN_USER" AS "Windows User used to set the Rates",
"U_BOY_MACH_IP" AS "Machine that set the rates",
"U_BOY_IDENTIFIER" AS "Batch Identifer"
ORDER BY "U_BOY_DATE" DESC, "U_BOY_TIME" DESC
Common Issues and confusions
Q: I have a special currency that is not being filled out by your service; what is wrong?
A: It is not all providers that have all currencies, and if your selected provider does not have the rates for the specific currency we can't offer it as well. You will need to look at the various providers and see if you can find one that supports all your needed currencies (or use the paid Oanda provider that have almost all currencies in the world.)
Q: Why do have different rates than what is listed on the Exchange Rate Provider's webpage when I check them after the fact. Why is this?
A: This is because exchange rates from the providers are set "after the fact" meaning the end of the day on any given day (Normally in the afternoon). We have a video explaining this in more details here:
Beyond that, there can also be the following reasons
- You are using the "Set Days in future" or "Fill back indicated days" Exchange rate option.
- Someone manually before the rates were set has entered a different rate for the day (perhaps they did it in the past in order to make a future posted Invoice or the like). Our exchange rates system will not override anything manually entered unless it is done using the Server Component and the "Always update exchange rates even if filled" option is checked in the configuration.
Q: Why do I get the same rates on the Weekends and on Mondays?
A: This is because of the same reason as above + the fact that ratest are not provided during the weekend, so the most current rate we can retrieve is the rates that was published Friday afternoon.
Q: Setting of the Exchange rates fails. What could be the reason?
A: This normally happens if your selected Exchange Rate Provider has made a change that the code can't handle. This has to happen several times over the lifetime of B1UP and here are the 5 most common scenarios:
- The provider is temporarily down for maintenance (aka the source is not available). In such cases, we can only await them coming back online.
- The Provider changes their website infrastructure and moves the retrieval of rates to another URL. In such a case we need to adjust our code for the new URL before the provider works again. With our Cloud retrieval method (see above) this can be done without B1UP upgrade but in older versions than 2020.12 or if the Direct Retrieval method is used a new B1UP version needs to be created and upgraded to on the customer's system.
- The provider change HTTP protocol (HTTP --> HTTPS. In such a case it depends on how nice of a fallback mechanism the provider implements (and if not it is else it is essentially the same as an URL change.)
- The provider change the security protocol (aka implement TLS 1.2). In such a case you need to be on B1UP 2018.08 or higher and if you are using older Windows Server versions you might need to enable the TLS1.2 protocol. Read more about TLS in our FAQ on the topic.
- (Rare) The provider change the format on how they deliver exchange rates.
Q: Why did you not warn me that a specific rate provider was about to change (don't you coordinate such things with the providers)?
A: The changes are in almost all cases unannounced or buried deep within a Bank web page in a local language so we too really have no warning of the change. We also do not have any special relationship with each provider as the services we leverage are free, public EndPoint. So change unfortunately always lead to "downtime".
Q: Why can't you set historical rates?
A: As not all providers have Historical rates and we want a unified service, we always only the most up-to-date rate and set that rate. So even if a rate provider has historical rates, it is not something our service leverage in any way.
Q: I'm using the "Fill Back indicated days" and "Set days in future" features and it seems to be doing it wrong IMHO.
A: First of all these two features are in our minds considered legacy features that only existed from before the time where our Exchange Rates did not have a server component option. We recommend that they are not used anymore as they bring no value, but here is how it works:
- Let's imagine it is the 3rd of March 2021 and we have the following setup (Fill back and Set days in the future both 2 days). We have no rates for march yet:
- If you set rates @ 08:00 in the morning the following will happen
- The latest rates are retrieved online (aka the rates provided on the 2nd of March @ 16:00 CET) and set on the 5th (aka set 2 days in the future)
- The system will then based on the set date (aka the 5th) see back 2 days (4th of march and 3rd of march and since both of these are missing rates they will also get today's retrieved rates, leading to all 3 days having the same rates for this "startup" scenario)
- If you then of the 4th of march log in again and set the rates the latest rates are retrieved online (aka the rates provided on the 3rd of March @ 16:00 CET) will be set on the 6th of March, and all other rates (3,4,5th will not be touched as the system do not override the rates unless specified in the configuration)
Q: My SAP Business One Hosting Provider does not allow me to install your B1UP Server Component. What to do?
A: In such a case you should consider our Online Services offerings: https://youtu.be/fMnS50kGBCQ