maybe icon indicating copy to clipboard operation
maybe copied to clipboard

Feature: Support multi-currency syncing for Investment account portfolios

Open zachgoll opened this issue 6 months ago • 0 comments

#1066 introduced basic, USD-only investment portfolio support.

Synth, our security prices and exchange rates provider integration will return all security prices in USD.

Because of this, Account::Trade entries that are entered in a non-USD currency will not be properly calculated when syncing account holdings and will require a currency conversion of the stock prices in order to calculate historical holding values.

Requirements

  • An Account::Trade must have the same currency as its corresponding Account::Entry
    • The currency field on Account::Trade is a denormalized field that tells us what currency the price is in (Account::Trade) and what currency the amount is in (Account::Entry). Therefore, it should never differ.
  • Account holdings must be generated in the account's currency and displayed to the user in that currency
  • Account Trades will be displayed in whatever currency they were executed in (similar to transactions)
  • If investment account currency does not match the family currency, Account::Holding records will need to be bulk-converted to the family currency at the end of the sync process (same as how we're converting Account::Balance records)

zachgoll avatar Aug 13 '24 18:08 zachgoll