What is the proper way to recognize an unrealized gain/loss?

122 views
Skip to first unread message

Jasel17212

unread,
Oct 3, 2021, 8:53:07 PM10/3/21
to Ledger
I've run into an issue that I just can't find an answer to in either the manual or archived conversations from this group, so I thought I would post to see if you guys can help me out.

Following is an example of a stock transaction:

2019/03/18 * Buy xx
        Assets:Investing:ABC Securities:xx                  5.37578 xx @ $26.725424031
        Equity:Opening Balances

2019/03/19 * Sell xx
        Assets:Investing:ABC Securities:xx                 -5.37578 xx @ $44.373095625
        Assets:Investing:ABC Securities:Cash

After completing the transaction, all of my ABC Securities:Cash balance is correct, and all is good. If I run a balance report, however, I see a $94.87 balance when I expected to see $0.00.

ledger -f register.ldg --price-db price_db.txt -V --strict --explicit bal --depth=1 -e 2019-03-20

         $xxx,xxx.xx  Assets
        $-xxx,xxx.xx  Equity
         $xxx,xxx.xx  Expenses
        $-xxx,xxx.xx  Income
        $-xxx,xxx.xx  Liabilities
--------------------
              $94.87

If I run the same report with the --unrealized flag, I can see the $94.87 show up in the unrealized gain category.

ledger -f register.ldg --price-db price_db.txt -V --strict --explicit bal --depth=2 -e 2019-03-20 --unrealized

         $xxx,xxx.xx  Assets
        $-xxx,xxx.xx  Equity
        $-xxx,xxx.xx    Opening Balances
             $-94.87    Unrealized Gains      
         $xxx,xxx.xx  Expenses
        $-xxx,xxx.xx  Income
        $-xxx,xxx.xx  Liabilities
--------------------
                   0

In this example, I have realized the gain, so how do I record it as such?  I have many more examples of this where the transaction has occurred exactly as above, but the accounts have a tax-deferred status, so how do I handle those accounts as well?

Thanks
JL

psionl0

unread,
Oct 3, 2021, 9:23:20 PM10/3/21
to Ledger
Your asset sale is actually an income category and should be recorded as such. In the same transaction you record the cost of the asset sold as an expense:


2019/03/18 * Buy xx
        Assets:Investing:ABC Securities:xx                  5.37578 xx @ $26.725424031
        Equity:Opening Balances

2019/03/19 * Sell xx
        Income:Investing:ABC Securities:Sales              -5.37578 xx @ $44.373095625
        Assets:Investing:ABC Securities:Cash                $238.54
        Assets:Investing:ABC Securities:xx                 -5.37578 xx @ $26.725424031
        Expenses:Investing:ABC Securities:Cost of Sale      $143.67

psionl0

unread,
Oct 3, 2021, 9:31:53 PM10/3/21
to Ledger
If the transaction has a tax-deferred status then you could record the sale in a "Deferred Income" category.

Jasel17212

unread,
Oct 3, 2021, 9:52:52 PM10/3/21
to Ledger
That seems to get me a step closer, but I still see a balance of $94.87 when I run my balance reports.


ledger -f register.ldg --price-db price_db.txt -V --strict --explicit bal --depth=1 -e 2019-03-20

         $xxx,xxx.xx  Assets
        $-xxx,xxx.xx  Equity
         $xxx,xxx.xx  Expenses
        $-xxx,xxx.xx  Income
        $-xxx,xxx.xx  Liabilities
--------------------
              $94.87

The same report with the --unrealized flag also shows the same balance, but the unrealized category is now gone.

ledger -f register.ldg --price-db price_db.txt -V --strict --explicit bal --depth=2 -e 2019-03-20 --unrealized

         $xxx,xxx.xx  Assets
        $-xxx,xxx.xx  Equity
        $-xxx,xxx.xx    Opening Balances
         $xxx,xxx.xx  Expenses
        $-xxx,xxx.xx  Income
        $-xxx,xxx.xx  Liabilities
--------------------
              $94.87

I'm missing something here.  How do I record the $94.87 as a capital gain and make the report balance to zero?

Thanks
JL
Message has been deleted

Jasel17212

