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.

Reply via email to