Anything that leaves you with the right cost basis and puts the income in
the right spot works. I have a similar situation and had one transaction
buy it at the discounted cost basis, another debit (subtract) the stock
units at the discounted price then credit (add) them at FMV while
accounting the difference to my Income:WORK:Benefits account. And a third
for when I sold them accounting the difference between that price and the
FMV purchase price to my P&L.

That sounds complicated, but it seemed cleanest to me. I'll send you the
redacted transactions if I ever get to my laptop.



Sincerely,
Timothy Jesionowski

On Fri, Dec 12, 2025, 9:36 AM Damien R. <[email protected]> wrote:

> Hello,
>
> With $WORK, I have access to ESPP. The trick is that I'm located in
> Canada, where the ESPP discount in considered taxable income. So each buy
> event could look like this:
>
> 2025-12-01 * "ESPP Buy"
>   ; the discount is taxed as income, so the cost basis is the FMV on the
> trade date
>   Assets:Broker:WORK  10 WORK { 100 USD }
>   Assets:Jobs:WORK:EsppFund  -(85 * 10) USD
>   Income:Jobs:EsppDiscount  -(15 * 10) USD
>
> The issue I have is related to my paycheck. This EsppDiscount is spread
> over the course of a few paychecks under "Employer Paid Benefits" as "ESPP
> Gain". For other Employer Paid Benefits, I usually have a Income leg and an
> expense leg:
>
> 2025-12-15 * "Paycheck"
>   Income:Jobs:LifeInsurance -50 CAD
>   Expenses:Jobs:LifeInsurance 50 CAD
>   ; Here if I add an 'Income' leg, the income would be counted twice
>   Expenses:Jobs:EsppGain 100 CAD
>
>
> What I ended up doing is:
>
> 2025-12-01 * "ESPP Buy"
>   Assets:Broker:WORK  10 WORK { 100 USD }
>   Assets:Jobs:WORK:EsppFund  -(85 * 10) USD
>   Liabilities:Jobs:EsppUntaxedGain  -((15 * 10) * 1.2) CAD @@ -(15 * 10)
> USD
>
> 2025-12-15 * "First paycheck with an ESPP Gain entry"
>   Income:Jobs:EsppDiscount          -50 CAD
>   Liabilities:Jobs:EsppUntaxedGain 50 CAD
>
> ; after a few paychecks, I need the pad directive to account for
> conversion imprecision
> ; the exchange rate in the buy event is from Bank of Canada, it's not the
> one the broker/my employer uses
> 2026-02-28 pad Liabilities:Jobs:EsppUntaxedGain Equity:Conversion
> 2026-02-28 balance Liabilities:Jobs:EsppUntaxedGain 0 CAD
>
> This lets me track the EsppDiscount in CAD, which is what I need at the
> end of the day for my tax report.
>
> Is this an okay way to book these transactions?
>
> Cheers,
> --
> Damien
>
> --
> 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 [email protected].
> To view this discussion visit
> https://groups.google.com/d/msgid/beancount/160b0057-0e70-462a-b6d9-154d0d2973f0n%40googlegroups.com
> <https://groups.google.com/d/msgid/beancount/160b0057-0e70-462a-b6d9-154d0d2973f0n%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 [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/beancount/CAOVsoWTZpk%2B7xxnkvUs2AEmOvKdNGv89C-8RzqiOqLs9rfDBnQ%40mail.gmail.com.

Reply via email to