Tag override at transaction level

Hi there,

I’d like to propose a feature that I’d personally find very helpful - the ability to override tags at the transaction level. I understand that, at the transaction level, tags are inherited from the asset and the account, and we can already add additional tags, but it doesn’t seem like we can remove auto-inherited tags.

It would be helpful for strategy tracking/benchmarking purposes. I have a use case where most of the times I buy a particular asset in a particular account as per of a specific investment strategy but in some cases I also buy the same asset in the same account as part of a different investment strategy (in lieu of another asset I can’t efficiently buy). I use tags for each strategy and I need to be able to change those tags for those specific transactions.

Thanks!

Hey Francois, thanks for a detailed proposal.

There indeed could be a toggle to disable inheritance, but there’s one important caveat that makes this feature tricky - and also the reason what it isn’t implemented that way.

Capitally does all calculations on Position Units, which have an opening and (optionally) closing transaction. They’re matched together in the FIFO order and transactions may be applied in fractions - as both have to have the same size. So the user has no control over how they’re created.

Any metrics and filtering is done on the Units, not transactions. A unit inherits tags from both transactions. So even if you would specify a different set on the Buy, the Sell could reintroduce the tags back. Good luck understanding what’s going on :wink:

To overcome this, you would need to be able to select the Unit you’re closing, but this might be very wrong from the tax perspective.

Another way, would be to create two sub-accounts and group them within an Account Folder - with the new dividends support (Early Access) you can assign tags to specific Account+Asset pairs. But this again may be wrong from the tax perspective (you get two separate FIFO queues).

The last I can think of, but maybe a right solution, would be to add two properties to filter on - Opening Transaction Tags and Closing Transaction Tags. That would filter the Unit based on only the transaction tags. Then in your particular case, you could have two filters:

Strategy A:

  • (Tags includes Strategy/A AND Opening Tags exclude Strategy) OR Opening Tags include Strategy/A)

This would work with any amount of strategies - with a filter for each one.

This actually pretty easy to implement, doesn’t affect taxes and doesn’t introduce confusion. One caveat, is that the Tags view would mash both strategies together as it’s currently doing.

WDYT?

Hi Rafal,

I didn’t realize there would be a link between tags and tax calculations, but it may be because I don’t use that feature…

Your last option, with the opening and closing transaction tags, seems similar (or same?) as the hacky way I was thinking of using to work around the issue:

  • given an asset tagged as “Strategy A”, with the transactions inheriting that tag (and the exception to the rule where for a few transactions I need to override the inherited tag and tag the transactions as “Strategy B” instead)
  • I was thinking, at the transaction level, of adding two tags:
    • a tag called something like ''Untag Strategy A"
    • another one called “Strategy B”
  • Then to see strategy A, I’d use the filter "Tags includes ‘Strategy A’ and Tags does not include ‘Untag Strategy A’ (aka base case, that’s indeed Strategy A)
  • For Strategy B, I’d use the filter “Tags includes ‘Strategy B’” (whether it comes from the asset or transaction level)

Does it make sense? But not sure how that may break upon transaction closure, based on what you said. Another issue would be that I would need to use filters, instead of being able to just “drill down” through clicking.

Really hoping there’s a cleaner way, with no impact to tax calculations :-).

Thanks,
Francois

On second thought, how about, for that particular asset, not setting a tag at the asset level, but tagging each transaction individually with ‘Strategy A’ or ‘Strategy B’ - would that work?

Thanks!

Yeah, that’s a bummer.

Sure it would. I didn’t bring that up as I thought you didn’t want to do that :joy:

But actually it’s quite easy, as you may assign tags in bulk by selecting many transactions. Just remember to assign to Buys only.

On another note, Capitally will have notion of strategies in the future, so there will be a way to tag and analyze them then.

Taxonomies are also built in a way where it’s possible to add new ones, even custom ones, which could solve this as well - think of a single choice strategy field on account, asset and buy transaction where the last one wins.

I’ll think of something, and in the meantime it’s best to tag each buy if you can (that’s how I actually thought it should work for now).

Ok, appreciate all the details! I just went ahead with removing the tag at the asset level and adding them at the transaction level (buys only).

When the feature for taxonomies at the transaction level is released, I’ll give it a shot as well to see which solution I like best.

Thanks,
Francois

1 Like