IATI / D-Portal

http://d-portal.org/
Other
30 stars 23 forks source link

Currency conversions don't apply to activity pages, which can confuse users #465

Open stevieflow opened 6 years ago

stevieflow commented 6 years ago

I don't really have a solution on this, but wanted to flag, as it does seem to throw people

A key to understanding for this is the fact that d-portal does convert currencies, BUT - this only applies for lists and aggregate pages. In other words, you could change the currency from USD to XDR (for example, but I think this issue is currency independent) in the settings, and see XDR in the lists of activities, most specifically reflected in the "progress bar" for any activity

For example

ifad

However, it is also true that when a user navigates to an individual activity page, the currencies displayed here are as they were provided by the publisher. These could be a single of mixed currency - it does not matter, as d-portal makes no attempt to convert these values into another currency.

So - from the example list, here are the transactions from the second activity (selected for simplicity):

transact

I understand that the 8,555,777 XDR disbursement would makeup the "progress bar" in the aforementioned list. But this value on the currency-coverted page is 8,373,991 XDR

It is this that can catch a user out, in two ways:

1 - I've converted from USD > XDR - I therefore expect to see XDR on the activity page. I don't see this (not cited in this example, but common to many activities) 2 - (and more complex) I've converted from USD > XDR, because we publish in XDR. In this scenario, I dont experience the first confusion, as I have XDR throughout my user journey. IFAD (our example) actually publish in XDR. Hence, to see a difference in the vaues even when converted can be confusing.

This - I think - comes from some kind of conversion d-portal makes on import (XDR > USD). When we now convert back to XDR, our values don't match. How can this be?

I can envisage complex conditionals applying to remedy this, so just flagging for attention initially!

xriss commented 6 years ago

Mostly this is happening since XDR is not one of the currencies that we try hard to get right when it probably should be.

Getting it right means performing the conversion server side and remembering all the values in the database, this explodes out transactions/budgets/etc by the number of currencies and is something we only do for USD,EUR,CAD,GBP

Initially we just had USD but added the others as people asked about the obvious difference between published numbers and the numbers we ended up showing as you just described above.

The numbers changing are down to a conversion at 2017-12-05 exchange rates from XDR to USD followed by a conversion back into XDR at today's exchange rates. An action which, even if it wasn't XDR both times would be best described as an estimate.