On Thu, Mar 4, 2021 at 4:01 PM James Cook <[email protected]> wrote:

> Hi list,
>
> I file taxes in both the US and Canada, for which I have to calculate
> capital gains differently:
>
> a) In Canada I'm deemed to have bought most of my assets on the date I
>    moved here. There's no such fiction on my US taxes.
>

That's fascinating. So you have two completely independent cost bases?
Crazy.
Say, you bought AMZN at $2000, moved to Canada when it was $2600 (say this
was $3100 CAD at the time), an AMZN is now at $3000, you have
- A $1000 unrealized gain to the US
- Say, the 3100 CAD is now worth 3120 CAD due to currency fluctuation, you
have a (1.2 x 3000 - 3100) unrealized gain to Canada
Now you sell 1 share of it.
You have two separate P/L.

Is that right?




> b) When calculating capital gains, Canada taxes use average cost
>    booking; for the US I can somewhat choose the booking method.
>

On top of that... so in the US you'll book one way, in Canada another way.
Christ...




> Has anyone dealt with this using beancount? My tentative plan is below,
> but suggestions would be welcome.
>
> Plan:
>
> * In beancount, I'll enter all data from the US point of view:
>   individual lots get bought and sold, and it should be straightforward
>   to use beancount to compute my capital gains for US taxes.
>

Taking care of commissions by hand, always (we haven't really automated
that problem).



> * In Canada, I will take advantage of the fact that average cost
>   booking is more-or-less deterministic: there are (almost) no choices
>   for me to make, so it should be possible to construct the average
>   cost basis just from the beancount leger after discarding all the lot
>   information.
>
>   So: I'll cobble together some custom code, probably involving
>   bean-query, to compute the average cost for each of my sales. I'm not
>   afraid to write a bit of code, but I'm not sure how much effort this
>   will be.
>

I think you're  going to need a script for that.
What you could do is write a script which iterates through your
transactions and computes and maintains the running Canadian basis on the
side - in a mirrored hierarchy of Inventory objects (see "realization" in
the source code).



> * (It's tempting to just use average-cost booking for the US so things
>   agree in both countries, but one problem with that is point (a)
>   above.)
>

Don't do that... with the recent runup in the market, this could make a
significant difference in taxes.



>
> Alternative ideas:
>
> * Maintain separate Beancount ledgers for both countries.
>
> * Write some weird plugin to facilitate average cost basis tracking
>   even while I'm using beancount's standard lot tracking to do things
>   from the USA point of view.
>
> * Do the Canada stuff by hand. It's probably not that bad.
>
> * Pay someone to do my taxes for me. Last year that cost me a few
>   thousand dollars, and this year I'd rather spend a few days tinkering
>   than pay that.
>

Honestly, I'm not even sure most accountants are able to do this without
making a mistake in a timeframe where it's still profitable for them to do
your taxes. What I've seen is a lot of approximations.

I think writing a script like I mention above would be a fun challenge...



> Currently I've been ignoring Beancount's lot-tracking features partly
> because of this issue, but the time has come for me to import a bunch
> of my trades so I think it's time for me to figure out how I'm going to
> do this.
>
> --
> 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/20210304210142.xiq427y5uzhasz64%40moth.falsifian.org
> .
>

-- 
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/CAK21%2BhMP-vuPXxokjCq%2B-8P%3D%2B06%3DN9AFfVHADFXZkBqXoKFBAA%40mail.gmail.com.

Reply via email to