Double-entry bookkeeping is new to me but is something I'm trying to apply to our personal finances. The area I am struggling with is how to deal with our investments. We have a mix of Canadian RRSP accounts (are these similar to US 401k?), self-managed stock/bond/ETF accounts, and separately-managed accounts.

Although I hope that the answers to my question will not specifically depend on which software I am using, I will say that I am using GnuCash with the trading accounts feature enabled.

I know that software like GnuCash provides some means to handle individual stocks with all associated transaction possibilities (buy, sell, dividends, interest, etc), but the separately-managed accounts are not amenable to this. Such accounts can have a great deal of activity in them that we are not consulted on and really don't want to bother with. Moreover, the institution handling those accounts does not provide full details on some aspects of these accounts. For example, for non-RRSP separately-managed accounts we get a total annual capital gains number at the end of the year for tax purposes, but no breakdown of those gains relative to the individual holdings. Because there are no capital gains taxes for RRSPs, there are no capital gains numbers provided at all for RRSP separately-managed accounts. Tracking the individual holdings inside investment accounts like these isn't really possible or desirable, but it isn't obvious to me how I can model such an account as some kind of virtual mutual fund without accounting for gains and losses somehow. I assume there are other ways to handle such accounts, possibly even without trying to force them into a mutual fund or stock model at all.

What are the various proper double-entry bookkeeping methodologies available to me to include each of our investment accounts on our books?

  • Does it have to be double entry?
    – littleadv
    May 29, 2014 at 7:07
  • 1
    @littleadv: Yes, double-entry bookkeeping is a decision already made for other reasons.
    – froage
    May 29, 2014 at 19:21

1 Answer 1


For any accounts where you have a wish to keep track of dividends, gains and losses, etc., you will have to set up a an account to hold the separately listed securities. It looks like you already know how to do this. Here the trading accounts will help you, especially if you have Finance:Quote set up (to pull security prices from the internet).

For the actively-managed accounts, you can just create each managed account and NOT fill it with the separate securities. You can record the changes in that account in summary each month/year as you prefer.

So, you might set up your chart of accounts to include these assets:

Actively-managed accounts
    RRSP at Citibank
    Brokerage at Merrill Lynch
Self-managed accounts
    Brokerage at Vanguard
            VCN FTSE Canada All Cap Index
            VGG U.S. Dividend Appreciation Index ETF
            VRE FTSE Canadian Capped REIT Index ETF
            Bond #2
            Bond #3
            Stock A
            Stock B
            Stock C

And this income:

Retirement accounts income
    Capital Gains/Losses Retirement
    Dividends Retirement
    Interest Retirement
Taxable accounts income
    Capital Gains/Losses Taxable
    Dividends Taxable
    Interest Taxable

The actively-managed accounts will each get set up as Type "Stock." You will create one fake security for each account, which will get your unrealized gains/losses on active accounts showing up in your trading accounts. The fake securities will NOT be pulling prices from the internet. Go to Tools -> Securities Editor -> Add and type in a name such as "Merrill Lynch Brokerage," a symbol such as "ML1," and in the "Type" field input something like "Actively Managed."

In your self-managed accounts, you will record dividends and sales as they occur, and your securities will be set to get quotes online. You can follow the general GnuCash guides for this.

In your too-many-transactions actively traded accounts, maybe once a month you will gather up your statements and enter the activity in summary to tie the changes in cost basis. I would suggest making each fake "share" equal $1, so if you have a $505 dividend, you buy 505 "shares" with it. So, you might have these transactions for your brokerage account with Merrill Lynch (for example):

Jan. 6, 2017
To record monthly transfer from checking to Merrill Lynch
Dr. Brokerage at Merrill Lynch  500.00 sh   $500.00
Cr. Checking                                        $500.00

Jan. 31, 2017
To record January 2017 non-contribution cost basis activity in Merrill Lynch  
Dr. Brokerage at Merrill Lynch 1098.63 sh $1,089.63
Cr. Dividends Taxable                                $85.63
Cr. Interest Taxable                                $400.03
Cr. Capital Gains/Losses Taxable                    $603.97

When you have finished making your period-end summary entries for all the actively-managed accounts, double-check that the share balances of your actively-managed accounts match the cost basis amounts on your statements. Remember that each fake "share" is worth $1 when you enter it. Once the cost basis is tied, you can go into the price editor (Tools -> Price Editor) and enter a new "price" as of the period-end date for each actively-managed account. The price will be "Value of Active Acct at Period-End/Cost of Active Acct at Period-End." So, if your account was worth $1908 but had a cost basis of $505 on Jan. 31, you would type "1908/505" in the price field and Jan. 31, 2017 in the date field.

When you run your reports, you will want to choose the price source as "Nearest in Time" so that GnuCash grabs the correct quotes.

This should make your actively-managed accounts have the correct activity in summary in your GnuCash income accounts and let them work well with the Trading Accounts feature.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .