GnuCash
Contact   Instructions
Bug 796997 - Currency Conversion Dialog appears when recording transactions between same currency accounts.
Summary: Currency Conversion Dialog appears when recording transactions between same c...
Status: NEW
Alias: None
Product: GnuCash
Classification: Unclassified
Component: Register (show other bugs)
Version: 3.3
Hardware: PC Mac OS
: Normal normal
Target Milestone: ---
Assignee: ui
QA Contact: ui
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-12-31 15:50 EST by Manish
Modified: 2019-01-01 19:40 EST (History)
3 users (show)

See Also:


Attachments

Description Manish 2018-12-31 15:50:33 EST
My default GNUCash Currency is set to USD. I have two CAD currency accounts (1 Asset and other Expense), and when I try to record a transaction between the two accounts - it pops Transfer Funds Dialog saying that the Debit account is USD and Credit Account is CAD. 

I have checked both accounts using Edit Account Dialog, and both accounts show CAD as the currency. Strangely, the Edit Account dialog doesn't allow to change the currency and is showing the CAD Currency as greyed out.
Comment 1 John Ralls 2019-01-01 14:37:39 EST
Are you using a general ledger register to create the transaction?

Once an account has splits the currency/commodity becomes immutable because changing the currency/commodity invalidates the ratio between the amount and value in those splits.
Comment 2 Manish 2019-01-01 15:37:56 EST
I am editing the transactions that were entered automatically by the Scheduled Transactions. For some reason, I had scheduled corrupt transaction using the scheduled transactions editor, which assumed USD to CAD transfer with conversion rate of 1. These transactions were created in the older versions of gnucash.

I am not able to reproduce the scenario with the Scheduled transaction editor in the version 3.3, so I am assuming that the older version which I had used to create these transactions had a bug - which has been fixed.

To fix the problem in my gnucash file - I deleted the scheduled transaction and created a new one. I also fixed all the previous transactions created by the scheduler.
Comment 3 Manish 2019-01-01 15:48:03 EST
Found the issue..
1. Create two accounts A (CAD) & B(USD)
2. Create a transfer between A & B - select a conversion rate of 1 (or whatever you like)
3. Now right click on the transaction to schedule - say 10 times.
4. Now delete the transaction that was created in Step 2
5. Edit Account B and change the currency to CAD

This setup will result in all new transactions created by the scheduler to be between cross currency accounts - even though the accounts are in the same currency.
Comment 4 John Ralls 2019-01-01 16:09:16 EST
It will depend on whether you create that first transaction in account A or B; you chose B, so the transaction currency (the one in which the transaction is balanced) is USD. That was copied to the scheduled transaction. Changing the currency of the B account doesn't change the scheduled transaction currency, hence the Transfer Dialog to get an exchange rate so that the transaction can balance itself.

Had you created the original transaction in the CAD account would have avoided the issue.

I suppose we need to extend the blocker for changing account currency to check scheduled transactions as well as splits, and to delete or move scheduled transactions as well as regular ones when deleting accounts. That's a lot of work and we have other priorities, so don't expect this to be fixed any time soon.
Comment 5 Manish 2019-01-01 16:42:32 EST
Agree that the priority probably is low - and I have fixed the problem on my end by cleaning the accounts.

Since the Schedule Transaction Advanced Editor doesn't allow for scheduling cross commodity transaction, I think that this blocker needs to be incorporated in couple of places.
1. On Step 5 of the setup above, the application should have greyed out the changing of the account currency because there is a scheduled transaction in place. OR changing the currency should have brought the warning to delete/fix the scheduled transaction
2. Scheduler shouldn't run templates that are cross commodity.
Comment 6 John Ralls 2019-01-01 16:59:37 EST
Item 1 is what I said. Item 2 would anger a lot of users, and there's no reason to do that. Multiple-commodity scheduled transactions are fully supported. Changing the commodity of accounts in them actually works just fine, it's just a bit surprising and probably annoying that it requires an exchange rate in this corner-case.
Comment 7 Manish 2019-01-01 17:47:16 EST
I don't use the Multiple commodity scheduled transactions, but I am wondering how that works when the Schedule Transaction Advanced Editor doesn't allow for scheduling such transactions. I always get an error dialog

"Scheduled transactions with variables or involving more than one commodity cannot be automatically created"
Comment 8 John Ralls 2019-01-01 19:40:15 EST
You can't have "create automatically" under Options on the Overview tab checked if you have variables or multiple commodities because the Since Last Run Dialog needs you to fill in the variable value or the exchange rate.

Note You need to log in before you can comment on or make changes to this bug.