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.

Reply via email to