Thanks for the explanation. The reason I start the transaction in the
securities account is to make sure that it is anchored to the security.
I had the impression that if I didn't do this it wouldn't be considered
in investment performance reports.
On 10.02.2026 19:03, John Ralls wrote:
It’s not a workaround. GnuCash has no way of knowing the exchange rate
that applied to a multi-currency transaction any more than it does of
knowing the price that you bought or sold a stock. When you’re working
in a Stock register then both the amount (the Shares column, in the
split account’s commodity) and the value (the debit or credit column,
in the transaction currency) are visible so there’s no need for the
Transfer Dialog to collect the exchange rate.
The transaction is all-USD so you’re *creating* a currency issue
rather than avoiding one by starting the transaction in a
CAD-denomintated register because the conversion to CAD is needed only
to balance the transaction. Since there aren’t any splits with
CAD-denominated accounts the exchange rate isn’t important but you
could avoid it altogether by creating the transaction from that
USD-denominated asset account so everything is in USD.
You’re dealing with foreign-currency investments and that introduces
substantial complication. There’s an extended discussion about that on
IRC about 6 years ago, extensively quoted in
https://bugs.gnucash.org/show_bug.cgi?id=797796#c39 and following
comments. For reference CDB-Man is a licensed accountant in Canada and
GAAP stands for Generally Accepted Accounting Principles, which is the
national interpretation of the International Accounting Standard. GAAP
varies a little from country to country and with IAS but in
broad-brush it pretty much the same in all European and North American
countries.
Regards,
John Ralls
On Feb 9, 2026, at 22:42, rsbrux <[email protected]> wrote:
Thanks for the quick response. I usually enter all transactions for
a security in the corresponding account, as I was taught to do to
avoid currency issues.
In this case the stock account has a parent account in CAD, to enable
buying and selling the stock in the correct currency:
Assets
Investments
<brokerage>
CAD
<stock>
The dividends transaction, which I entered in this register, looks
like this:
Accounts:Investments....
Expenses: Common:Taxes:USD27.001.00C$27.00
Assets:Current Assets...USD153.001.00C$153.00
Income:Common:Investments...USD-180.001.00C$180.00
Because the exchange rate is (incorrectly) shown as 1.00, the correct
amounts appear in the USD accounts.
My local currency is CHF. I don't have exchange rates for 31
December (the date of the dividend), but using the data from 30 Dec.,
the exchange rate should have been approximately 1.3691 CAD./USD.
If I then put this value into the Investment register, it changes the
CAD amounts in the investment register accordingly and the correct
amounts appear in the USD registers.
In the Investments register it now looks like this:
Accounts:Investments....
Expenses: Common:Taxes:USD27.001.3691 C$36.97
Assets:Current Assets...USD153.001.3691C$209.47
Income:Common:Investments...USD-180.001.3691C$246.44
This is an awkward and unintuitive workaround, but I can live with it.
On 09.02.2026 18:22, John Ralls wrote:
On Feb 9, 2026, at 04:16, rsbrux via gnucash-user<[email protected]>
wrote:
I have a Canadian stock which was purchased on the Toronto Stock
Exchange with Canadian dollars (CAD). However, much to my surprise, the
dividends are being paid out in USD. I followed the usual instructions
when creating the stock account in GC to allow me to buy the stock in
CAD (with funds from a CAD denominated current account). The result is
that the amounts I enter into GC for dividends are being recorded as
CAD (C$), even though I have selected USD accounts for the dividend
income, the deducted taxes and the net payout.
How can I properly record the USD dividends in GnuCash for a stock
purchased in CAD?
The same way you record any other dividend: DR cash account (presumably CAD),
CR income account, which can be CAD or USD. If you make it CAD then you have to
compute the CAD amount yourself outside of GnuCash. I’d think your brokerage
statement or the transaction history on the broker’s website would tell you how
much was deposited into the CAD cash account so that shouldn’t be a problem. If
you want to record the exchange rate in GnuCash then make the income account
USD. If you record the dividend with trading accounts off and in basic view
you’ll still enter the CAD value, but the Transfer Dialog will open to get the
amount in USD so that GnuCash can calculate the exchange rate. If you create
the transaction in the income account register then you’ll enter the amount in
USD in the register and the CAD amount in the Transfer Dialog.
If you turn on trading accounts for the book and use Split View to record the
transaction then the amounts in each split are in the currency for that split’s
account, so you’ll enter the CAD amount in the cash split and the USD amount in
the income split. The exchange rate is actually to the transaction currency so
which split opens the Transfer Dialog and whether you enter the USD or CAD
amount will still depend on which register you create the transaction in.
Always let GnuCash calculate the exact rate from the two amounts: amounts are
rounded to the cent, prices are rounded to the maximum precision that
GncNumeric can handle.
Regards,
John Ralls
_______________________________________________
gnucash-user mailing list
[email protected]
To update your subscription preferences or to unsubscribe:
https://lists.gnucash.org/mailman/listinfo/gnucash-user
-----
Please remember to CC this list on all your replies.
You can do this by using Reply-To-List or Reply-All.