I had similar problems and I solved it by turning on "trading accounts" . This way there are no exchange rates involved in individual transactions, but instead each transaction is balanced to a currency trading account. To correct any existing transactions I then had to click on it and accept gnucash auto correction, I don't know if that can be done with one global correction or not. Either way don't turn on trading accounts before you read up on it as it is quite fundamental and not reversabel as far as I known,and if you do decide it is for you, at least take a backup before trying it out.
On Tue, 8 Sep 2020, 15:44 andrepd via gnucash-user, < gnucash-user@gnucash.org> wrote: > In the latest version of gnucash (4.1-2 from flathub) I noticed that, when > importing transactions in .ofx/.csv into a GBP-denominated bank account, > and > matching them to expense accounts in EUR, I get the following error > message: > > The account 'Electronics' has a different commodity from the one > required, > Pound Sterling. Please choose a different account. > > Now, I haven't seen that error message before, when importing my > transactions, > so I'm assuming this behaviour changed recently. However, I also realised > that, for all the transactions like this that I imported in the past (when > that message didn't appear), that the exchange rate used was always > 1GBP => 1EUR! This is also not good for me. > > So I have two questions: > > * How do I import transactions where the debits and credits are in > different > currencies (in this example, I have a debit from a GBP bank account and a > credit to an EUR expense account)? This should ideally use the correct > exchange rate from the price database. > > * How do I fix the exchange rates for the previous transactions, without > going > manually through _thousands_ of transactions and going `right-click > > edit exchange rate > paste > OK`? I have the correct historical exchange > rates, > for the period where the transactions took place, entered in the price > database, so I'd like to use the "most-recent-at-transaction-date" exchange > rate. I don't see how I can do this for all transactions, and doing so > manually > for 2 years worth of transactions would take upwards of 8 or 9 hours I > reckon. > Perhaps a python script could do it (or even edit the xml directly, I don't > know)? > > Thanks for the help. > > > > > -- > Sent from: http://gnucash.1415818.n4.nabble.com/GnuCash-User-f1415819.html > _______________________________________________ > gnucash-user mailing list > gnucash-user@gnucash.org > To update your subscription preferences or to unsubscribe: > https://lists.gnucash.org/mailman/listinfo/gnucash-user > If you are using Nabble or Gmane, please see > https://wiki.gnucash.org/wiki/Mailing_Lists for more information. > ----- > Please remember to CC this list on all your replies. > You can do this by using Reply-To-List or Reply-All. > _______________________________________________ gnucash-user mailing list gnucash-user@gnucash.org To update your subscription preferences or to unsubscribe: https://lists.gnucash.org/mailman/listinfo/gnucash-user If you are using Nabble or Gmane, please see https://wiki.gnucash.org/wiki/Mailing_Lists for more information. ----- Please remember to CC this list on all your replies. You can do this by using Reply-To-List or Reply-All.