Here is a real life USD β EUR exchange transaction.
EUR account statement in CSV format:
Type,Product,Started Date,Completed Date,Description,Amount,Fee,Currency,State,Balance
EXCHANGE,Current,2021-10-04 06:23:24,2021-10-04 06:23:24,Exchanged to EUR,1000.00,0.00,EUR,COMPLETED,...
USD account statement in CSV format:
Type,Product,Started Date,Completed Date,Description,Amount,Fee,Currency,State,Balance
EXCHANGE,Current,2021-10-04 06:23:24,2021-10-04 06:23:24,Exchanged to EUR,-1159.94,0.00,USD,COMPLETED,...
There is no way to tell what exchange rate was applied without processing both files, and correlating these two exact lines. Which is not how most accounting software works. Prior to that date, the exchange rate information was included in the CSV. I could get the exchange rate from one or the other statement. No longer.
Iβm being forced to treat exchange transactions in an ad-hoc fashion with manual tweaks to my import scripts, which completely defeats the purpose of automated import of bank statements
if (orig_completed_date = "2021-10-04 06:23:24") {
desc = sprintf("Sold USD to %s (was: %s)", exchange_to_commodity, desc)
if (account1_commodity == "USD") {
account1_cost_total = "1000"
account1_cost_commodity = "EUR"
append_tags("forex")
Because this problem is still not fixed after 10 months, I did not want to give the Revolut DEV or QA team the impression that no one noticed, and that itβs OK to remove functionality like this.