unread,
Oct 3, 2021, 10:18:40 PM10/3/21
to Ledger
It seems that the order of the transactions matter.  If I swap the entries I get the following:

2019/03/19 * Sell xx
        Assets:Investing:ABC Securities:xx                 -5.37578 xx @ $26.725424031
        Expenses:Investing:ABC Securities:Cost of Sale      $143.67
        Income:Investing:ABC Securities:Sales              -5.37578 xx @ $44.373095625
        Assets:Investing:ABC Securities:Cash                $238.54

ledger -f register.ldg --price-db price_db.txt -V --strict --explicit bal --depth=1 -e 2019-03-20

         $xxx,xxx.xx  Assets
        $-xxx,xxx.xx  Equity
         $xxx,xxx.xx  Expenses
        $-xxx,xxx.xx  Income
        $-xxx,xxx.xx  Liabilities
--------------------
                   0

ledger -f register.ldg --price-db price_db.txt -V --strict --explicit bal --depth=2 -e 2019-03-20 --unrealized

         $xxx,xxx.xx  Assets
        $-xxx,xxx.xx  Equity
        $-xxx,xxx.xx    Opening Balances
             $-94.87    Unrealized Gains      
         $xxx,xxx.xx  Expenses
        $-xxx,xxx.xx  Income
        $-xxx,xxx.xx  Liabilities
--------------------
             $-94.87

That seems right to me.

I would appreciate any other perspectives on this topic.

Thanks!
JL

psionl0

unread,
Oct 4, 2021, 12:29:15 AM10/4/21
to Ledger
It seems that including "Assets:Investing:ABC Securities:xx" at two different prices in the same transaction is part of the problem.

I tried splitting the sale into two different transactions:
2019/03/18 * Buy xx
        Assets:Investing:ABC Securities:xx                  5.37578 xx @ $26.725424031
        Equity:Opening Balances

2019/03/18 * Cost of Sale xx
        Assets:Investing:ABC Securities:xx                 -5.3578 xx @ $26.725424031
        Expenses:Investing:ABC Securities:Cost of sale


2019/03/19 * Sell xx
        Income:Investing:ABC Securities:Sales              -5.37578 xx @ $44.373095625
        Assets:Investing:ABC Securities:Cash                $238.54


And when I run the balance report I get the following:
$ ledger -f register2.ldg   bal | cat
             $238.54
          0.01798 xx  Assets:Investing:ABC Securities
             $238.54    Cash
          0.01798 xx    xx
            $-143.67  Equity:Opening Balances
             $143.19  Expenses:Investing:ABC Securities:Cost of sale
         -5.37578 xx  Income:Investing:ABC Securities:Sales
--------------------
             $238.06
         -5.35780 xx

o1bigtenor

unread,
Oct 4, 2021, 7:34:08 AM10/4/21
to Ledger
On Sun, Oct 3, 2021 at 7:49 PM Jasel17212 <ja...@thelittonfamily.com> wrote:
I've run into an issue that I just can't find an answer to in either the manual or archived conversations from this group, so I thought I would post to see if you guys can help me out.



IMO (IANAA!!!) this is really 3 transactions.
1. purchase of item(s)  xxxxx for $$$$$
2. sale of item(s) xxxxx for $$$$$
3. the difference between the two which is then either a profit (income) or a loss (against income)

My way of detailing this would be something like
1. cash (or funds) decreases whilst assets (whatever listing you need/desire) increases
    I include costs for the transaction (all itemized - - - broker fees, exchange etc etc)
2. cash or funds or currency increases whilst assets (whichever listing you used) decreases
   I include costs for the transaction (all itemized - - - broker fees, exchange etc etc)
3. any gain (or loss) on this one transaction set is now included in 'income'


There may be a more condensed way of writing this but, again imo, the object with financial
record keeping clarity is more important than anything else. As this is in a double entry system
pick your accounts with care.

(This is imo very related to the purchase (and maintenance) of depreciable items - - which can
include property and then the depreciation adds another level of transactions.)

HTH


Jasel17212

unread,
Oct 4, 2021, 7:23:28 PM10/4/21
to Ledger
After much research and tons of trial and error, I landed on the following solution.  It's simple and elegant and seems to achieve my goal, even if there appears to be a minor bug (see below).  Ironically, I was led down this path by a post I found elsewhere concerning hledger.  I figured I would document my findings for those looking for a solution to this problem in the future.

2019/03/18 * Buy xx
        Assets:Investing:ABC Securities:xx                    5.37578 xx @ $26.725424031
        Equity:Opening Balances

2019/03/19 * Sell xx
        Assets:Investing:ABC Securities:xx                   -5.37578 xx {$26.725424031} @ $44.373095625
        Assets:Investing:ABC Securities:Cash               $238.54
        Income:Capital Gains:Realized

After making these entries, my ABC Securities:Cash balance is correct, and the balance report balances to $0.00.

ledger -f register.ldg --price-db price_db.txt -V --strict --explicit bal --depth=1 -e 2019-03-20

         $xxx,xxx.xx  Assets
        $-xxx,xxx.xx  Equity
         $xxx,xxx.xx  Expenses
        $-xxx,xxx.xx  Income
        $-xxx,xxx.xx  Liabilities
--------------------
                   0

If I run the same report with the --unrealized flag, I still see the $94.87 show up in the unrealized gain category, and I see a balance for the same amount.  This seems like a bug to me. If this report result is correct based on my journal entries above, I could use some help with understanding the logic. 

ledger -f register.ldg --price-db price_db.txt -V --strict --explicit bal --depth=2 -e 2019-03-20 --unrealized

         $xxx,xxx.xx  Assets
        $-xxx,xxx.xx  Equity
        $-xxx,xxx.xx    Opening Balances
             $-94.87    Unrealized Gains      
         $xxx,xxx.xx  Expenses
        $-xxx,xxx.xx  Income
        $-xxx,xxx.xx  Liabilities
--------------------
             $-94.87

Thanks!
JL

psionl0

unread,
Oct 5, 2021, 2:34:04 AM10/5/21
to Ledger
@Ajoeibin The problem with doing it your way is that at the end of the exercise, your assets is now a negative value instead of zero and rather than the gain/loss being included in income, it is just recorded as a change in the value of your assets.

That is why I use Asset Sales as an income category and Cost of Sales as an expense category (so I can write off the cost of the assets sold).

o1bigtenor

unread,
Oct 5, 2021, 7:33:25 AM10/5/21
to Ledger
On Tue, Oct 5, 2021 at 1:34 AM psionl0 <gsc...@iinet.net.au> wrote:
@Ajoeibin The problem with doing it your way is that at the end of the exercise, your assets is now a negative value instead of zero and rather than the gain/loss being included in income, it is just recorded as a change in the value of your assets.


