Disclaimer: If I were a practical person, the below would be a
non-issue because I would simply track my income in currency and leave
it at that. Please assume at least part of my motivation is just
having fun tracking the world the way I see it, and feel free to skip
this post if you don't feel like indulging me.

Hi list,

The problem: Part of my income is in stock (call it ACME). The way I
see it, stock simply goes from my income account to my brokerage
account. The way my tax authority sees it, there's some currency
involved. I'd like to track my income both ways.

Here's my point of view:

2000-01-01 * "Stock is granted"
  Income:Stock:Grant                              -1 ACME
  Income:Stock:Vesting                             1 ACME

2001-01-01 * "A year later, I get the stock"
  Income:Stock:Vesting                            -1 ACME
  Assets:Brokerage                                 1 ACME

This is nice because I can make sure all my stock grant and vesting
events are accounted for. It's also the way I prefer to think about
it.

But then tax season comes, and it would have been more convenient if
I'd written something like this instead:

2001-01-01 * "Income is in currency, silly"
  Income:Stock-as-cad                           -100 CAD
  Assets:Brokerage                                 1 ACME
  Equity:Trade

This would let me compare my income to my tax documents in my local
currency CAD to make sure they match up.

Ideally, I'd like to track both points of view. Has anyone else
thought about this?

Here's a sort of half-baked solution I'm thinking of using to combine both:

2000-01-01 * "Stock is granted"
  Income:Stock:Grant                              -1 ACME
  Income:Stock:Vesting                             1 ACME

2001-01-01 * "A year later, I get the stock" ^vest-2001-01-01
  Income:Stock:Vesting                            -1 ACME
  Assets:Brokerage                                 1 ACME

2001-01-01 * "The tax authority sees it differently" ^vest-2001-01-01
  Equity:Adjust-for-tax:Income                     1 ACME
  Equity:Adjust-for-tax:Income                  -100 CAD
  Equity:Adjust-for-tax:Trade

To compute my income from a tax point of view, I can add together
Income and Equity:Adjust-for-tax:Income and get -100 CAD.

It would be nice if I could get beancount to enforce that the
"Equity:Adjust-for-tax:Income 1 ACME" split exactly balances the
"Income:Stock:Vesting -1 ACME" split to catch mistakes. I think I
could do something like as follows:

enforce_internally_balanced Income:Stock:Vesting
Equity:Adjust-for-tax:Income:Vesting
enforce_internally_balanced Equity:Adjust-for-tax

2001-01-01 * "A year later, I get the stock"
  Income:Stock:Vesting                            -1 ACME
  Assets:Brokerage                                 1 ACME
  Equity:Adjust-for-tax:Income:Vesting             1 ACME
  Equity:Adjust-for-tax:Income                  -100 CAD
  Equity:Adjust-for-tax:Trade

where "enforce_internally_balanced" would be directive (defined by a
new plugin) that enforces that every transaction is balanced within
the specified set of accounts.

I think something along these lines will work for me, but it feels
like a hack. I wonder if there is something better I could be doing.

James

-- 
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 on the web visit 
https://groups.google.com/d/msgid/beancount/CAHpmPOApBb6GyZaiu4fRYVXH%2BVxexnbE8ACLC3pdpTo5E8xJ3A%40mail.gmail.com.

Reply via email to