This question has been flagged
2 Replies
6452 Views

Hi,

i would like to ask for experience of users, whose main currency is not EUR.

Let´s say i have a company and set CZK as the main currency (ticking the "base" boolean and setting the exchange rate = 1.). Now the important comes - I would like to set the exchange rate for EUR. The right way in order to refrain an accounting inaccuracy should be to set the rate in relation 1 EUR = X CZK. However, the rate in in this case must be calculated in relation 1 CZK = X EUR (for instance - the rate is 25,5 CZK for 1 EUR, so the rate in EUR currency should be calculated as 1/25,5), and that could lead to a difference becouse of rounding. 

The question is - do you guys know how to set the exchange rate in relation 1 foreing currency unit = X main currency units? Concretely how to allow to set in EUR currency the rate 25,5 CZK for 1 EUR?

Thanks for help!

Avatar
Discard
Best Answer

I don't think you need to worry about this, for many reasons.

In any multi-currency setup there are going to be some calculations from the alternative currency and some to the alternative currency. So the way you specify the conversion rate is going to be "wrong" approximately half of the time.

The conversion rates are all stored as floats anyway. So 25.5 is not going to be stored as exactly 25.5, but some approximation to this (someone with better knowledge will be able to explain exactly how 25.5 is represented in a float). But this small inaccuracy will also be present storing the reciprocal, 1/25.5.

If you look at any tables of real-life exchange rates it is unlikely you will get such a neat number as 25.5 anyway. Most exchange services would specify the exchange rate to greater precision, say 4 digits. If I look up the rate today at www.xe.com it says 27.4168 CZK per EUR.

Finally, to take care of all this, Odoo i) allows you to specify the exchange rate to multiple digits ii) has a 'computational accuracy parameter' and ii) finally rounds any calculation to the smallest unit used in your currency, say 0.01.

So bottom-line: there is a lot going on, all of it is an approximation to some extent. Don't worry about it!

Avatar
Discard
Best Answer

I have same question (and problem)

Avatar
Discard