Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: Support multi-currency syncing for Investment account portfolios #1087

Open
zachgoll opened this issue Aug 13, 2024 · 0 comments · May be fixed by #1088
Open

Feature: Support multi-currency syncing for Investment account portfolios #1087

zachgoll opened this issue Aug 13, 2024 · 0 comments · May be fixed by #1088
Assignees

Comments

@zachgoll
Copy link
Collaborator

zachgoll commented Aug 13, 2024

#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)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: In Progress
Development

Successfully merging a pull request may close this issue.

1 participant