The documentation for Gnucash mentions that "Any realized gain splits are ignored" within advanced portfolio reports. These reports provide information for open transactions, including actual prices integrated with a price database.

My current challenge lies in retrieving information on the revenue or gains from commodities for closed shares, particularly within the context of income/expense reports. I wonder whether Gnucash internally manages realized gains for closed shares. This is especially pertinent as the reconciliation process appears to have no effect on income/expense reports for a commodity account.

Does Gnucash include realized gains from commodities in income/expense or asset/liability reports for closed shares automatically or manually?

2 Answers 2


GnuCash includes a realized gain on income/expense reports as long as there is a transaction split recording the gain as income.

You generally need to create the split manually - which might be done directly (which is what I normally do), or creating stock lots on your account (which I avoid as the built in behavior for working with lots is too opinionated on how to do this to work for me).


The GnuCash engine doesn't handle things such as unrealised capital gains and retained earnings; the report generator does, based on the info in the price database. That is exactly what the documentation you've linked to is trying to say:

The Advanced Portfolio report doesn’t use the capital gain splits to calculate capital gains. It calculates the gains from the various buy and sell transactions in the account without regard to whether the gains and losses are recorded or not.

The "capital gains splits" to which that is referring are simply manual splits that you may have created to keep a manual record of realised/unrealised gains/losses. GnuCash doesn't treat such splits specially, and indeed has no way of determining whether a particular split you've created is such a split or not.

For more info, see the relevant sections of the GnuCash Tutorial and Concepts Guide, namely:

There is an opt-in feature called Trading accounts (accounts of type "Trading") that allows you to track unrealised gains in a home-currency-agnostic fashion in the accounts tree. To understand the principles behind using such accounts, please read the two articles by Professor Peter Selinger linked within, namely:

  1. Tutorial on multiple currency accounting

  2. Multiple currency accounting in GnuCash

Usage of the Trading accounts feature is documented in the Tutorial and Concepts Guide in §12.3: Automatically Recording Currency Transactions using Trading Accounts

You must log in to answer this question.

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