Skip to content

Support Self-directed RRIF and Self-directed spousal RRSP Account Types #6

@aGrimRepoMan

Description

@aGrimRepoMan

Could self-directed RRIF and self-directed spousal RRSP account types be added to method _account_add_description() in wealthsimple_api.py?
They currently generate the "Unknown account" message when encountered by the test client.

Below are the associated account dicts as displayed by the test client. I indicate any dict key value redactions I made by:
<redacted1>, <redacted2>, etc.
I also suggest potential approach, but I'm sure you'll have better ones!

  1. Self-Directed RRIF
    • Unknown account dict:
      Unknown account: {'id': 'rrif-<redacted1>', 'archivedAt': None, 'branch': 'TR', 'closedAt': None, 'createdAt': '<redacted2>', 'cacheExpiredAt': '<redacted3>', 'currency': 'CAD', 'requiredIdentityVerification': 'fintracVerification', 'unifiedAccountType': 'SELF_DIRECTED_RRIF', 'supportedCurrencies': ['CAD'], 'nickname': None, 'status': 'open', 'accountOwnerConfiguration': None, 'accountFeatures': [{'name': 'SELF_DIRECTED', 'enabled': True, '__typename': 'AccountFeature'}], 'accountOwners': [{'accountId': 'rrif-<redacted1>', 'identityId': 'identity-<redacted4>', 'accountNickname': None, 'clientCanonicalId': 'user-<redacted5>', 'accountOpeningAgreementsSigned': True, 'name': '<redacted6>', 'email': '<redacted7>', 'ownershipType': 'primary', 'activeInvitation': None, 'sentInvitations': [], '__typename': 'AccountOwner'}], 'type': 'rrif', '__typename': 'Account', 'custodianAccounts': [{'id': '<redacted8>', 'branch': 'TR', 'custodian': 'so', 'status': 'open', 'updatedAt': '<redacted9>', '__typename': 'CustodianAccount', 'financials': {'current': {'deposits': {'amount': '<redacted10>', 'cents': <redacted11>, 'currency': 'CAD', '__typename': 'Money'}, 'earnings': {'amount': '<redacted12>', 'cents': -<redacted13>, 'currency': 'CAD', '__typename': 'Money'}, 'netDeposits': {'amount': '<redacted14>', 'cents': <redacted15>, 'currency': 'CAD', '__typename': 'Money'}, 'netLiquidationValue': {'amount': '<redacted16>', 'cents': <redacted17>, 'currency': 'CAD', '__typename': 'Money'}, 'withdrawals': {'amount': '<redacted18>', 'cents': <redacted19>, 'currency': 'CAD', '__typename': 'Money'}, '__typename': 'CustodianAccountCurrentFinancialValues'}, '__typename': 'CustodianAccountFinancialsSo'}}], 'linkedAccount': None, 'financials': {'currentCombined': {'id': 'rrif-<redacted1>-CAD', 'netLiquidationValue': {'amount': '<redacted20>', 'cents': <redacted21>, 'currency': 'CAD', '__typename': 'Money'}, 'netDeposits': {'amount': '<redacted22>', 'cents': <redacted23>, 'currency': 'CAD', '__typename': 'Money'}, 'simpleReturns': {'amount': {'amount': '-<redacted24>', 'cents': -<redacted25>, 'currency': 'CAD', '__typename': 'Money'}, 'asOf': None, 'rate': '-<redacted26>', 'referenceDate': '1970-01-01', '__typename': 'SimpleReturns'}, 'totalDeposits': {'amount': '<redacted27>', 'cents': <redacted28>, 'currency': 'CAD', '__typename': 'Money'}, 'totalWithdrawals': {'amount': '<redacted29>', 'cents': <redacted29>, 'currency': 'CAD', '__typename': 'Money'}, '__typename': 'AccountCurrentFinancials'}, '__typename': 'AccountFinancials'}, 'number': '<redacted30>', 'description': 'SELF_DIRECTED_RRIF'}

    • Potential approach:

        elif account['unifiedAccountType'] == 'SELF_DIRECTED_RRIF':
             account['description'] = f"RRIF: self-directed – {account['currency']}”
  1. Self-Directed Spousal RRSP
    • Unknown account dict:
      Unknown account: {'id': 'spousal-rrsp-<redacted1>', 'archivedAt': None, 'branch': 'TR', 'closedAt': None, 'createdAt': '<redacted2>', 'cacheExpiredAt': '<redacted3>', 'currency': 'CAD', 'requiredIdentityVerification': 'fintracVerification', 'unifiedAccountType': 'SELF_DIRECTED_SPOUSAL_RRSP', 'supportedCurrencies': ['CAD'], 'nickname': '', 'status': 'open', 'accountOwnerConfiguration': 'MULTI_OWNER', 'accountFeatures': [{'name': 'SELF_DIRECTED', 'enabled': True, '__typename': 'AccountFeature'}], 'accountOwners': [{'accountId': 'spousal-rrsp-<redacted1>', 'identityId': 'identity-<redacted4>', 'accountNickname': '', 'clientCanonicalId': 'user-<redacted5>', 'accountOpeningAgreementsSigned': True, 'name': '<redacted6>', 'email': '<redacted7>', 'ownershipType': 'contributor', 'activeInvitation': {'id': 'account_owner_invitation-<redacted8>', 'createdAt': '<redacted9>', 'inviteeName': '<redacted10>', 'inviteeEmail': '<redacted11>', 'inviterName': '<redacted12>', 'inviterEmail': '<redacted13>', 'updatedAt': '<redacted14>', 'sentAt': '<redacted15>', 'status': 'ACCEPTED', '__typename': 'AccountOwnerInvitation'}, 'sentInvitations': [], '__typename': 'AccountOwner'}, {'accountId': 'spousal-rrsp-<redacted1>', 'identityId': 'identity-<redacted16>', 'accountNickname': '', 'clientCanonicalId': 'user-<redacted17>', 'accountOpeningAgreementsSigned': True, 'name': '<redacted18>', 'email': '<redacted19>', 'ownershipType': 'primary', 'activeInvitation': None, 'sentInvitations': [{'id': 'account_owner_invitation-<redacted20>', 'createdAt': '<redacted21>', 'inviteeName': '<redacted22>', 'inviteeEmail': '<redacted23>', 'inviterName': '<redacted6>'24 'inviterEmail': '<redacted25>', 'updatedAt': '<redacted26>', 'sentAt': '<redacted27>', 'status': 'ACCEPTED', '__typename': 'AccountOwnerInvitation'}], '__typename': 'AccountOwner'}], 'type': 'spousal_rrsp', '__typename': 'Account', 'custodianAccounts': [{'id': '<redacted28>', 'branch': 'TR', 'custodian': 'so', 'status': 'open', 'updatedAt': '<redacted29>', '__typename': 'CustodianAccount', 'financials': {'current': {'deposits': {'amount': '<redacted20>', 'cents': <redacted31>, 'currency': 'CAD', '__typename': 'Money'}, 'earnings': {'amount': '-<redacted32>', 'cents': -<redacted33>, 'currency': 'CAD', '__typename': 'Money'}, 'netDeposits': {'amount': '<redacted34>', 'cents': <redacted35>, 'currency': 'CAD', '__typename: 'Money'}, 'netLiquidationValue': {'amount': '<redacted36>', 'cents': <redacted37>, 'currency': 'CAD', '__typename': 'Money'}, 'withdrawals': {'amount': '<redacted38>', 'cents': <redacted39>, 'currency': 'CAD', '__typename': 'Money'}, '__typename': 'CustodianAccountCurrentFinancialValues'}, '__typename': 'CustodianAccountFinancialsSo'}}], 'linkedAccount': None, 'financials': {'currentCombined': {'id': 'spousal-rrsp-<redacted1>-CAD', 'netLiquidationValue': {'amount': '<redacted40>', 'cents': <redacted41>, 'currency': 'CAD', '__typename': 'Money'}, 'netDeposits': {'amount': '<redacted43>', 'cents': <redacted44>, 'currency': 'CAD', '__typename': 'Money'}, 'simpleReturns': {'amount': {'amount': '-<redacted45>', 'cents': -<redacted46>, 'currency': 'CAD', '__typename': 'Money'}, 'asOf': None, 'rate': '-<redacted47>', 'referenceDate': '1970-01-01', '__typename': 'SimpleReturns'}, 'totalDeposits': {'amount': '<redacted48>', 'cents': <redacted49>, 'currency': 'CAD', '__typename': 'Money'}, 'totalWithdrawals': {'amount': '<redacted50>', 'cents': <redacted51>, 'currency': 'CAD', '__typename': 'Money'}, '__typename': 'AccountCurrentFinancials'}, '__typename': 'AccountFinancials'}, 'number': '<redacted51>', 'description': 'SELF_DIRECTED_SPOUSAL_RRSP'}

    • Potential approach:

        elif account['unifiedAccountType'] == 'SELF_DIRECTED_SPOUSAL_RRSP':
             account['description'] = f"RRSP: self-directed spousal – {account['currency']}"

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions