Here is my post 
<https://groups.google.com/g/ledger-cli/c/zQHC7S80t90/m/6F-2S3N9UQoJ> in 
the thread you linked to. It contains and example of the entire lifecycle 
of an ISO (grant -> vest -> exercise -> sale). Though I'm not familiar with 
the details of your options, the options you describe sound very similar to 
ISOs in the US.

The example above should solve all the problems that you brought up. Your 
transaction purchases VINCIT_OPTIONS at 0.619 EUR, and this may be the 
source of the confusion: when exercising, you are buying VINCIT, not 
VINCINT_OPTIONS, at a price of 0.619, even though the fair market value at 
that time is higher (9.56 EUR). The example I linked above models this in 
double entry book keeping. I'm wondering if you've had a chance to try it, 
and if so, what you ran into?

On Saturday, May 22, 2021 at 5:01:53 AM UTC-7 Tuomas Salmi wrote:

> Any comment/help for this?
>
> torstai 13. toukokuuta 2021 klo 19.46.37 UTC+3 Tuomas Salmi kirjoitti:
>
>> Hi Martin, I finally had time to get back to this and I found this 
>> discussion you probably referred to: 
>> https://groups.google.com/g/ledger-cli/c/zQHC7S80t90/m/3Ft8Tyr562sJ
>>
>> This seems to almost make sense to me but I couldn't get this to work as 
>> I expected. Not sure if the problem is in my ledger or my understanding of 
>> exercising options. Either way I hope you could help a bit:
>>
>> For my case I have the following situation:
>> Options: 10 
>> Strike price: 6.19 
>> Cost basis 6.19/10 = 0.619 
>> Market value at the time of exercise: 9.56 EUR 
>>
>> And I tried the following:
>>
>> 2018-01-01 open Income:Vincit:OptionsVesting 
>> 2018-01-01 open Income:Nordnet:Vincit:Gains EUR 
>> 2018-01-01 open Expenses:OptionsExercise EUR 
>>
>> 2021-03-31 * "Acquire options" 
>> Assets:Nordnet:VincitOptions 10 VINCIT_OPTIONS {0.619 EUR} 
>> Income:Vincit:OptionsVesting 
>>
>> 2021-05-10 * "Exercise options" 
>> Assets:Nordnet:VincitOptions -10 VINCIT_OPTIONS {0.619 EUR} @ 9.56 EUR 
>> Assets:Nordnet:Vincit 10 VINCIT { 9.56 EUR } 
>> Income:Nordnet:Vincit:Gains -27.51 EUR 
>> Expenses:OptionsExercise -61.90 EUR 
>>
>> Beancount accepts this but when I checkout my Fava balance sheet I see 
>> following:
>> Assets:Nordnet:Vincit 104 VINCIT (should be 104 + 10 = 114 VINCIT) and in 
>> EUR column there is "95.60" 
>> Assets:Nordnet:VincitOptions 0 (this seems ok since I exercised them)
>>
>> I suppose this might be some conceptual misunderstanding I have but when 
>> I get more VINCIT stocks by either exercising or buying them, shouldn't 
>> they just be added up to the VINCIT account as units in my ledger and not 
>> as EURs?
>> Another thing I don't really get is the Gains part of the exercise 
>> transaction. I mean of course I gain value by exercising the option by 
>> lower value than its current market price, but shouldn't that just show up 
>> as a gain in the value of my stock position and not as direct income since 
>> I'm not selling the stocks immediately on exercise? Like shouldn't the 
>> exercise leas to 10 new lots of VINCIT with value of 6.19 EUR?
>>
>>
>> keskiviikko 7. huhtikuuta 2021 klo 4.00.34 UTC+3 bl...@furius.ca 
>> kirjoitti:
>>
>>> Search on the mailing-list I'm pretty sure this came up before.
>>> I'd have recognized call options using a unique symbol at zero cost and 
>>> 6.19 is the strike.
>>> Then on exercise reducing them while simultaneously opening a position 
>>> in the company at the current value, reducing the cash account by the 
>>> strike times the number of units and adding a posting for the profit to be 
>>> recognized as income.
>>>
>>>
>>> On Tue, Apr 6, 2021 at 6:27 AM Tuomas Salmi <salmi....@gmail.com> wrote:
>>>
>>>> Thanks for reply. Looks like my terminology is a bit off since I this 
>>>> is first time I have had to think about this in English.
>>>> What I meant was that my employer gave me 10 options which let me to 
>>>> purchase stocks with the fixed price which was set when options were given 
>>>> to me. In this case I can buy COMPANY for 6.19 euros regardless of the 
>>>> real 
>>>> rate of the COMPANY in stock market. So I think you are right about 
>>>> "exercise" being the correct term.
>>>>
>>>> > Your transactions seems incomplete to me.
>>>> > You will want to represent the options themselves using a unique 
>>>> instrument name with the strike, side (put/call) and expiration 
>>>> data embedded in the symbol.
>>>> > You will want to carefully adjust the sales price vs. cost basis and 
>>>> recognize the P/L to the right account if this is a company incentive (I 
>>>> believe the initial P/L may be treated as income tax, not gains).
>>>>
>>>> Do you have any example of representing options like this? I think in 
>>>> Finland the initial P/L is treated as income tax. However, for my personal 
>>>> ledger in general I'm not too concerned about taxing details since almost 
>>>> all personal taxing process is done by taxing organization in Finland. So 
>>>> I 
>>>> don't usually track those details in my personal ledger and I'm happy with 
>>>> having the correct balances on each of my accounts. However, I suppose I 
>>>> might have to be a bit more careful in this case.
>>>>
>>>> To be honest I think for my purposes it would be enough to just add 10 
>>>> COMPANY stocks to my Assets:OtherBank:Company  with correct sales price 
>>>> and 
>>>> deduce the 61.90e from my cash bank account.
>>>>
>>>> maanantai 5. huhtikuuta 2021 klo 8.23.48 UTC+3 bl...@furius.ca 
>>>> kirjoitti:
>>>>
>>>>>  Hi Tuomas,
>>>>> I don't understand your terminology.
>>>>> "Marking" is the process of valuing active positions for the purpose 
>>>>> of calculation unrealized P/L.
>>>>> I think you mean "exercise."
>>>>>
>>>>> On Sun, Apr 4, 2021 at 6:49 AM Tuomas Salmi <salmi....@gmail.com> 
>>>>> wrote:
>>>>>
>>>>>>
>>>>>> Recently my employer let me to mark some stock options I had and I'm 
>>>>>> having trouble to add them properly to the Beancount ledger.
>>>>>>
>>>>>> Lets say I had 10 options letting me to buy 10 stocks of COMPANY. 
>>>>>> Looks like the transaction will be made first to my incentive bank 
>>>>>> account 
>>>>>> and then I'll transfer the bought stocks to my actual bank which holds 
>>>>>> my 
>>>>>> stocks. 
>>>>>>
>>>>>> I tried the following:
>>>>>>
>>>>>> 2021-03-31 * "Mark options"
>>>>>>   Assets:OP:BankAccount -61.90 EUR 
>>>>>>   Assets:IncentiveBankAccount:Company   10 COMPANY {6.19 EUR} 
>>>>>>
>>>>>> 2021-04-01 * "Transfer stocks to other bank account"
>>>>>>   Assets:IncentiveBankAccount:Company                               
>>>>>> -10 COMPANY
>>>>>>   Assets:OtherBank:Company                             10 COMPANY
>>>>>>
>>>>>> The beancheck accepts this syntax. However when I check the account 
>>>>>> balances in the Fava, I see that the end balance for 
>>>>>> "IncentiveBankAccount" 
>>>>>> is:
>>>>>> 61.90 EUR
>>>>>> -10 COMPANY
>>>>>>
>>>>>> So it seems like the Beancount will use two separate units for the 
>>>>>> "IncentiveBankAccount".
>>>>>>
>>>>>
>>>>> You need to use the cost basis on your transfer.
>>>>>
>>>>> Your transactions seems incomplete to me.
>>>>> You will want to represent the options themselves using a unique 
>>>>> instrument name with the strike, side (put/call) and expiration 
>>>>> data embedded in the symbol.
>>>>> You will want to carefully adjust the sales price vs. cost basis and 
>>>>> recognize the P/L to the right account if this is a company incentive (I 
>>>>> believe the initial P/L may be treated as income tax, not gains).
>>>>> There is much to say.
>>>>>
>>>>>
>>>>>  
>>>>>
>>>>>>
>>>>>> So how should I mark the following transactions to get all this 
>>>>>> sorted out:
>>>>>> 1. Pay 61.90 EUR from my cash bank account to buy 10 COMPANY stocks 
>>>>>> to IncentiveBankAccount account (balance -> 10 COMPANY)
>>>>>> 2. Move 10 COMPANY from IncentiveBankAccount to OtherBank:Company 
>>>>>> (balance 10 -> 0 COMPANY in incentive)
>>>>>>
>>>>>> -- 
>>>>>> You received this message because you are subscribed to the Google 
>>>>>> Groups "Beancount" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, 
>>>>>> send an email to beancount+...@googlegroups.com.
>>>>>> To view this discussion on the web visit 
>>>>>> https://groups.google.com/d/msgid/beancount/b0b0602c-807b-479c-8d5e-1cf147cada7en%40googlegroups.com
>>>>>>  
>>>>>> <https://groups.google.com/d/msgid/beancount/b0b0602c-807b-479c-8d5e-1cf147cada7en%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>> .
>>>>>>
>>>>> -- 
>>>> You received this message because you are subscribed to the Google 
>>>> Groups "Beancount" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>> an email to beancount+...@googlegroups.com.
>>>>
>>> To view this discussion on the web visit 
>>>> https://groups.google.com/d/msgid/beancount/bde20d72-3ab4-4cc8-b77c-31a46856f207n%40googlegroups.com
>>>>  
>>>> <https://groups.google.com/d/msgid/beancount/bde20d72-3ab4-4cc8-b77c-31a46856f207n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>>

-- 
You received this message because you are subscribed to the Google Groups 
"Beancount" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to beancount+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beancount/d958074a-8aaf-42be-973e-347758bc7f30n%40googlegroups.com.

Reply via email to