A/R open records record an amount in the invoiced currency along with the currency id. When checks or receipts are processed against these records the system looks up the exchange rate at the time the record was created and the exchange rate at the time of the new application. It uses the difference to calculate currency gain/loss.
However, if the exchange rate is changed after an A/R record is created in the date range of it, the latest exchange rate information will be used to calculate the gain loss, rather than the exchange rate used when the record was posted. As a result the A/R account will be out of balance even when the entire A/R record is completely paid.
Steps to reproduce:
Need to do the following:
- Add a currency conversion rate to the apopen and aropen tables.
- The exchange rate at the time the record is created needs to be recorded in the new column (this can be done with a trigger).
- Reports on these tables need to use that exchange rate when calculating base value
- Posting of applications against these tables need to use the original stored exchange rate when calculating gain/loss.
Read more at http://www.xtuple.org/mantis/view.php?id=7912