Precise currency exchange calculation for weak currencies

Registered by Dukai Gábor

For currencies weaker then EUR or USD there is a precision problem. This comes from the way res_currency.compute() handles exchange rates: rate = to_currency.rate/from_currency.rate

An example:
1 USD = 68.1824 base currency
but in OpenERP this means that I have to define a rate for USD like
1 base currency = 0.0146665415 USD for the USD exhange rate.

The invoice amount is 32680USD.
32680 * 68.1824 = 2228200.83 base currency
The problem is that OpenERP calculates like this
32680 / 0.014666 = 2228283.10 base currency
which produces very inaccurate numbers and a scale of 10 digits is needed to have the same accuracy as with the first version.

A solution would be to make it possible for the users to define exchange rates in either direction they choose. Not only 1 base unit = x other units but also 1 other unit = x base units.

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.