maybe
maybe copied to clipboard
Feature: Support multi-currency syncing for Investment account portfolios
#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 correspondingAccount::Entry
- The
currency
field onAccount::Trade
is a denormalized field that tells us what currency theprice
is in (Account::Trade) and what currency theamount
is in (Account::Entry). Therefore, it should never differ.
- The
- 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 convertingAccount::Balance
records)