Hello, folks:

A new multi-currency scheduled transaction in my Gnucash book just occurred for the first time. It was confusing. I would like help understanding what was going on, and pointers to where the relevant documentation and/or source code are. I suspect this may turn into a bug report, or more detail on a wiki page, or both.

I just set up a multi-currency subscription: buy a service in US dollars (USD), pay with a Canadian dollars (CAD) credit card. This has the complication that each month the CAD amount charged will vary with the USD-CAD exchange rate. The USD amounts are fixed.

I entered a transaction in GnuCash to record the first payment. This transaction divided the amount among three Expense accounts: two USD, and one CAD. For a few payments, I duplicated the previous month's transaction in the credit card ledger. Before this month's payment, I turned last month's transaction into a scheduled transaction. The template transaction has six splits: one split to the CAD credit card Liability account, two splits to USD Expense accounts, one split to a CAD Expense account, and splits to Trading:CURRENCY:CAD and to Trading:CURRENCY:USD.

Today, I started GnuCash, and the scheduled transaction ran for the first time. In the Since Last Run dialogue, there was an entry for this transaction, with a line saying something like:

   CAD -> USD   [(Give value)]

where "[(Give value)]" is a text entry box. (The line might have been "USD -> CAD", and the wording might have been different; I didn't capture a screenshot.) I tried typing in various numbers into the text entry box, and clicking OK for the Since Last Run dialogue. The numbers appeared to be discarded each time. I tried typing in the transaction value in USD, in CAD, an exchange rate of CAD per 1.00 USD. None of these were accepted.

At one point, I typed in 1.00 to the text box, and I also reached past the Since Last Run dialogue to open up Tools… Price Database…, and press the Get Quotes button, so that Gnucash would have an exchange rate for USD per 1 CAD. The Since Last Run dialogue disappeared, and the transaction appeared in my ledgers as expected. I selected the CAD Expense split and the CAD Liability credit card charge split, and used Actions… Edit Exchange Rate to check the exchange rate. They were 1 CAD = 1.00 USD.

This was enough to let me edit the transaction. I set the CAD Liability credit card charge split to the correct CAD value, set the other CAD Expense split to the correct value, and set the Exchange Rates to the correct value. I'm comfortable with the per-month adjustments I had to make to the new transaction.

What I would like to understand is: Why didn't the Scheduled Transaction service simply duplicate the template transaction as a new transaction, with the template transaction's existing per-split exchange rates?  What value was the Since Last Run dialogue asking me to enter: exchange rate? Split amount? Why didn't the dialogue accept the values I was entering?  Why did it finally work? Did the Get Prices action supply the needed value, or did the number I typed provide the value? What is the correct way to enter a multi-currency scheduled transaction so that it gets created smoothly each time?

Where in the code will I find the functionality that asked for this value and created this transaction? I'm happy to read the code to learn more. A few searches for keywords like "scheduled transaction", "give value", "enter value", etc. returned search hits, but nothing that was clearly the applicable code.  I don't see this topic mentioned in the Doxygen overviews <https://code.gnucash.org/docs/MAINT/index.html#doxylist>.

I didn't see multi-currency issues mentioned in the Scheduled Transaction sections of the Concept Guide <https://lists.gnucash.org/docs/C/gnucash-guide/chapter_txns.html>, the Manual <https://lists.gnucash.org/docs/C/gnucash-help/ch04s06.html>, or the Wiki <https://wiki.gnucash.org/wiki/Scheduled_Transactions>. I looked for Scheduled Transaction discussions involving multiple currencies in the GnuCash-user list archives <https://wiki.gnucash.org/wiki/Scheduled_Transactions>. There must be some threads there, but I didn't find them.

I am running GnuCash 3.10 on macOS 10.13.6 High Sierra. My book's default currency is CAD. I am using currency trading accounts. I expect to upgrade to GnuCash 4.1 soon. I didn't take detailed notes and screen shots of the problem this time, but the transaction will recur next month, and I can make the notes then. I intend to post an update to this thread then.

Any suggestions of where to look in the meantime?

Thank you in advance,
     —Jim DeLaHunt, software engineer, Vancouver, Canada

_______________________________________________
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.

Reply via email to