It would appear that you really didn't understand what I did.
There is no way that you would be diminision your assets - - - - dunno how you would even get there.
1. you purchase asset x at value y
this is accomplished by a disbursement from funds (cash or some other similar) and an increase in 'assets'
any fees/costs are dealt with amounts coming from your funds (again cash or otherwise)
2. you sell asset x for z (it doesn't matter what this value is!!!!!!!!!!)
you asset value is reduced by EXACTLY the value that it was originally logged into your system
any difference between z and y is now logged into 'income' where again it really doesn't matter if the number is positive or negative
any fees/costs are dealt with amounts coming from your funds (again cash or otherwise)

You made the assumption that the sale price that I would list would be what I actually sold the item for.
That is incorrect and imo that would only be correct if you were entering that value in 'Income' initially.

This misunderstanding is what causes difficulty for most when they look at 'present value' on any asset.
'Present value', imo and maybe only imo, has absolutely no connection with 'realized value'.
My process was developed from the need of tracking assets that are predominantly depreciating assets.
That process enables me to account for any change in value.

The process where the sale value is the value of the item for removal from the asset list would seem to
be much more prevalent when one is holding assets that are predominantly expected to 'appreciate'.
But even given such logic by removing an asset from a portfolio at its sale value directly without
accounting for any changes from its listed purchase value - - - - well - - - for me that's just messy
thinking - - - - I'd bet that any forensic accounting investigation by tax authorities would be quite
enthused by finding such recording.

This careful and very orderly statement of every part of every transaction is the beauty of double entry
accounting. Being able to lay out and balance all the parts of any transaction clearly is perhaps the
major reason that I use ledger-cli - - - most other record keeping systems seem to expect the user
(inputer) to be different from the organizer and the 'analyzer' (thinker) is yet again a different entity.
As I get to wear all of the hats in my businesses - - - - well I' hugely into the KISS principle and anything
to make things easier. (This gets challenged any time there are assets that are used for both business
and personal purposes.)

Regards

o1bigtenor

unread,
Oct 5, 2021, 7:35:39 AM10/5/21
to Ledger
On Tue, Oct 5, 2021 at 6:32 AM o1bigtenor <o1big...@gmail.com> wrote:
On Tue, Oct 5, 2021 at 1:34 AM psionl0 <gsc...@iinet.net.au> wrote:
@Ajoeibin The problem with doing it your way is that at the end of the exercise, your assets is now a negative value instead of zero and rather than the gain/loss being included in income, it is just recorded as a change in the value of your assets.


It would appear that you really didn't understand what I did.
There is no way that you would be diminishing your assets - - - - dunno how you would even get there.
(remove previous version - - - minor editing - - - - not enough checking before sending!)

o1bigtenor

unread,
Oct 5, 2021, 9:45:59 AM10/5/21
to Ledger
On Tue, Oct 5, 2021 at 1:34 AM psionl0 <gsc...@iinet.net.au> wrote:
@Ajoeibin The problem with doing it your way is that at the end of the exercise, your assets is now a negative value instead of zero and rather than the gain/loss being included in income, it is just recorded as a change in the value of your assets.

That is why I use Asset Sales as an income category and Cost of Sales as an expense category (so I can write off the cost of the assets sold).



re-reading I'd bet that someone is going to mis-understand (again!)

(looking for accounts (GIFI) in this area I find that for personal accumulation there is a 'new' model
- -  this is called the 'cost accumulation model' rather than the 'fair value model' used in business
acquisition and sales)

example (specific for business)

Scenario 2: Disposal by Asset Sale with a Gain
Suppose that at the end of the second year, Motors Inc. decided to sell the machinery to another company. At that time, the accumulated depreciation was $2,000. Therefore, the total book value of the machinery was $1,000 (machinery value minus accumulated depreciation). However, the company agreed to sell the machinery for $1,500. Thus, Motors Inc. must recognize the gain from the sale. The journal entry for the disposal should be:

 Asset disposal by sale with gain

Dr Cash                                     $1500
Dr Accumulated Depreciation   $2000
                Cr Gain on sale                           $500
                Cr Machinery                             $3000

One should see 'Machinery' as a form of 'Asset'.

So - - - end result - - - the way that I'm doing my records may not be the most succinct
but it does cover ALL the bases and in a very orderly pattern.

This whole area gets quite a bit murkier if one is acquiring stocks/options/other instruments
as part of a retirement vehicle - - - at that point all of this gets some other inputs so that
a present value can be achieved without needing an actual sale to display value.

HTH

Regards



psionl0

unread,
Oct 6, 2021, 12:09:29 AM10/6/21
to Ledger
@Ajoeibin


"It would appear that you really didn't understand what I did."

I only know what you said you did:
1. cash (or funds) decreases whilst assets (whatever listing you need/desire) increases
2. cash or funds or currency increases whilst assets (whichever listing you used) decreases

At no time in that post did you include a category for profit or loss although I notice that you have now done so in a subsequent post:

Asset disposal by sale with gain

Dr Cash                                     $1500
Dr Accumulated Depreciation   $2000
                Cr Gain on sale                           $500
                Cr Machinery                             $3000

Although this works (assuming that Gain on sale is an income category) some tax jurisdictions prefer that you record what you get for an asset sale as income and the depreciated value of the asset sold as an expense (this is how shops are supposed to do their bookkeeping). It is much easier to do this if you actually have the sales and cost of assets sold as income and expense categories respectively rather than trying to piece it all together from the asset category alone.

So I still recommend doing the posting this way:
Dr Cash                              $1500
Cr Income from sale                            $1500
Dr Cost of assets sold               $1000
     Dr Accumulated Depreciation     $2000
     Cr Machinery                              $3000
Reply all
Reply to author
Forward
0 new messages